diff --git a/app-monolith/src/main/java/pl/com/bottega/factory/product/management/ProductDescriptionEventsPropagation.java b/app-monolith/src/main/java/pl/com/bottega/factory/product/management/ProductDescriptionEventsPropagation.java index 0c3d82f..d5d15e9 100644 --- a/app-monolith/src/main/java/pl/com/bottega/factory/product/management/ProductDescriptionEventsPropagation.java +++ b/app-monolith/src/main/java/pl/com/bottega/factory/product/management/ProductDescriptionEventsPropagation.java @@ -19,7 +19,7 @@ public class ProductDescriptionEventsPropagation { @HandleAfterCreate public void handleCreate(ProductDescriptionEntity entity) { - demandService.init(entity.getRefNo()); + demandService.initNewProduct(entity.getRefNo()); stockForecasts.save(new StockForecastEntity(entity.getRefNo())); } diff --git a/demand-forecasting-adapters/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandORMRepository.java b/demand-forecasting-adapters/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandORMRepository.java index 2443bb8..c4350f1 100644 --- a/demand-forecasting-adapters/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandORMRepository.java +++ b/demand-forecasting-adapters/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandORMRepository.java @@ -15,6 +15,7 @@ import javax.persistence.EntityManager; import javax.persistence.LockModeType; import java.time.Clock; import java.time.LocalDate; +import java.util.ArrayList; import java.util.Map; import java.util.function.Function; @@ -33,7 +34,7 @@ class ProductDemandORMRepository implements ProductDemandRepository { private final DemandDao demandDao; @Override - public void initDemandsFor(String refNo) { + public void initNewProduct(String refNo) { if (rootDao.findByRefNo(refNo) == null) { rootDao.save(new ProductDemandEntity(refNo)); } @@ -53,7 +54,7 @@ class ProductDemandORMRepository implements ProductDemandRepository { Demands demands = new Demands(); demands.fetch = date -> map(refNo, date, data); - return new ProductDemand(id, demands, clock, events); + return new ProductDemand(id, new ArrayList<>(), demands, clock, events); } @Override diff --git a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandService.java b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandService.java index 61308c5..cf50960 100644 --- a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandService.java +++ b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandService.java @@ -8,8 +8,8 @@ public class DemandService { private final ProductDemandRepository repository; - public void init(String refNo) { - repository.initDemandsFor(refNo); + public void initNewProduct(String refNo) { + repository.initNewProduct(refNo); } public void process(Document document) { diff --git a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemand.java b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemand.java index 14498f1..9bb4627 100644 --- a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemand.java +++ b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemand.java @@ -8,7 +8,6 @@ import pl.com.bottega.factory.product.management.RefNoId; import java.time.Clock; import java.time.LocalDate; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -16,11 +15,11 @@ import java.util.Map; class ProductDemand { final RefNoId id; - final Demands demands; - final List updates = new ArrayList<>(); + final List updates; + private final Demands demands; - final Clock clock; - final DemandEvents events; + private final Clock clock; + private final DemandEvents events; interface Demands { DailyDemand get(LocalDate date); diff --git a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandRepository.java b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandRepository.java index 34dbf97..9255e69 100644 --- a/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandRepository.java +++ b/demand-forecasting-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ProductDemandRepository.java @@ -5,5 +5,5 @@ interface ProductDemandRepository { void save(ProductDemand model); - void initDemandsFor(String refNo); + void initNewProduct(String refNo); } diff --git a/demand-forecasting-model/src/test/groovy/pl/com/bottega/factory/demand/forecasting/ProductDemandBuilder.groovy b/demand-forecasting-model/src/test/groovy/pl/com/bottega/factory/demand/forecasting/ProductDemandBuilder.groovy index 2b19c04..b1fce54 100644 --- a/demand-forecasting-model/src/test/groovy/pl/com/bottega/factory/demand/forecasting/ProductDemandBuilder.groovy +++ b/demand-forecasting-model/src/test/groovy/pl/com/bottega/factory/demand/forecasting/ProductDemandBuilder.groovy @@ -38,7 +38,7 @@ class ProductDemandBuilder { } def build() { - new ProductDemand(new RefNoId(refNo), demands, clock, events) + new ProductDemand(new RefNoId(refNo), new ArrayList<>(), demands, clock, events) } def document(LocalDate date, long ... levels) { diff --git a/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandedLevelsChanged.java b/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandedLevelsChanged.java index daa1cdc..9bb5686 100644 --- a/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandedLevelsChanged.java +++ b/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/DemandedLevelsChanged.java @@ -3,7 +3,6 @@ package pl.com.bottega.factory.demand.forecasting; import lombok.Value; import pl.com.bottega.factory.product.management.RefNoId; -import java.util.Collections; import java.util.Map; @Value @@ -11,11 +10,6 @@ public class DemandedLevelsChanged { RefNoId refNo; Map results; - public DemandedLevelsChanged(RefNoId refNo, Map results) { - this.refNo = refNo; - this.results = Collections.unmodifiableMap(results); - } - @Value public static class Change { Demand previous; diff --git a/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ReviewRequired.java b/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ReviewRequired.java index d8a6ccd..cad7a7b 100644 --- a/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ReviewRequired.java +++ b/shared-kernel-model/src/main/java/pl/com/bottega/factory/demand/forecasting/ReviewRequired.java @@ -4,7 +4,6 @@ import lombok.Value; import pl.com.bottega.factory.product.management.RefNoId; import java.time.LocalDate; -import java.util.Collections; import java.util.List; @Value @@ -12,11 +11,6 @@ public class ReviewRequired { RefNoId refNo; List reviews; - public ReviewRequired(RefNoId refNo, List reviews) { - this.refNo = refNo; - this.reviews = Collections.unmodifiableList(reviews); - } - @Value public static class ToReview { DailyId id;