repackage stuff into domains

This commit is contained in:
wkrzywiec
2020-05-20 16:52:06 +02:00
parent 4b1fa6048d
commit fe0dd60540
53 changed files with 209 additions and 175 deletions

1
.gitignore vendored
View File

@@ -31,3 +31,4 @@ build/
### VS Code ###
.vscode/
sendgrid.env

View File

@@ -1,11 +1,11 @@
package io.wkrzywiec.hexagonal.library.application;
package io.wkrzywiec.hexagonal.library.inventory;
import io.restassured.RestAssured;
import io.restassured.response.ValidatableResponse;
import io.wkrzywiec.hexagonal.library.TestData;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookEntity;
import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookEntity;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

View File

@@ -1,16 +1,16 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing;
package io.wkrzywiec.hexagonal.library.borrowing;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.MakeBookAvailableCommand;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.ActiveUserNotFoundException;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.AvailableBookNotFoundExeption;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming.MakeBookAvailable;
import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming.ReserveBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing.BorrowingDatabase;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.MakeBookAvailableCommand;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.borrowing.model.exception.ActiveUserNotFoundException;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.exception.AvailableBookNotFoundExeption;
import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.borrowing.ports.incoming.MakeBookAvailable;
import io.wkrzywiec.hexagonal.library.borrowing.ports.incoming.ReserveBook;
import io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing.BorrowingDatabase;
public class BorrowingFacade implements MakeBookAvailable, ReserveBook {

View File

@@ -1,11 +1,11 @@
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
package io.wkrzywiec.hexagonal.library.borrowing.infrastructure;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationId;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing.BorrowingDatabase;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationId;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing.BorrowingDatabase;
import lombok.AllArgsConstructor;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;

View File

@@ -1,6 +1,6 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.TooManyBooksAssignedToUserException;
import io.wkrzywiec.hexagonal.library.borrowing.model.exception.TooManyBooksAssignedToUserException;
import lombok.EqualsAndHashCode;
import lombok.ToString;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import lombok.EqualsAndHashCode;
import lombok.ToString;

View File

@@ -0,0 +1,5 @@
package io.wkrzywiec.hexagonal.library.borrowing.model;
public interface Book {
Long getIdAsLong();
}

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import lombok.EqualsAndHashCode;
import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import lombok.EqualsAndHashCode;
import lombok.ToString;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
package io.wkrzywiec.hexagonal.library.borrowing.model;
import lombok.EqualsAndHashCode;
import lombok.ToString;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception;
package io.wkrzywiec.hexagonal.library.borrowing.model.exception;
public class ActiveUserNotFoundException extends RuntimeException {
public ActiveUserNotFoundException(Long bookId){

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception;
package io.wkrzywiec.hexagonal.library.borrowing.model.exception;
public class AvailableBookNotFoundExeption extends RuntimeException {
public AvailableBookNotFoundExeption(Long bookId){

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception;
package io.wkrzywiec.hexagonal.library.borrowing.model.exception;
public class TooManyBooksAssignedToUserException extends RuntimeException {
public TooManyBooksAssignedToUserException(Long userId){

View File

@@ -0,0 +1,7 @@
package io.wkrzywiec.hexagonal.library.borrowing.ports.incoming;
import io.wkrzywiec.hexagonal.library.borrowing.model.MakeBookAvailableCommand;
public interface MakeBookAvailable {
void handle(MakeBookAvailableCommand bookAvailableCommand);
}

View File

@@ -0,0 +1,7 @@
package io.wkrzywiec.hexagonal.library.borrowing.ports.incoming;
import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand;
public interface ReserveBook {
Long handle(BookReservationCommand bookReservation);
}

View File

@@ -0,0 +1,15 @@
package io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook;
import java.util.Optional;
public interface BorrowingDatabase {
void setBookAvailable(Long bookId);
Optional<AvailableBook> getAvailableBook(Long bookId);
Optional<ActiveUser> getActiveUser(Long userId);
ReservationDetails save(ReservedBook reservedBook);
}

View File

@@ -1,5 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
public interface Book {
Long getIdAsLong();
}

View File

@@ -1,5 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.model;
public class EmailCreator {
}

View File

@@ -1,7 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.MakeBookAvailableCommand;
public interface MakeBookAvailable {
void handle(MakeBookAvailableCommand bookAvailableCommand);
}

View File

@@ -1,7 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.incoming;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand;
public interface ReserveBook {
Long handle(BookReservationCommand bookReservation);
}

View File

@@ -1,15 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
import java.util.Optional;
public interface BorrowingDatabase {
void setBookAvailable(Long bookId);
Optional<AvailableBook> getAvailableBook(Long bookId);
Optional<ActiveUser> getActiveUser(Long userId);
ReservationDetails save(ReservedBook reservedBook);
}

View File

@@ -1,9 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
public interface EmailSender {
void sendReservationConfirmationEmail(ReservationDetails reservationDetails);
}

View File

@@ -1,7 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand;
public interface AddNewBook {
void handle(AddNewBookCommand addNewBookCommand);
}

View File

@@ -1,7 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
public interface GetBookDetails {
BookDetailsDTO handle(String bookId);
}

View File

@@ -1,7 +0,0 @@
package io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
public interface InventoryDatabase {
void save(BookDetailsDTO newBookDTO);
}

View File

@@ -0,0 +1,4 @@
package io.wkrzywiec.hexagonal.library.email;
public class EmailContent {
}

View File

@@ -0,0 +1,10 @@
package io.wkrzywiec.hexagonal.library.email;
class EmailCreator {
// EmailContent prepareEmailContent() {
// // email to
// // email from
// //
// }
}

View File

@@ -0,0 +1,7 @@
package io.wkrzywiec.hexagonal.library.email;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
public interface EmailSender {
void sendReservationConfirmationEmail(ReservationDetails reservationDetails);
}

View File

@@ -0,0 +1,33 @@
package io.wkrzywiec.hexagonal.library.email;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
public class SendGridEmailSender implements EmailSender {
@Override
public void sendReservationConfirmationEmail(ReservationDetails reservationDetails) {
// email address - to
// repl9oservation id
// book title`
// Email from = new Email("test@example.com");
// String subject = "Sending with SendGrid is Fun";
// Email to = new Email("test@example.com");
// Content content = new Content("text/plain", "and easy to do anywhere, even with Java");
// Mail mail = new Mail(from, subject, to, content);
//
// SendGrid sg = new SendGrid(System.getenv("SENDGRID_API_KEY"));
// Request request = new Request();
// try {
// request.setMethod(Method.POST);
// request.setEndpoint("mail/send");
// request.setBody(mail.build());
// Response response = sg.api(request);
// System.out.println(response.getStatusCode());
// System.out.println(response.getBody());
// System.out.println(response.getHeaders());
// } catch (IOException ex) {
//
// }
}
}

View File

@@ -1,10 +1,10 @@
package io.wkrzywiec.hexagonal.library.domain.inventory;
package io.wkrzywiec.hexagonal.library.inventory;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming.AddNewBook;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.InventoryDatabase;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.inventory.ports.incoming.AddNewBook;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.InventoryDatabase;
public class InventoryFacade implements AddNewBook{

View File

@@ -1,7 +1,7 @@
package io.wkrzywiec.hexagonal.library.application;
package io.wkrzywiec.hexagonal.library.inventory.application;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming.AddNewBook;
import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.inventory.ports.incoming.AddNewBook;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.inventory.dto;
package io.wkrzywiec.hexagonal.library.inventory.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.domain.inventory.dto;
package io.wkrzywiec.hexagonal.library.inventory.dto;
import lombok.Builder;
import lombok.EqualsAndHashCode;

View File

@@ -1,10 +1,10 @@
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;

View File

@@ -1,10 +1,10 @@
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.InventoryDatabase;
import io.wkrzywiec.hexagonal.library.infrastructure.repository.AuthorEntiy;
import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookEntity;
import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookRepository;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.InventoryDatabase;
import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.AuthorEntiy;
import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookEntity;
import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookRepository;
import lombok.RequiredArgsConstructor;
import java.util.List;

View File

@@ -1,10 +1,8 @@
package io.wkrzywiec.hexagonal.library.infrastructure;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure;
import io.wkrzywiec.hexagonal.library.domain.inventory.InventoryFacade;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.incoming.AddNewBook;
import io.wkrzywiec.hexagonal.library.infrastructure.adapter.GoogleBooksAdapter;
import io.wkrzywiec.hexagonal.library.infrastructure.adapter.InventoryDatabaseAdapter;
import io.wkrzywiec.hexagonal.library.infrastructure.repository.BookRepository;
import io.wkrzywiec.hexagonal.library.inventory.InventoryFacade;
import io.wkrzywiec.hexagonal.library.inventory.ports.incoming.AddNewBook;
import io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository.BookRepository;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.infrastructure.repository;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository;
import lombok.Builder;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.infrastructure.repository;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@@ -1,4 +1,4 @@
package io.wkrzywiec.hexagonal.library.infrastructure.repository;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure.repository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

View File

@@ -0,0 +1,7 @@
package io.wkrzywiec.hexagonal.library.inventory.ports.incoming;
import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand;
public interface AddNewBook {
void handle(AddNewBookCommand addNewBookCommand);
}

View File

@@ -0,0 +1,7 @@
package io.wkrzywiec.hexagonal.library.inventory.ports.outgoing;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
public interface GetBookDetails {
BookDetailsDTO handle(String bookId);
}

View File

@@ -0,0 +1,7 @@
package io.wkrzywiec.hexagonal.library.inventory.ports.outgoing;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
public interface InventoryDatabase {
void save(BookDetailsDTO newBookDTO);
}

View File

@@ -1,7 +1,6 @@
package io.wkrzywiec.hexagonal.library;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import java.util.Collections;

View File

@@ -1,13 +1,12 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing;
package io.wkrzywiec.hexagonal.library.borrowing;
import io.wkrzywiec.hexagonal.library.ReservationTestData;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.MakeBookAvailableCommand;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.ActiveUserNotFoundException;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.AvailableBookNotFoundExeption;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.exception.TooManyBooksAssignedToUserException;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand;
import io.wkrzywiec.hexagonal.library.borrowing.model.MakeBookAvailableCommand;
import io.wkrzywiec.hexagonal.library.borrowing.model.exception.ActiveUserNotFoundException;
import io.wkrzywiec.hexagonal.library.borrowing.model.exception.AvailableBookNotFoundExeption;
import io.wkrzywiec.hexagonal.library.borrowing.model.exception.TooManyBooksAssignedToUserException;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

View File

@@ -1,11 +1,11 @@
package io.wkrzywiec.hexagonal.library.domain.borrowing;
package io.wkrzywiec.hexagonal.library.borrowing;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationId;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.ports.outgoing.BorrowingDatabase;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationId;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.borrowing.ports.outgoing.BorrowingDatabase;
import java.util.Optional;
import java.util.Random;

View File

@@ -1,10 +1,9 @@
package io.wkrzywiec.hexagonal.library;
package io.wkrzywiec.hexagonal.library.borrowing;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.Book;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.BookReservationCommand;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.BookReservationCommand;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook;
import java.util.ArrayList;

View File

@@ -1,11 +1,10 @@
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
package io.wkrzywiec.hexagonal.library.borrowing.infrastructure;
import io.wkrzywiec.hexagonal.library.TestData;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservationId;
import io.wkrzywiec.hexagonal.library.domain.borrowing.model.ReservedBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.ActiveUser;
import io.wkrzywiec.hexagonal.library.borrowing.model.AvailableBook;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservationDetails;
import io.wkrzywiec.hexagonal.library.borrowing.model.ReservedBook;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -13,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.Map;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.assertEquals;

View File

@@ -1,8 +1,8 @@
package io.wkrzywiec.hexagonal.library.domain.inventory;
package io.wkrzywiec.hexagonal.library.inventory;
import io.wkrzywiec.hexagonal.library.TestData;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails;
import java.util.HashMap;
import java.util.Map;

View File

@@ -1,7 +1,7 @@
package io.wkrzywiec.hexagonal.library.domain.inventory;
package io.wkrzywiec.hexagonal.library.inventory;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.InventoryDatabase;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.InventoryDatabase;
import java.util.concurrent.ConcurrentHashMap;

View File

@@ -1,9 +1,9 @@
package io.wkrzywiec.hexagonal.library.domain.inventory;
package io.wkrzywiec.hexagonal.library.inventory;
import io.wkrzywiec.hexagonal.library.TestData;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.domain.inventory.ports.outgoing.GetBookDetails;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.dto.AddNewBookCommand;
import io.wkrzywiec.hexagonal.library.inventory.ports.outgoing.GetBookDetails;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

View File

@@ -1,7 +1,7 @@
package io.wkrzywiec.hexagonal.library.infrastructure.adapter;
package io.wkrzywiec.hexagonal.library.inventory.infrastructure;
import io.wkrzywiec.hexagonal.library.TestData;
import io.wkrzywiec.hexagonal.library.domain.inventory.dto.BookDetailsDTO;
import io.wkrzywiec.hexagonal.library.inventory.dto.BookDetailsDTO;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;