diff --git a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/HsBookingItemController.java b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/HsBookingItemController.java index 6af3d73d..6c66e032 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/HsBookingItemController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/HsBookingItemController.java @@ -5,6 +5,7 @@ import net.hostsharing.hsadminng.hs.booking.generated.api.v1.api.HsBookingItemsA import net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingItemInsertResource; import net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingItemPatchResource; import net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingItemResource; +import net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidatorRegistry; import net.hostsharing.hsadminng.mapper.KeyValueMap; import net.hostsharing.hsadminng.mapper.Mapper; import org.springframework.beans.factory.annotation.Autowired; @@ -19,7 +20,6 @@ import java.util.List; import java.util.UUID; import java.util.function.BiConsumer; -import static net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidator.validated; import static net.hostsharing.hsadminng.mapper.PostgresDateRange.toPostgresDateRange; @RestController @@ -62,7 +62,8 @@ public class HsBookingItemController implements HsBookingItemsApi { final var entityToSave = mapper.map(body, HsBookingItemEntity.class, RESOURCE_TO_ENTITY_POSTMAPPER); - final var saved = validated(bookingItemRepo.save(entityToSave)); + final HsBookingItemEntity entityToSave1 = bookingItemRepo.save(entityToSave); + final var saved = HsBookingItemEntityValidatorRegistry.validated(entityToSave1); final var uri = MvcUriComponentsBuilder.fromController(getClass()) @@ -118,7 +119,7 @@ public class HsBookingItemController implements HsBookingItemsApi { new HsBookingItemEntityPatcher(current).apply(body); - final var saved = bookingItemRepo.save(validated(current)); + final var saved = bookingItemRepo.save(HsBookingItemEntityValidatorRegistry.validated(current)); final var mapped = mapper.map(saved, HsBookingItemResource.class, ENTITY_TO_RESOURCE_POSTMAPPER); return ResponseEntity.ok(mapped); } diff --git a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidator.java b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidator.java index 8819f0b8..2e67a37c 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidator.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidator.java @@ -1,64 +1,20 @@ package net.hostsharing.hsadminng.hs.booking.item.validators; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; -import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType; import net.hostsharing.hsadminng.hs.validation.HsEntityValidator; -import net.hostsharing.hsadminng.hs.validation.MultiValidationException; import net.hostsharing.hsadminng.hs.validation.ValidatableProperty; import java.util.Collection; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.Objects; -import java.util.Set; import java.util.stream.Stream; import static java.util.Arrays.stream; import static java.util.Collections.emptyList; import static java.util.Optional.ofNullable; -import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.CLOUD_SERVER; -import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_SERVER; -import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_WEBSPACE; -import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.PRIVATE_CLOUD; public class HsBookingItemEntityValidator extends HsEntityValidator { - private static final Map, HsEntityValidator> validators = new HashMap<>(); - static { - register(PRIVATE_CLOUD, new HsPrivateCloudBookingItemValidator()); - register(CLOUD_SERVER, new HsCloudServerBookingItemValidator()); - register(MANAGED_SERVER, new HsManagedServerBookingItemValidator()); - register(MANAGED_WEBSPACE, new HsManagedWebspaceBookingItemValidator()); - } - - private static void register(final Enum type, final HsEntityValidator validator) { - stream(validator.propertyValidators).forEach( entry -> { - entry.verifyConsistency(Map.entry(type, validator)); - }); - validators.put(type, validator); - } - - public static HsEntityValidator forType(final Enum type) { - if ( validators.containsKey(type)) { - return validators.get(type); - } - throw new IllegalArgumentException("no validator found for type " + type); - } - - public static Set> types() { - return validators.keySet(); - } - - public static List doValidate(final HsBookingItemEntity bookingItem) { - return HsBookingItemEntityValidator.forType(bookingItem.getType()).validate(bookingItem); - } - - public static HsBookingItemEntity validated(final HsBookingItemEntity entityToSave) { - MultiValidationException.throwInvalid(doValidate(entityToSave)); - return entityToSave; - } - public HsBookingItemEntityValidator(final ValidatableProperty... properties) { super(properties); } @@ -72,7 +28,7 @@ public class HsBookingItemEntityValidator extends HsEntityValidator optionallyValidate(final HsBookingItemEntity bookingItem) { - return bookingItem != null ? HsBookingItemEntityValidator.doValidate(bookingItem) : emptyList(); + return bookingItem != null ? HsBookingItemEntityValidatorRegistry.doValidate(bookingItem) : emptyList(); } protected List validateAgainstSubEntities(final HsBookingItemEntity bookingItem) { diff --git a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorRegistry.java b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorRegistry.java new file mode 100644 index 00000000..867e6a37 --- /dev/null +++ b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorRegistry.java @@ -0,0 +1,55 @@ +package net.hostsharing.hsadminng.hs.booking.item.validators; + +import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; +import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType; +import net.hostsharing.hsadminng.hs.validation.HsEntityValidator; +import net.hostsharing.hsadminng.hs.validation.MultiValidationException; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static java.util.Arrays.stream; +import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.CLOUD_SERVER; +import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_SERVER; +import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_WEBSPACE; +import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.PRIVATE_CLOUD; + +public class HsBookingItemEntityValidatorRegistry { + + private static final Map, HsEntityValidator> validators = new HashMap<>(); + static { + register(PRIVATE_CLOUD, new HsPrivateCloudBookingItemValidator()); + register(CLOUD_SERVER, new HsCloudServerBookingItemValidator()); + register(MANAGED_SERVER, new HsManagedServerBookingItemValidator()); + register(MANAGED_WEBSPACE, new HsManagedWebspaceBookingItemValidator()); + } + + private static void register(final Enum type, final HsEntityValidator validator) { + stream(validator.propertyValidators).forEach( entry -> { + entry.verifyConsistency(Map.entry(type, validator)); + }); + validators.put(type, validator); + } + + public static HsEntityValidator forType(final Enum type) { + if ( validators.containsKey(type)) { + return validators.get(type); + } + throw new IllegalArgumentException("no validator found for type " + type); + } + + public static Set> types() { + return validators.keySet(); + } + + public static List doValidate(final HsBookingItemEntity bookingItem) { + return HsBookingItemEntityValidatorRegistry.forType(bookingItem.getType()).validate(bookingItem); + } + + public static HsBookingItemEntity validated(final HsBookingItemEntity entityToSave) { + MultiValidationException.throwInvalid(doValidate(entityToSave)); + return entityToSave; + } +} diff --git a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidator.java b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidator.java index dc4c52fc..07bb80da 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidator.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidator.java @@ -1,8 +1,6 @@ package net.hostsharing.hsadminng.hs.booking.item.validators; -import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; -import java.util.List; import static net.hostsharing.hsadminng.hs.validation.EnumerationProperty.enumerationProperty; import static net.hostsharing.hsadminng.hs.validation.IntegerProperty.integerProperty; diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsHostingAssetEntityValidator.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsHostingAssetEntityValidator.java index c8f5a86f..9354be6e 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsHostingAssetEntityValidator.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HsHostingAssetEntityValidator.java @@ -1,7 +1,7 @@ package net.hostsharing.hsadminng.hs.hosting.asset.validators; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; -import net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidator; +import net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidatorRegistry; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetEntity; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetType; import net.hostsharing.hsadminng.hs.validation.HsEntityValidator; @@ -76,7 +76,7 @@ public class HsHostingAssetEntityValidator extends HsEntityValidator optionallyValidate(final HsBookingItemEntity bookingItem) { - return bookingItem != null ? HsBookingItemEntityValidator.doValidate(bookingItem) : emptyList(); + return bookingItem != null ? HsBookingItemEntityValidatorRegistry.doValidate(bookingItem) : emptyList(); } protected List validateSubEntities(final HsHostingAssetEntity assetEntity) { diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionController.java b/src/main/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionController.java index ee8fef4b..26c04dbb 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/coopassets/HsOfficeCoopAssetsTransactionController.java @@ -14,14 +14,12 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder; import jakarta.persistence.EntityNotFoundException; -import jakarta.validation.ValidationException; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.function.BiConsumer; -import static java.lang.String.join; import static net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeCoopAssetsTransactionTypeResource.*; @RestController diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionController.java b/src/main/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionController.java index 27b80a72..259174ce 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/coopshares/HsOfficeCoopSharesTransactionController.java @@ -15,14 +15,12 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder; -import jakarta.validation.ValidationException; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.function.BiConsumer; -import static java.lang.String.join; import static net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeCoopSharesTransactionTypeResource.CANCELLATION; import static net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeCoopSharesTransactionTypeResource.SUBSCRIPTION; diff --git a/src/main/java/net/hostsharing/hsadminng/hs/validation/HsEntityValidator.java b/src/main/java/net/hostsharing/hsadminng/hs/validation/HsEntityValidator.java index ed4c3c0b..a8d24a3f 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/validation/HsEntityValidator.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/validation/HsEntityValidator.java @@ -1,7 +1,7 @@ package net.hostsharing.hsadminng.hs.validation; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; -import net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidator; +import net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidatorRegistry; import java.util.ArrayList; import java.util.Arrays; @@ -52,9 +52,9 @@ public abstract class HsEntityValidator { } protected List validateParentEntities(final HsBookingItemEntity bookingItem) { - return bookingItem.getParentItem() != null - ? HsBookingItemEntityValidator.doValidate(bookingItem.getParentItem()) - : emptyList(); + return bookingItem.getParentItem() != null ? + HsBookingItemEntityValidatorRegistry.doValidate(bookingItem.getParentItem()) : + emptyList(); } @SafeVarargs diff --git a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorUnitTest.java index a25d6860..398e5330 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsBookingItemEntityValidatorUnitTest.java @@ -11,7 +11,6 @@ import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.PRIVAT import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.CLOUD_SERVER; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_SERVER; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_WEBSPACE; -import static net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidator.validated; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.catchThrowable; @@ -34,7 +33,7 @@ class HsBookingItemEntityValidatorUnitTest { .build(); // when - final var result = catchThrowable( ()-> validated(cloudServerBookingItemEntity) ); + final var result = catchThrowable( ()-> HsBookingItemEntityValidatorRegistry.validated(cloudServerBookingItemEntity)); // then assertThat(result).isInstanceOf(ValidationException.class) @@ -48,7 +47,7 @@ class HsBookingItemEntityValidatorUnitTest { @Test void listsTypes() { // when - final var result = HsBookingItemEntityValidator.types(); + final var result = HsBookingItemEntityValidatorRegistry.types(); // then assertThat(result).containsExactlyInAnyOrder(PRIVATE_CLOUD, CLOUD_SERVER, MANAGED_SERVER, MANAGED_WEBSPACE); diff --git a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidatorUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidatorUnitTest.java index 715f8a02..6a0f287e 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidatorUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsCloudServerBookingItemValidatorUnitTest.java @@ -13,7 +13,6 @@ import static java.util.Map.ofEntries; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.CLOUD_SERVER; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_SERVER; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.PRIVATE_CLOUD; -import static net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidator.forType; import static org.assertj.core.api.Assertions.assertThat; class HsCloudServerBookingItemValidatorUnitTest { @@ -43,7 +42,7 @@ class HsCloudServerBookingItemValidatorUnitTest { .build(); // when - final var result = HsBookingItemEntityValidator.doValidate(cloudServerBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(cloudServerBookingItemEntity); // then assertThat(result).containsExactly("D-12345:Test-Project:Test-Server.resources.SLA-EMail is not expected but is set to 'true'"); @@ -52,7 +51,7 @@ class HsCloudServerBookingItemValidatorUnitTest { @Test void containsAllValidations() { // when - final var validator = forType(CLOUD_SERVER); + final var validator = HsBookingItemEntityValidatorRegistry.forType(CLOUD_SERVER); // then assertThat(validator.properties()).map(Map::toString).containsExactlyInAnyOrder( @@ -106,7 +105,7 @@ class HsCloudServerBookingItemValidatorUnitTest { subCloudServerBookingItemEntity.setParentItem(privateCloudBookingItemEntity); // when - final var result = HsBookingItemEntityValidator.doValidate(subCloudServerBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(subCloudServerBookingItemEntity); // then assertThat(result).containsExactlyInAnyOrder( diff --git a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedServerBookingItemValidatorUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedServerBookingItemValidatorUnitTest.java index 8d80cfb1..5d915722 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedServerBookingItemValidatorUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedServerBookingItemValidatorUnitTest.java @@ -21,7 +21,6 @@ import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.CLOUD_ import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_SERVER; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.MANAGED_WEBSPACE; import static net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType.PRIVATE_CLOUD; -import static net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidator.forType; import static org.assertj.core.api.Assertions.assertThat; class HsManagedServerBookingItemValidatorUnitTest { @@ -51,7 +50,7 @@ class HsManagedServerBookingItemValidatorUnitTest { .build(); // when - final var result = HsBookingItemEntityValidator.doValidate(mangedServerBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(mangedServerBookingItemEntity); // then assertThat(result).containsExactly("D-12345:Test-Project:null.resources.SLA-EMail is expected to be false because SLA-Platform=BASIC but is true"); @@ -60,7 +59,7 @@ class HsManagedServerBookingItemValidatorUnitTest { @Test void containsAllValidations() { // when - final var validator = forType(MANAGED_SERVER); + final var validator = HsBookingItemEntityValidatorRegistry.forType(MANAGED_SERVER); // then assertThat(validator.properties()).map(Map::toString).containsExactlyInAnyOrder( @@ -117,7 +116,7 @@ class HsManagedServerBookingItemValidatorUnitTest { subCloudServerBookingItemEntity.setParentItem(privateCloudBookingItemEntity); // when - final var result = HsBookingItemEntityValidator.doValidate(subManagedServerBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(subManagedServerBookingItemEntity); // then assertThat(result).containsExactlyInAnyOrder( @@ -163,7 +162,7 @@ class HsManagedServerBookingItemValidatorUnitTest { .build(); // when - final var result = HsBookingItemEntityValidator.doValidate(managedWebspaceBookingItem); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(managedWebspaceBookingItem); // then assertThat(result).containsExactlyInAnyOrder( diff --git a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedWebspaceBookingItemValidatorUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedWebspaceBookingItemValidatorUnitTest.java index f6c011b4..c8db8a6f 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedWebspaceBookingItemValidatorUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsManagedWebspaceBookingItemValidatorUnitTest.java @@ -37,7 +37,7 @@ class HsManagedWebspaceBookingItemValidatorUnitTest { .build(); // when - final var result = HsBookingItemEntityValidator.doValidate(mangedServerBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(mangedServerBookingItemEntity); // then assertThat(result).containsExactlyInAnyOrder( @@ -51,7 +51,7 @@ class HsManagedWebspaceBookingItemValidatorUnitTest { @Test void containsAllValidations() { // when - final var validator = HsBookingItemEntityValidator.forType(MANAGED_WEBSPACE); + final var validator = HsBookingItemEntityValidatorRegistry.forType(MANAGED_WEBSPACE); // then assertThat(validator.properties()).map(Map::toString).containsExactlyInAnyOrder( diff --git a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsPrivateCloudBookingItemValidatorTest.java b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsPrivateCloudBookingItemValidatorTest.java index 4d3f4326..40610fad 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsPrivateCloudBookingItemValidatorTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/booking/item/validators/HsPrivateCloudBookingItemValidatorTest.java @@ -3,7 +3,6 @@ package net.hostsharing.hsadminng.hs.booking.item.validators; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; import org.junit.jupiter.api.Test; - import static java.util.List.of; import static java.util.Map.entry; import static java.util.Map.ofEntries; @@ -48,7 +47,7 @@ class HsPrivateCloudBookingItemValidatorTest { .build(); // when - final var result = HsBookingItemEntityValidator.doValidate(privateCloudBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(privateCloudBookingItemEntity); // then assertThat(result).isEmpty(); @@ -88,7 +87,7 @@ class HsPrivateCloudBookingItemValidatorTest { .build(); // when - final var result = HsBookingItemEntityValidator.doValidate(privateCloudBookingItemEntity); + final var result = HsBookingItemEntityValidatorRegistry.doValidate(privateCloudBookingItemEntity); // then assertThat(result).containsExactlyInAnyOrder(