diff --git a/wine-production/pom.xml b/wine-production/pom.xml index 9b83f74de3771d58e397c241698cb069fdb43ce7..e8613e4c2253d364a3cf6280c30abe8fc2292694 100644 --- a/wine-production/pom.xml +++ b/wine-production/pom.xml @@ -62,6 +62,16 @@ <artifactId>spring-boot-starter-data-jpa</artifactId> <version>3.2.2</version> </dependency> + <dependency> + <groupId>jakarta.validation</groupId> + <artifactId>jakarta.validation-api</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-openfeign-core</artifactId> + <version>4.1.1</version> + <scope>compile</scope> + </dependency> </dependencies> </project> diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/WineProduction.java b/wine-production/src/main/java/cz/muni/fi/pa165/WineProduction.java index 5948d42bc5e44466d8bceb7a0bc8865480d0214a..382b4bdefecf7f0840e356feee19940da4f64fed 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/WineProduction.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/WineProduction.java @@ -3,9 +3,11 @@ package cz.muni.fi.pa165; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.cloud.openfeign.EnableFeignClients; @EntityScan(basePackages = {"cz.muni.fi.pa165"}) @SpringBootApplication +@EnableFeignClients public class WineProduction { public static void main(String[] args) { SpringApplication.run(WineProduction.class, args); diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/client/InventoryManagementClient.java b/wine-production/src/main/java/cz/muni/fi/pa165/client/InventoryManagementClient.java new file mode 100644 index 0000000000000000000000000000000000000000..13c5b0acbcb2532bb3258a74d3cf1e11678de009 --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/client/InventoryManagementClient.java @@ -0,0 +1,16 @@ +package cz.muni.fi.pa165.client; + +import cz.muni.fi.pa165.model.DTO.GrapeDTO; +import cz.muni.fi.pa165.model.DTO.IngredientDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@FeignClient(name = "InventoryManagementClient", url = "$inventory-management.url") +public interface InventoryManagementClient { + @GetMapping("/ingredient/{name}") + IngredientDTO ingredientByName(@PathVariable String name); + + @GetMapping("/grape/{code}") + GrapeDTO grapeByCode(@PathVariable String code); +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionProcessAPI.java b/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionProcessAPI.java index 0e8fc40bc0be4642442d53e1c732cf43f6ed6ae1..0a819ec31004b04693b691821f038129f5a3235e 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionProcessAPI.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionProcessAPI.java @@ -1,7 +1,7 @@ package cz.muni.fi.pa165.controller; -import cz.muni.fi.pa165.facade.productionProcess.ProductionProcessFacade; -import cz.muni.fi.pa165.model.DTO.IngredientDTO; +import cz.muni.fi.pa165.facade.productionprocess.ProductionProcessFacade; +import cz.muni.fi.pa165.model.DTO.ProductDTO; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -82,4 +82,21 @@ public class ProductionProcessAPI { @Parameter(description = "ProductionProcess Id") @PathVariable String id) { productionProcessFacade.delete(id); } + + @Operation(summary = "Produce Product") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "Product produced", + content = {@Content(mediaType = "application/json" + )}) + }) + + @PostMapping("/produce/{id}") + public ProductDTO produce( + @Parameter(description = "ProductionProcess Id") @PathVariable String id) { + return productionProcessFacade.produce(id); + }; + + + + } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionStepAPI.java b/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionStepAPI.java index 7c76a3e58d72ae851ad8967a2cefac4f23e9b962..4b29ca21e79158fcc395ece775a1f6ef9bb65cb1 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionStepAPI.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/controller/ProductionStepAPI.java @@ -1,8 +1,7 @@ package cz.muni.fi.pa165.controller; -import cz.muni.fi.pa165.facade.productionStep.ProductionStepFacade; -import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; +import cz.muni.fi.pa165.facade.productionstep.ProductionStepFacade; import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/Mapper.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/Mapper.java new file mode 100644 index 0000000000000000000000000000000000000000..28fbf24717ba1b6ad37457fdcff2956d6d868cc4 --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/Mapper.java @@ -0,0 +1,62 @@ +package cz.muni.fi.pa165.facade; + +import cz.muni.fi.pa165.model.DAO.IngredientDAO; +import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; +import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; +import cz.muni.fi.pa165.model.DTO.IngredientDTO; +import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; +import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class Mapper { + + public IngredientDTO mapToIngredientDTO(IngredientDAO ingredientDAO) { + return new IngredientDTO( + ingredientDAO.getName(), + ingredientDAO.getQuantity(), + ingredientDAO.getQuantityUnit() + ); + } + + public List<IngredientDTO> mapToIngredientDTOList(List<IngredientDAO> daoList) { + return daoList.stream() + .map(this::mapToIngredientDTO) + .collect(Collectors.toList()); + } + + public ProductionProcessDTO mapToProductionProcessDTO(ProductionProcessDAO productionProcessDAO) { + return new ProductionProcessDTO( + productionProcessDAO.getName(), + productionProcessDAO.getProductionSteps(), + productionProcessDAO.getDifficulty() + ); + } + + public List<ProductionProcessDTO> mapToProductionProcessDTOList(List<ProductionProcessDAO> daoList) { + return daoList.stream() + .map(this::mapToProductionProcessDTO) + .collect(Collectors.toList()); + } + + public ProductionStepDTO mapToProductionStepDTO(ProductionStepDAO productionStepDAO) { + return new ProductionStepDTO( + productionStepDAO.getName(), + productionStepDAO.getDuration(), + productionStepDAO.getDurationUnit(), + productionStepDAO.getIngredients() + + ); + } + + public List<ProductionStepDTO> mapToProductionStepDTOList(List<ProductionStepDAO> daoList) { + return daoList.stream() + .map(this::mapToProductionStepDTO) + .collect(Collectors.toList()); + } + + +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacade.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacade.java index 9a1a0373b7d8a7b51360f8b53b6182cefa766937..2e392ac852f7b76ce9015c66eb8b52c465cdf9a5 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacade.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacade.java @@ -1,5 +1,6 @@ package cz.muni.fi.pa165.facade.ingredient; +import cz.muni.fi.pa165.model.DAO.IngredientDAO; import cz.muni.fi.pa165.model.DTO.IngredientDTO; import java.util.List; diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacadeImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacadeImpl.java index caa7ea24d13d8d1cf4403c4113ff806f3dce5ed5..cf695c52dbfaad154db6c6dc00dd81b07914d726 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacadeImpl.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/ingredient/IngredientFacadeImpl.java @@ -1,5 +1,6 @@ package cz.muni.fi.pa165.facade.ingredient; +import cz.muni.fi.pa165.facade.Mapper; import cz.muni.fi.pa165.model.DAO.IngredientDAO; import cz.muni.fi.pa165.model.DTO.IngredientDTO; import cz.muni.fi.pa165.service.ingredient.IngredientService; @@ -7,36 +8,39 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; -import java.util.stream.Collectors; @Service public class IngredientFacadeImpl implements IngredientFacade { private final IngredientService ingredientService; + private final Mapper mapper; + + @Autowired - public IngredientFacadeImpl(IngredientService ingredientService) { + public IngredientFacadeImpl(IngredientService ingredientService, Mapper mapper) { this.ingredientService = ingredientService; + this.mapper = mapper; } @Override public IngredientDTO getById(String id) { - return mapToIngredientDTO(ingredientService.getById(id)); + return mapper.mapToIngredientDTO(ingredientService.getById(id)); } @Override public IngredientDTO create(IngredientDTO ingredientDTO) { - return mapToIngredientDTO(ingredientService.create(ingredientDTO)); + return mapper.mapToIngredientDTO(ingredientService.create(ingredientDTO)); } @Override public List<IngredientDTO> getAll() { - return mapToDTOList(ingredientService.getAll()); + return mapper.mapToIngredientDTOList(ingredientService.getAll()); } @Override public IngredientDTO update(String id, IngredientDTO ingredientDTO) { - return mapToIngredientDTO(ingredientService.update(id, ingredientDTO)); + return mapper.mapToIngredientDTO(ingredientService.update(id, ingredientDTO)); } @Override @@ -44,17 +48,4 @@ public class IngredientFacadeImpl implements IngredientFacade { ingredientService.delete(id); } - private IngredientDTO mapToIngredientDTO(IngredientDAO ingredientDAO) { - return new IngredientDTO( - ingredientDAO.getName(), - ingredientDAO.getQuantity(), - ingredientDAO.getQuantityUnit() - ); - } - - private List<IngredientDTO> mapToDTOList(List<IngredientDAO> daoList) { - return daoList.stream() - .map(this::mapToIngredientDTO) - .collect(Collectors.toList()); - } } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacadeImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacadeImpl.java deleted file mode 100644 index 26712420ae232f1f3cc4ea4e561101ab67cc3f68..0000000000000000000000000000000000000000 --- a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacadeImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -package cz.muni.fi.pa165.facade.productionProcess; - -import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; -import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; -import cz.muni.fi.pa165.service.productionProcess.ProductionProcessService; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; - -import java.net.http.HttpHeaders; -import java.util.List; -import java.util.stream.Collectors; - -@Service -public class ProductionProcessFacadeImpl implements ProductionProcessFacade { - - private final ProductionProcessService productionProcessService; - - - - public ProductionProcessFacadeImpl(ProductionProcessService productionProcessService) { - this.productionProcessService = productionProcessService; - } - - @Override - public ProductionProcessDTO getById(String id) { - return mapToProductionProcessDTO(productionProcessService.getById(id)); - } - - @Override - public ProductionProcessDTO create(ProductionProcessDTO productionProcessDTO) { - return mapToProductionProcessDTO(productionProcessService.create(productionProcessDTO)); - } - - @Override - public List<ProductionProcessDTO> getAll() { - return mapToDTOList(productionProcessService.getAll()); - } - - @Override - public ProductionProcessDTO update(String id, ProductionProcessDTO productionProcessDTO) { - return mapToProductionProcessDTO(productionProcessService.update(id, productionProcessDTO)); - } - - @Override - public void delete(String id) { - productionProcessService.delete(id); - } - - - private ProductionProcessDTO mapToProductionProcessDTO(ProductionProcessDAO productionProcessDAO) { - return new ProductionProcessDTO( - productionProcessDAO.getName(), - productionProcessDAO.getProductionSteps(), - productionProcessDAO.getDifficulty() - ); - } - - private List<ProductionProcessDTO> mapToDTOList(List<ProductionProcessDAO> daoList) { - return daoList.stream() - .map(this::mapToProductionProcessDTO) - .collect(Collectors.toList()); - } - - -} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacadeImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacadeImpl.java deleted file mode 100644 index 850286502cfc9a03ee46655caa7b6f490536dda2..0000000000000000000000000000000000000000 --- a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacadeImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -package cz.muni.fi.pa165.facade.productionStep; - -import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; -import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; -import cz.muni.fi.pa165.service.productionStep.ProductionStepService; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -@Service -public class ProductionStepFacadeImpl implements ProductionStepFacade { - - private final ProductionStepService productionStepService; - - public ProductionStepFacadeImpl(ProductionStepService productionStepService) { - this.productionStepService = productionStepService; - } - - @Override - public ProductionStepDTO getById(String id) { - return mapToProductionStepDTO(productionStepService.getById(id)); - } - - @Override - public ProductionStepDTO create(ProductionStepDTO productionStepDTO) { - return mapToProductionStepDTO(productionStepService.create(productionStepDTO)); - } - - @Override - public List<ProductionStepDTO> getAll() { - return mapToDTOList(productionStepService.getALl()); - } - - @Override - public ProductionStepDTO update(String id, ProductionStepDTO productionStepDTO) { - return mapToProductionStepDTO(productionStepService.update(id, productionStepDTO)); - } - - @Override - public void delete(String id) { - productionStepService.delete(id); - - } - - private ProductionStepDTO mapToProductionStepDTO(ProductionStepDAO productionStepDAO) { - return new ProductionStepDTO( - productionStepDAO.getName(), - productionStepDAO.getDuration(), - productionStepDAO.getDurationUnit(), - productionStepDAO.getIngredients() - - ); - } - - private List<ProductionStepDTO> mapToDTOList(List<ProductionStepDAO> daoList) { - return daoList.stream() - .map(this::mapToProductionStepDTO) - .collect(Collectors.toList()); - } - -} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacade.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacade.java similarity index 75% rename from wine-production/src/main/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacade.java rename to wine-production/src/main/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacade.java index b31e521e280b784f3b1f27560c39d6633c0a6ded..8706cb6686d9be7cfd0287ed684abdb9290b4238 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacade.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacade.java @@ -1,5 +1,6 @@ -package cz.muni.fi.pa165.facade.productionProcess; +package cz.muni.fi.pa165.facade.productionprocess; +import cz.muni.fi.pa165.model.DTO.ProductDTO; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; import java.util.List; @@ -14,6 +15,7 @@ public interface ProductionProcessFacade { ProductionProcessDTO update(String id, ProductionProcessDTO productionProcessDTO); + ProductDTO produce(String id); void delete(String id); diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacadeImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacadeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..c7d28d0fd7c7730e6e85c2baa328f72983d07430 --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacadeImpl.java @@ -0,0 +1,109 @@ +package cz.muni.fi.pa165.facade.productionprocess; + +import cz.muni.fi.pa165.client.InventoryManagementClient; +import cz.muni.fi.pa165.facade.Mapper; +import cz.muni.fi.pa165.facade.ingredient.IngredientFacade; +import cz.muni.fi.pa165.facade.productionstep.ProductionStepFacade; +import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; +import cz.muni.fi.pa165.model.DTO.IngredientDTO; +import cz.muni.fi.pa165.model.DTO.ProductDTO; +import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; +import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; +import cz.muni.fi.pa165.service.productionprocess.ProductionProcessService; +import cz.muni.fi.pa165.service.productionstep.ProductionStepService; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class ProductionProcessFacadeImpl implements ProductionProcessFacade { + + private final ProductionProcessService productionProcessService; + private final InventoryManagementClient inventoryManagementClient; + private final Mapper mapper; + + public ProductionProcessFacadeImpl(ProductionProcessService productionProcessService,InventoryManagementClient inventoryManagementClient, Mapper mapper) { + this.productionProcessService = productionProcessService; + this.inventoryManagementClient = inventoryManagementClient; + this.mapper = mapper; + } + + @Override + public ProductionProcessDTO getById(String id) { + return mapper.mapToProductionProcessDTO(productionProcessService.getById(id)); + } + + @Override + public ProductionProcessDTO create(ProductionProcessDTO productionProcessDTO) { + return mapper.mapToProductionProcessDTO(productionProcessService.create(productionProcessDTO)); + } + + @Override + public List<ProductionProcessDTO> getAll() { + return mapper.mapToProductionProcessDTOList(productionProcessService.getAll()); + } + + @Override + public ProductionProcessDTO update(String id, ProductionProcessDTO productionProcessDTO) { + return mapper.mapToProductionProcessDTO(productionProcessService.update(id, productionProcessDTO)); + } + @Override + public void delete(String id) { + productionProcessService.delete(id); + } + @Override + public ProductDTO produce(String id){ + ProductionProcessDTO productionProcessDTO = mapper.mapToProductionProcessDTO(productionProcessService.getById(id)); + List<ProductionStepDTO> productionSteps = mapper.mapToProductionStepDTOList(productionProcessDTO.getProductionSteps()); + Map<String, List<IngredientDTO>> productionMap = createProductionMap(productionSteps); + + if(productionPossible(productionMap)){ + productionProcessService.produce(productionMap); + } + return new ProductDTO(); + } + + private Map<String, List<IngredientDTO>> createProductionMap(List<ProductionStepDTO> productionStepDTOS) { + Map<String, List<IngredientDTO>> productionMap = new HashMap<>(); + for (ProductionStepDTO step : productionStepDTOS) { + productionMap.put(step.getName(), mapper.mapToIngredientDTOList(step.getIngredients())); + } + return productionMap; + } + + private Boolean productionPossible (Map<String, List<IngredientDTO>> productionMap){ + for (Map.Entry<String, List<IngredientDTO>> entry : productionMap.entrySet()) { + String productionStepName = entry.getKey(); + List<IngredientDTO> requiredIngredients = entry.getValue(); + + for (IngredientDTO requiredIngredient : requiredIngredients) { + IngredientDTO availableIngredient = fetchIngredientByName(requiredIngredient.getName()); + if (availableIngredient == null || !ingredientAvailable(requiredIngredient, availableIngredient)) { + System.out.println("Required ingredient " + requiredIngredient.getName() + " for production step " + + productionStepName + " is not available."); + return false; + } + } + } + return true; + } + + private Boolean ingredientAvailable(IngredientDTO required, IngredientDTO provided){ + return required.getQuantity() <= provided.getQuantity(); + } + + private IngredientDTO fetchIngredientByName(String name){ + return inventoryManagementClient.ingredientByName(name); + } + + + + + + + + +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacade.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacade.java similarity index 73% rename from wine-production/src/main/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacade.java rename to wine-production/src/main/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacade.java index 123cc4932127662556fe87f5147c7d3c71cfd491..615bd86fcaf9b33722fba69416d5717a15fdb643 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacade.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacade.java @@ -1,8 +1,10 @@ -package cz.muni.fi.pa165.facade.productionStep; +package cz.muni.fi.pa165.facade.productionstep; +import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; import java.util.List; +import java.util.stream.Collectors; public interface ProductionStepFacade { ProductionStepDTO getById(String id); diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacadeImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacadeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..ca4ee287411a247539f86df0d9e8787e1623dd4b --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacadeImpl.java @@ -0,0 +1,49 @@ +package cz.muni.fi.pa165.facade.productionstep; + +import cz.muni.fi.pa165.facade.Mapper; +import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; +import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; +import cz.muni.fi.pa165.service.productionstep.ProductionStepService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class ProductionStepFacadeImpl implements ProductionStepFacade { + + private final ProductionStepService productionStepService; + + private final Mapper mapper; + + public ProductionStepFacadeImpl(ProductionStepService productionStepService, Mapper mapper) { + this.productionStepService = productionStepService; + this.mapper = mapper; + } + + @Override + public ProductionStepDTO getById(String id) { + return mapper.mapToProductionStepDTO(productionStepService.getById(id)); + } + + @Override + public ProductionStepDTO create(ProductionStepDTO productionStepDTO) { + return mapper.mapToProductionStepDTO(productionStepService.create(productionStepDTO)); + } + + @Override + public List<ProductionStepDTO> getAll() { + return mapper.mapToProductionStepDTOList(productionStepService.getALl()); + } + + @Override + public ProductionStepDTO update(String id, ProductionStepDTO productionStepDTO) { + return mapper.mapToProductionStepDTO(productionStepService.update(id, productionStepDTO)); + } + + @Override + public void delete(String id) { + productionStepService.delete(id); + } + +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductDAO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..ecfd4fe0f99e00a82e37b01e126b0df0f0c92f0c --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductDAO.java @@ -0,0 +1,35 @@ +package cz.muni.fi.pa165.model.DAO; + +import jakarta.persistence.*; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + + +@Entity +@Setter +@Getter +@EqualsAndHashCode +@ToString +@Table(name = "product") +public class ProductDAO { + @Id + @GeneratedValue(strategy = GenerationType.UUID) + String id; + @Column(name = "code") + private String code; + @Column(name = "name") + private String name; + @Column(name = "description") + private String description; + @Column(name = "quantity") + private int quantity; + @Column(name = "quantityUnit") + private QuantityUnit quantityUnit; + @Column(name = "price") + private double price; + +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionProcessDAO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionProcessDAO.java index 19c95907697be69cd981105a9caa6be5073c5e6e..747fb0bd314c3cd4a394fde66a5bd5561b79ec6b 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionProcessDAO.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionProcessDAO.java @@ -1,11 +1,6 @@ package cz.muni.fi.pa165.model.DAO; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; +import jakarta.persistence.*; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; @@ -24,8 +19,10 @@ public class ProductionProcessDAO { @Id @GeneratedValue(strategy = GenerationType.UUID) private String id; + @Column(name = "name") private String name; - @OneToMany + @OneToMany(fetch = FetchType.LAZY, mappedBy = "productionProcess") private List<ProductionStepDAO> productionSteps; + @Column(name = "difficulty") private Difficulty difficulty; } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionStepDAO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionStepDAO.java index 85d14f5c7f1e06dfa834258c677b943d6987e4aa..115085f85fb779ea6aba375976cbc5ba60c1bb82 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionStepDAO.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DAO/ProductionStepDAO.java @@ -1,11 +1,6 @@ package cz.muni.fi.pa165.model.DAO; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; +import jakarta.persistence.*; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; @@ -23,9 +18,12 @@ public class ProductionStepDAO { @Id @GeneratedValue(strategy = GenerationType.UUID) private String id; + @Column(name = "name") private String name; + @Column(name = "description") private Double duration; - @OneToMany + @OneToMany(fetch = FetchType.LAZY, mappedBy = "productionStep") private List<IngredientDAO> ingredients; + @Column(name = "durationUnit") private DurationUnit durationUnit; } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/GrapeDTO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/GrapeDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..72f9e590e4c3bb2bff65bd317528ea6ae850b6bb --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/GrapeDTO.java @@ -0,0 +1,24 @@ +package cz.muni.fi.pa165.model.DTO; + +import cz.muni.fi.pa165.model.DAO.QuantityUnit; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.*; + +@Getter +@Setter +@EqualsAndHashCode +@ToString +@AllArgsConstructor +public class GrapeDTO { + @NotNull + private String code; + @NotNull + private int quantity; + @NotNull + private QuantityUnit quantityUnit; + @NotNull + private String name; + @NotNull + private String description; +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/IngredientDTO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/IngredientDTO.java index b747b9a4d1a5a58e6debe559bc38f076074cd126..b6ca8e4d12593aabfe3f9d979afd407098625324 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/IngredientDTO.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/IngredientDTO.java @@ -1,25 +1,22 @@ package cz.muni.fi.pa165.model.DTO; import cz.muni.fi.pa165.model.DAO.QuantityUnit; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.Setter; -import lombok.ToString; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.*; @Getter @Setter @EqualsAndHashCode @ToString +@AllArgsConstructor public class IngredientDTO { - private String name; + @NotBlank + @Size(max = 30) + private String name; + @NotBlank private Double quantity; - + @NotBlank private QuantityUnit quantityUnit; - - public IngredientDTO(String name, Double quantity, QuantityUnit quantityUnit) { - this.name = name; - this.quantity = quantity; - this.quantityUnit = quantityUnit; - } } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductDTO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..ff102cf6ab68cedf20b955d99a7926573d2d97e0 --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductDTO.java @@ -0,0 +1,33 @@ +package cz.muni.fi.pa165.model.DTO; + + +import cz.muni.fi.pa165.model.DAO.QuantityUnit; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.*; + +@Getter +@Setter +@EqualsAndHashCode +@ToString +@AllArgsConstructor +public class ProductDTO { + @NotNull + @Size(min = 1, max = 100) + private String code; + @NotNull + @Size(max = 30) + private String name; + @NotNull + private String description; + @NotNull + private int quantity; + @NotNull + private QuantityUnit quantityUnit; + @NotNull + private double price; + + public ProductDTO() { + } + +} diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionProcessDTO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionProcessDTO.java index c6e72d9b48cbb0a9ea977bb7999418cbe743ccd8..27b99db1eadeb1955a549a427b30eee14e6d14d3 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionProcessDTO.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionProcessDTO.java @@ -3,10 +3,9 @@ package cz.muni.fi.pa165.model.DTO; import cz.muni.fi.pa165.model.DAO.Difficulty; import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; import jakarta.persistence.OneToMany; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.Setter; -import lombok.ToString; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.*; import java.util.List; @@ -14,17 +13,17 @@ import java.util.List; @Setter @EqualsAndHashCode @ToString +@AllArgsConstructor public class ProductionProcessDTO { + @NotBlank + @Size(max = 30) private String name; @OneToMany private List<ProductionStepDAO> productionSteps; + @NotBlank private Difficulty difficulty; - public ProductionProcessDTO(String name, List<ProductionStepDAO> productionSteps, Difficulty difficulty) { - this.name = name; - this.productionSteps = productionSteps; - this.difficulty = difficulty; - } + } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionStepDTO.java b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionStepDTO.java index ef86611416f2a5b60e6393ac041aafffcd99390c..45eb6ac30f6c9a8ea6d1bacdddacfdabd297f0c0 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionStepDTO.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/model/DTO/ProductionStepDTO.java @@ -2,10 +2,10 @@ package cz.muni.fi.pa165.model.DTO; import cz.muni.fi.pa165.model.DAO.DurationUnit; import cz.muni.fi.pa165.model.DAO.IngredientDAO; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.Setter; -import lombok.ToString; +import jakarta.persistence.OneToMany; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.*; import java.util.List; @@ -14,17 +14,17 @@ import java.util.List; @Setter @EqualsAndHashCode @ToString +@AllArgsConstructor public class ProductionStepDTO { + @NotBlank + @Size(max = 30) private String name; + @NotBlank private Double duration; + @NotBlank private DurationUnit durationUnit; + @OneToMany private List<IngredientDAO> ingredients; - public ProductionStepDTO(String name, Double duration, DurationUnit durationUnit, List<IngredientDAO> ingredients) { - this.name = name; - this.duration = duration; - this.durationUnit = durationUnit; - this.ingredients = ingredients; - } } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/repository/ProductRepository.java b/wine-production/src/main/java/cz/muni/fi/pa165/repository/ProductRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..169159d3aab55cf7c981e7bf8e7d775844605a04 --- /dev/null +++ b/wine-production/src/main/java/cz/muni/fi/pa165/repository/ProductRepository.java @@ -0,0 +1,10 @@ +package cz.muni.fi.pa165.repository; + +import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + + +@Repository +public interface ProductRepository extends JpaRepository<ProductionStepDAO, String> { +} \ No newline at end of file diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessService.java b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessService.java similarity index 65% rename from wine-production/src/main/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessService.java rename to wine-production/src/main/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessService.java index 5511039e04ac12841f6c1b6ad087ee2062f796af..fa6f0c30bd1c51c08b8283f37890c49009eb0174 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessService.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessService.java @@ -1,9 +1,12 @@ -package cz.muni.fi.pa165.service.productionProcess; +package cz.muni.fi.pa165.service.productionprocess; +import cz.muni.fi.pa165.model.DAO.ProductDAO; import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; +import cz.muni.fi.pa165.model.DTO.IngredientDTO; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; import java.util.List; +import java.util.Map; public interface ProductionProcessService { ProductionProcessDAO getById(String id); @@ -14,7 +17,9 @@ public interface ProductionProcessService { ProductionProcessDAO update(String id, ProductionProcessDTO productionProcessDTO); + void delete(String id); + ProductDAO produce(Map<String, List<IngredientDTO>> productionMap); } diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessServiceImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessServiceImpl.java similarity index 81% rename from wine-production/src/main/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessServiceImpl.java rename to wine-production/src/main/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessServiceImpl.java index 4b95fc29c3cc138986aa67ed14637db833b52e1f..76ffd69caffb5a5a9d0f768f757a8b7578b53d5a 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessServiceImpl.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessServiceImpl.java @@ -1,21 +1,30 @@ -package cz.muni.fi.pa165.service.productionProcess; +package cz.muni.fi.pa165.service.productionprocess; +import cz.muni.fi.pa165.model.DAO.ProductDAO; import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; +import cz.muni.fi.pa165.model.DTO.IngredientDTO; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; +import cz.muni.fi.pa165.repository.ProductRepository; import cz.muni.fi.pa165.repository.ProductionProcessRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; @Service + public class ProductionProcessServiceImpl implements ProductionProcessService { private final ProductionProcessRepository productionProcessRepository; + private final ProductRepository productRepository; + + @Autowired - public ProductionProcessServiceImpl(ProductionProcessRepository productionProcessRepository) { + public ProductionProcessServiceImpl(ProductionProcessRepository productionProcessRepository, ProductRepository productRepository) { this.productionProcessRepository = productionProcessRepository; + this.productRepository = productRepository; } @@ -49,6 +58,11 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { productionProcessRepository.deleteById(id); } + @Override + public ProductDAO produce(Map<String, List<IngredientDTO>> productionMap) { + + return new ProductDAO(); + } private ProductionProcessDAO mapToProductionProcessDAO(ProductionProcessDTO productionProcessDTO) { ProductionProcessDAO productionProcessDAO = new ProductionProcessDAO(); diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionStep/ProductionStepService.java b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionstep/ProductionStepService.java similarity index 89% rename from wine-production/src/main/java/cz/muni/fi/pa165/service/productionStep/ProductionStepService.java rename to wine-production/src/main/java/cz/muni/fi/pa165/service/productionstep/ProductionStepService.java index 399c6e6f857d4deb16fe68c5546fd5f52c53949b..9f9ce299f8f512892ede8f2f659ede5611f3d27a 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionStep/ProductionStepService.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionstep/ProductionStepService.java @@ -1,4 +1,4 @@ -package cz.muni.fi.pa165.service.productionStep; +package cz.muni.fi.pa165.service.productionstep; import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; diff --git a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionStep/ProductionStepServiceImpl.java b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionstep/ProductionStepServiceImpl.java similarity index 95% rename from wine-production/src/main/java/cz/muni/fi/pa165/service/productionStep/ProductionStepServiceImpl.java rename to wine-production/src/main/java/cz/muni/fi/pa165/service/productionstep/ProductionStepServiceImpl.java index 6202f3b086aecab8d39dbbd4b664005017083c6b..2012f2d7bd5ee31f917ab6f224c143ad2a72d6bd 100644 --- a/wine-production/src/main/java/cz/muni/fi/pa165/service/productionStep/ProductionStepServiceImpl.java +++ b/wine-production/src/main/java/cz/muni/fi/pa165/service/productionstep/ProductionStepServiceImpl.java @@ -1,6 +1,5 @@ -package cz.muni.fi.pa165.service.productionStep; +package cz.muni.fi.pa165.service.productionstep; -import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; import cz.muni.fi.pa165.repository.ProductionStepRepository; diff --git a/wine-production/src/main/resources/application.yml b/wine-production/src/main/resources/application.yml index 9e5d4f3d88bc6fe9c0b1c37aec9b198c9e05b67f..8b4c183b9739bf94246eba98041f959ee81ca4e7 100644 --- a/wine-production/src/main/resources/application.yml +++ b/wine-production/src/main/resources/application.yml @@ -10,3 +10,6 @@ spring: generate-ddl: true hibernate: ddl-auto: update + +inventory-management: + url: localhost:8082 \ No newline at end of file diff --git a/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionProcessAPITest.java b/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionProcessAPITest.java index 3ac09068a0c5e81d89623b3669c7036fb758b83e..66a8561c207eeced6eeb1e7a8524a6e0ee8915f6 100644 --- a/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionProcessAPITest.java +++ b/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionProcessAPITest.java @@ -1,7 +1,6 @@ package cz.muni.fi.pa165.controller; -import cz.muni.fi.pa165.controller.ProductionProcessAPI; -import cz.muni.fi.pa165.facade.productionProcess.ProductionProcessFacade; +import cz.muni.fi.pa165.facade.productionprocess.ProductionProcessFacade; import cz.muni.fi.pa165.model.DAO.Difficulty; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; import org.junit.jupiter.api.BeforeEach; diff --git a/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionStepAPITest.java b/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionStepAPITest.java index e7080116e066bd5ec0d3e5a382d511d65434660e..4aecb411fc1fd41b85b08b2d66b463f7132ed634 100644 --- a/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionStepAPITest.java +++ b/wine-production/src/test/java/cz/muni/fi/pa165/controller/ProductionStepAPITest.java @@ -1,7 +1,6 @@ package cz.muni.fi.pa165.controller; -import cz.muni.fi.pa165.controller.ProductionStepAPI; -import cz.muni.fi.pa165.facade.productionStep.ProductionStepFacade; +import cz.muni.fi.pa165.facade.productionstep.ProductionStepFacade; import cz.muni.fi.pa165.model.DAO.DurationUnit; import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; import org.junit.jupiter.api.BeforeEach; diff --git a/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacadeImplTest.java b/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacadeImplTest.java similarity index 96% rename from wine-production/src/test/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacadeImplTest.java rename to wine-production/src/test/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacadeImplTest.java index 7e292872aa87de4b36d547edf7aaee2b8048a84c..0453ea9f6f3a6ab9d94ae15e78136fdd36f5c293 100644 --- a/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionProcess/ProductionProcessFacadeImplTest.java +++ b/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionprocess/ProductionProcessFacadeImplTest.java @@ -1,9 +1,9 @@ -package cz.muni.fi.pa165.facade.productionProcess; +package cz.muni.fi.pa165.facade.productionprocess; import cz.muni.fi.pa165.model.DAO.Difficulty; import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; -import cz.muni.fi.pa165.service.productionProcess.ProductionProcessService; +import cz.muni.fi.pa165.service.productionprocess.ProductionProcessService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; diff --git a/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacadeImplTest.java b/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacadeImplTest.java similarity index 95% rename from wine-production/src/test/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacadeImplTest.java rename to wine-production/src/test/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacadeImplTest.java index 979d7f77b4a946172722df6c995d524f623b4bfa..a1fd5322e86f0e30943715809917495ee72ed5bc 100644 --- a/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionStep/ProductionStepFacadeImplTest.java +++ b/wine-production/src/test/java/cz/muni/fi/pa165/facade/productionstep/ProductionStepFacadeImplTest.java @@ -1,9 +1,9 @@ -package cz.muni.fi.pa165.facade.productionStep; +package cz.muni.fi.pa165.facade.productionstep; import cz.muni.fi.pa165.model.DAO.DurationUnit; import cz.muni.fi.pa165.model.DAO.ProductionStepDAO; import cz.muni.fi.pa165.model.DTO.ProductionStepDTO; -import cz.muni.fi.pa165.service.productionStep.ProductionStepService; +import cz.muni.fi.pa165.service.productionstep.ProductionStepService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; diff --git a/wine-production/src/test/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessServiceImplTest.java b/wine-production/src/test/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessServiceImplTest.java similarity index 95% rename from wine-production/src/test/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessServiceImplTest.java rename to wine-production/src/test/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessServiceImplTest.java index 1d0f6ee8d2704320d6197e86b05292eed85e5c9d..522bcb8c4b754fac697b11317a6205824ebd0834 100644 --- a/wine-production/src/test/java/cz/muni/fi/pa165/service/productionProcess/ProductionProcessServiceImplTest.java +++ b/wine-production/src/test/java/cz/muni/fi/pa165/service/productionprocess/ProductionProcessServiceImplTest.java @@ -1,8 +1,7 @@ -package cz.muni.fi.pa165.service.productionProcess; +package cz.muni.fi.pa165.service.productionprocess; import cz.muni.fi.pa165.model.DAO.Difficulty; import cz.muni.fi.pa165.model.DAO.ProductionProcessDAO; -import cz.muni.fi.pa165.model.DAO.QuantityUnit; import cz.muni.fi.pa165.model.DTO.ProductionProcessDTO; import cz.muni.fi.pa165.repository.ProductionProcessRepository; import org.junit.jupiter.api.BeforeEach; diff --git a/wine-production/src/test/java/cz/muni/fi/pa165/service/productionStep/ProductionStepServiceImplTest.java b/wine-production/src/test/java/cz/muni/fi/pa165/service/productionstep/ProductionStepServiceImplTest.java similarity index 97% rename from wine-production/src/test/java/cz/muni/fi/pa165/service/productionStep/ProductionStepServiceImplTest.java rename to wine-production/src/test/java/cz/muni/fi/pa165/service/productionstep/ProductionStepServiceImplTest.java index 551805332f8ec5142fa41a7dcf8ba958e6c57605..5049e5aeab1c2417c836761bddbe6d6427c56895 100644 --- a/wine-production/src/test/java/cz/muni/fi/pa165/service/productionStep/ProductionStepServiceImplTest.java +++ b/wine-production/src/test/java/cz/muni/fi/pa165/service/productionstep/ProductionStepServiceImplTest.java @@ -1,4 +1,4 @@ -package cz.muni.fi.pa165.service.productionStep; +package cz.muni.fi.pa165.service.productionstep; import cz.muni.fi.pa165.model.DAO.DurationUnit; import cz.muni.fi.pa165.model.DAO.ProductionStepDAO;