From cdd35ef4b8683506f30db26d77dc06471303d516 Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Sat, 3 Aug 2024 17:33:30 +0200 Subject: [PATCH] switch to HsOfficeContactRbacEntity + HsOfficeContactBaseEntity as subclasses of HsOfficeContact --- .run/ImportHostingAssets.run.xml | 36 +++++ .run/ImportOfficeData.run.xml | 36 +++++ .../hs/hosting/asset/HsHostingAsset.java | 4 +- .../hosting/asset/HsHostingAssetEntity.java | 3 +- .../asset/HsHostingAssetEntityPatcher.java | 4 +- .../HostingAssetEntityValidator.java | 4 +- .../hs/office/contact/HsOfficeContact.java | 106 +++++++++++++ .../contact/HsOfficeContactBareEntity.java | 23 +++ .../HsOfficeContactBareRepository.java | 26 +++ .../contact/HsOfficeContactController.java | 2 +- .../office/contact/HsOfficeContactEntity.java | 148 ------------------ .../contact/HsOfficeContactRbacEntity.java | 11 +- ...ava => HsOfficeContactRbacRepository.java} | 2 +- .../debitor/HsOfficeDebitorRepository.java | 2 +- .../partner/HsOfficePartnerController.java | 5 +- .../office/partner/HsOfficePartnerEntity.java | 5 +- .../partner/HsOfficePartnerRepository.java | 2 +- .../relation/HsOfficeRelationController.java | 6 +- .../relation/HsOfficeRelationEntity.java | 5 +- .../HsOfficeRelationEntityPatcher.java | 4 +- ...sHostingAssetControllerAcceptanceTest.java | 4 +- .../HsHostingAssetControllerRestTest.java | 6 +- .../HsHostingAssetEntityPatcherUnitTest.java | 7 +- .../migration/HsHostingAssetBareEntity.java | 4 +- .../hs/migration/ImportOfficeData.java | 10 +- .../HsOfficeContactBareTestEntity.java | 16 ++ ...OfficeContactControllerAcceptanceTest.java | 2 +- ...va => HsOfficeContactPatcherUnitTest.java} | 2 +- ...ContactRbacRepositoryIntegrationTest.java} | 6 +- ...ava => HsOfficeContactRbacTestEntity.java} | 4 +- ...Test.java => HsOfficeContactUnitTest.java} | 2 +- ...OfficeDebitorControllerAcceptanceTest.java | 14 +- .../HsOfficeDebitorEntityUnitTest.java | 4 +- ...fficeDebitorRepositoryIntegrationTest.java | 14 +- .../office/debitor/TestHsOfficeDebitor.java | 4 +- ...OfficePartnerControllerAcceptanceTest.java | 10 +- .../HsOfficePartnerEntityPatcherUnitTest.java | 4 +- .../HsOfficePartnerEntityUnitTest.java | 4 +- ...fficePartnerRepositoryIntegrationTest.java | 8 +- .../office/partner/TestHsOfficePartner.java | 4 +- ...fficeRelationControllerAcceptanceTest.java | 14 +- ...HsOfficeRelationEntityPatcherUnitTest.java | 9 +- ...ficeRelationRepositoryIntegrationTest.java | 12 +- 43 files changed, 343 insertions(+), 255 deletions(-) create mode 100644 .run/ImportHostingAssets.run.xml create mode 100644 .run/ImportOfficeData.run.xml create mode 100644 src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContact.java create mode 100644 src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareEntity.java create mode 100644 src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareRepository.java delete mode 100644 src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntity.java rename src/main/java/net/hostsharing/hsadminng/hs/office/contact/{HsOfficeContactRepository.java => HsOfficeContactRbacRepository.java} (87%) create mode 100644 src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareTestEntity.java rename src/test/java/net/hostsharing/hsadminng/hs/office/contact/{HsOfficeContactEntityPatcherUnitTest.java => HsOfficeContactPatcherUnitTest.java} (98%) rename src/test/java/net/hostsharing/hsadminng/hs/office/contact/{HsOfficeContactRepositoryIntegrationTest.java => HsOfficeContactRbacRepositoryIntegrationTest.java} (98%) rename src/test/java/net/hostsharing/hsadminng/hs/office/contact/{TestHsOfficeContact.java => HsOfficeContactRbacTestEntity.java} (70%) rename src/test/java/net/hostsharing/hsadminng/hs/office/contact/{HsOfficeContactEntityUnitTest.java => HsOfficeContactUnitTest.java} (93%) diff --git a/.run/ImportHostingAssets.run.xml b/.run/ImportHostingAssets.run.xml new file mode 100644 index 00000000..233ef548 --- /dev/null +++ b/.run/ImportHostingAssets.run.xml @@ -0,0 +1,36 @@ + + + + + + + + false + true + + + + false + true + + + \ No newline at end of file diff --git a/.run/ImportOfficeData.run.xml b/.run/ImportOfficeData.run.xml new file mode 100644 index 00000000..80b17552 --- /dev/null +++ b/.run/ImportOfficeData.run.xml @@ -0,0 +1,36 @@ + + + + + + + + false + true + + + + false + true + + + \ No newline at end of file diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAsset.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAsset.java index 20a14ca9..81fd6f98 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAsset.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAsset.java @@ -2,7 +2,7 @@ package net.hostsharing.hsadminng.hs.hosting.asset; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; import net.hostsharing.hsadminng.hs.booking.project.HsBookingProjectEntity; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.validation.PropertiesProvider; import net.hostsharing.hsadminng.rbac.rbacobject.RbacObject; import net.hostsharing.hsadminng.stringify.Stringify; @@ -36,7 +36,7 @@ public interface HsHostingAsset extends Stringifyable, RbacObject getSubHostingAssets(); String getCaption(); Map getConfig(); diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntity.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntity.java index ce4ef38c..52a05a64 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntity.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntity.java @@ -8,6 +8,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; import net.hostsharing.hsadminng.mapper.PatchableMapWrapper; import net.hostsharing.hsadminng.rbac.rbacdef.RbacView; @@ -90,7 +91,7 @@ public class HsHostingAssetEntity implements HsHostingAsset { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "alarmcontactuuid") - private HsOfficeContactRbacEntity alarmContact; + private HsOfficeContactBareEntity alarmContact; @OneToMany(cascade = CascadeType.REFRESH, orphanRemoval = true, fetch = FetchType.LAZY) @JoinColumn(name = "parentassetuuid", referencedColumnName = "uuid") diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcher.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcher.java index b0b924bb..585375d5 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcher.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcher.java @@ -1,7 +1,7 @@ package net.hostsharing.hsadminng.hs.hosting.asset; import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsHostingAssetPatchResource; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.mapper.EntityPatcher; import net.hostsharing.hsadminng.mapper.KeyValueMap; import net.hostsharing.hsadminng.mapper.OptionalFromJson; @@ -29,7 +29,7 @@ public class HsHostingAssetEntityPatcher implements EntityPatcher entity.setAlarmContact( Optional.ofNullable(newValue) - .map(uuid -> em.getReference(HsOfficeContactRbacEntity.class, newValue)) + .map(uuid -> em.getReference(HsOfficeContactBareEntity.class, newValue)) .orElse(null))); } } diff --git a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HostingAssetEntityValidator.java b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HostingAssetEntityValidator.java index 1cf4074e..6a95448d 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HostingAssetEntityValidator.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/hosting/asset/validators/HostingAssetEntityValidator.java @@ -5,7 +5,7 @@ import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType; import net.hostsharing.hsadminng.hs.booking.item.validators.HsBookingItemEntityValidatorRegistry; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAsset; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetType; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.validation.HsEntityValidator; import net.hostsharing.hsadminng.hs.validation.ValidatableProperty; @@ -213,7 +213,7 @@ public abstract class HostingAssetEntityValidator extends HsEntityValidator> { + static class AlarmContact extends ReferenceValidator> { AlarmContact(final HsHostingAssetType.RelationPolicy policy) { super(policy, HsHostingAsset::getAlarmContact); diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContact.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContact.java new file mode 100644 index 00000000..922800e1 --- /dev/null +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContact.java @@ -0,0 +1,106 @@ +package net.hostsharing.hsadminng.hs.office.contact; + +import io.hypersistence.utils.hibernate.type.json.JsonType; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.experimental.FieldNameConstants; +import lombok.experimental.SuperBuilder; +import net.hostsharing.hsadminng.errors.DisplayName; +import net.hostsharing.hsadminng.mapper.PatchableMapWrapper; +import net.hostsharing.hsadminng.rbac.rbacobject.RbacObject; +import net.hostsharing.hsadminng.stringify.Stringify; +import net.hostsharing.hsadminng.stringify.Stringifyable; +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.Type; + +import jakarta.persistence.Column; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.MappedSuperclass; +import jakarta.persistence.Transient; +import jakarta.persistence.Version; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import static net.hostsharing.hsadminng.stringify.Stringify.stringify; + +@MappedSuperclass +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder(toBuilder = true) +@FieldNameConstants +@DisplayName("Contact") +public class HsOfficeContact implements Stringifyable, RbacObject { + + private static Stringify toString = stringify(HsOfficeContact.class, "contact") + .withProp(Fields.caption, HsOfficeContact::getCaption) + .withProp(Fields.emailAddresses, HsOfficeContact::getEmailAddresses); + + @Id + @GeneratedValue(generator = "UUID") + @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") + private UUID uuid; + + @Version + private int version; + + @Column(name = "caption") + private String caption; + + @Column(name = "postaladdress") + private String postalAddress; // multiline free-format text + + @Builder.Default + @Setter(AccessLevel.NONE) + @Type(JsonType.class) + @Column(name = "emailaddresses") + private Map emailAddresses = new HashMap<>(); + + @Transient + private PatchableMapWrapper emailAddressesWrapper; + + @Builder.Default + @Setter(AccessLevel.NONE) + @Type(JsonType.class) + @Column(name = "phonenumbers") + private Map phoneNumbers = new HashMap<>(); + + @Transient + private PatchableMapWrapper phoneNumbersWrapper; + + public PatchableMapWrapper getEmailAddresses() { + return PatchableMapWrapper.of( + emailAddressesWrapper, + (newWrapper) -> {emailAddressesWrapper = newWrapper;}, + emailAddresses); + } + + public void putEmailAddresses(Map newEmailAddresses) { + getEmailAddresses().assign(newEmailAddresses); + } + + public PatchableMapWrapper getPhoneNumbers() { + return PatchableMapWrapper.of(phoneNumbersWrapper, (newWrapper) -> {phoneNumbersWrapper = newWrapper;}, phoneNumbers); + } + + public void putPhoneNumbers(Map newPhoneNumbers) { + getPhoneNumbers().assign(newPhoneNumbers); + } + + @Override + public String toString() { + return toString.apply(this); + } + + @Override + public String toShortString() { + return caption; + } +} diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareEntity.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareEntity.java new file mode 100644 index 00000000..958883ab --- /dev/null +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareEntity.java @@ -0,0 +1,23 @@ +package net.hostsharing.hsadminng.hs.office.contact; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.experimental.FieldNameConstants; +import lombok.experimental.SuperBuilder; +import net.hostsharing.hsadminng.errors.DisplayName; + +import jakarta.persistence.Entity; +import jakarta.persistence.Table; + +@Entity +@Table(name = "hs_office_contact") +@Getter +@Setter +@NoArgsConstructor +@SuperBuilder(toBuilder = true) +@FieldNameConstants +@DisplayName("BareContact") +public class HsOfficeContactBareEntity extends HsOfficeContact { + +} diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareRepository.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareRepository.java new file mode 100644 index 00000000..baa1e1e1 --- /dev/null +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareRepository.java @@ -0,0 +1,26 @@ +package net.hostsharing.hsadminng.hs.office.contact; + +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.Repository; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface HsOfficeContactBareRepository extends Repository { + + Optional findByUuid(UUID id); + + @Query(""" + SELECT c FROM HsOfficeContactBareEntity c + WHERE :caption is null + OR c.caption like concat(cast(:caption as text), '%') + """) + List findContactByOptionalCaptionLike(String caption); + + HsOfficeContactBareEntity save(final HsOfficeContactBareEntity entity); + + int deleteByUuid(final UUID uuid); + + long count(); +} diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java index 6139f399..cee7e28a 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactController.java @@ -29,7 +29,7 @@ public class HsOfficeContactController implements HsOfficeContactsApi { private Mapper mapper; @Autowired - private HsOfficeContactRepository contactRepo; + private HsOfficeContactRbacRepository contactRepo; @Override @Transactional(readOnly = true) diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntity.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntity.java deleted file mode 100644 index 0ce2eeb9..00000000 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntity.java +++ /dev/null @@ -1,148 +0,0 @@ -package net.hostsharing.hsadminng.hs.office.contact; - -import io.hypersistence.utils.hibernate.type.json.JsonType; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import lombok.experimental.FieldNameConstants; -import lombok.experimental.SuperBuilder; -import net.hostsharing.hsadminng.errors.DisplayName; -import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationEntity; -import net.hostsharing.hsadminng.mapper.PatchableMapWrapper; -import net.hostsharing.hsadminng.rbac.rbacdef.RbacView; -import net.hostsharing.hsadminng.rbac.rbacdef.RbacView.SQL; -import net.hostsharing.hsadminng.rbac.rbacobject.RbacObject; -import net.hostsharing.hsadminng.stringify.Stringify; -import net.hostsharing.hsadminng.stringify.Stringifyable; -import org.hibernate.annotations.GenericGenerator; -import org.hibernate.annotations.Type; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.Id; -import jakarta.persistence.Inheritance; -import jakarta.persistence.Table; -import jakarta.persistence.Transient; -import jakarta.persistence.Version; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import static jakarta.persistence.InheritanceType.TABLE_PER_CLASS; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.GLOBAL; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Permission.DELETE; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Permission.INSERT; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Permission.SELECT; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Permission.UPDATE; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.RbacUserReference.UserRole.CREATOR; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Role.ADMIN; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Role.GUEST; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Role.OWNER; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Role.REFERRER; -import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.rbacViewFor; -import static net.hostsharing.hsadminng.stringify.Stringify.stringify; - -@Entity -@Table(name = "hs_office_contact") -@Inheritance(strategy = TABLE_PER_CLASS) -@Getter -@Setter -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@FieldNameConstants -@DisplayName("Contact") -public class HsOfficeContactEntity implements Stringifyable, RbacObject { - - private static Stringify toString = stringify(HsOfficeContactEntity.class, "contact") - .withProp(Fields.caption, HsOfficeContactEntity::getCaption) - .withProp(Fields.emailAddresses, HsOfficeContactEntity::getEmailAddresses); - - @Id - @GeneratedValue(generator = "UUID") - @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") - private UUID uuid; - - @Version - private int version; - - @Column(name = "caption") - private String caption; - - @Column(name = "postaladdress") - private String postalAddress; // multiline free-format text - - @Builder.Default - @Setter(AccessLevel.NONE) - @Type(JsonType.class) - @Column(name = "emailaddresses") - private Map emailAddresses = new HashMap<>(); - - @Transient - private PatchableMapWrapper emailAddressesWrapper; - - @Builder.Default - @Setter(AccessLevel.NONE) - @Type(JsonType.class) - @Column(name = "phonenumbers") - private Map phoneNumbers = new HashMap<>(); - - @Transient - private PatchableMapWrapper phoneNumbersWrapper; - - public PatchableMapWrapper getEmailAddresses() { - return PatchableMapWrapper.of(emailAddressesWrapper, (newWrapper) -> {emailAddressesWrapper = newWrapper; }, emailAddresses ); - } - - public void putEmailAddresses(Map newEmailAddresses) { - getEmailAddresses().assign(newEmailAddresses); - } - - public PatchableMapWrapper getPhoneNumbers() { - return PatchableMapWrapper.of(phoneNumbersWrapper, (newWrapper) -> {phoneNumbersWrapper = newWrapper; }, phoneNumbers ); - } - - public void putPhoneNumbers(Map newPhoneNumbers) { - getPhoneNumbers().assign(newPhoneNumbers); - } - - @Override - public String toString() { - return toString.apply(this); - } - - @Override - public String toShortString() { - return caption; - } - - public HsOfficeRelationEntity.HsOfficeRelationEntityBuilder toBuilder() { - return null; - } - public static RbacView rbac() { - return rbacViewFor("contact", HsOfficeContactEntity.class) - .withIdentityView(SQL.projection("caption")) - .withUpdatableColumns("caption", "postalAddress", "emailAddresses", "phoneNumbers") - .createRole(OWNER, (with) -> { - with.owningUser(CREATOR); - with.incomingSuperRole(GLOBAL, ADMIN); - with.permission(DELETE); - }) - .createSubRole(ADMIN, (with) -> { - with.permission(UPDATE); - }) - .createSubRole(REFERRER, (with) -> { - with.permission(SELECT); - }) - .toRole(GLOBAL, GUEST).grantPermission(INSERT); - } - - public static void main(String[] args) throws IOException { - rbac().generateWithBaseFileName("5-hs-office/501-contact/5013-hs-office-contact-rbac"); - } -} diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacEntity.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacEntity.java index 54f069c9..5a474066 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacEntity.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacEntity.java @@ -4,7 +4,6 @@ import lombok.*; import lombok.experimental.FieldNameConstants; import lombok.experimental.SuperBuilder; import net.hostsharing.hsadminng.errors.DisplayName; -import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationEntity; import net.hostsharing.hsadminng.rbac.rbacdef.RbacView; import net.hostsharing.hsadminng.rbac.rbacdef.RbacView.SQL; @@ -21,16 +20,12 @@ import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.rbacViewFor; @Table(name = "hs_office_contact_rv") @Getter @Setter -@SuperBuilder @NoArgsConstructor +@SuperBuilder(toBuilder = true) @FieldNameConstants -@DisplayName("Contact") -public class HsOfficeContactRbacEntity extends HsOfficeContactEntity { +@DisplayName("RbacContact") +public class HsOfficeContactRbacEntity extends HsOfficeContact { - @Override - public HsOfficeRelationEntity.HsOfficeRelationEntityBuilder toBuilder() { - return null; - } public static RbacView rbac() { return rbacViewFor("contact", HsOfficeContactRbacEntity.class) diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepository.java b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacRepository.java similarity index 87% rename from src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepository.java rename to src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacRepository.java index bb3519c3..e893bced 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepository.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacRepository.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -public interface HsOfficeContactRepository extends Repository { +public interface HsOfficeContactRbacRepository extends Repository { Optional findByUuid(UUID id); diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepository.java b/src/main/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepository.java index 1e0b8f60..bc794f6c 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepository.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepository.java @@ -33,7 +33,7 @@ public interface HsOfficeDebitorRepository extends Repository ofNullable(p.getPartnerRel()) .map(HsOfficeRelationEntity::getContact) - .map(HsOfficeContactEntity::toShortString) + .map(HsOfficeContact::toShortString) .orElse(null)) .quotedValues(false); diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepository.java b/src/main/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepository.java index 2ae260bd..f63bf469 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepository.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepository.java @@ -16,7 +16,7 @@ public interface HsOfficePartnerRepository extends Repository new NoSuchElementException("cannot find holderUuid " + body.getHolderUuid()) )); - entityToSave.setContact(contactRepo.findByUuid(body.getContactUuid()).orElseThrow( + entityToSave.setContact(contactBareRepo.findByUuid(body.getContactUuid()).orElseThrow( () -> new NoSuchElementException("cannot find contactUuid " + body.getContactUuid()) )); diff --git a/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntity.java b/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntity.java index 783c9634..60464ee8 100644 --- a/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntity.java +++ b/src/main/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntity.java @@ -3,8 +3,7 @@ package net.hostsharing.hsadminng.hs.office.relation; import lombok.*; import lombok.experimental.FieldNameConstants; import lombok.experimental.SuperBuilder; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactEntity; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.rbac.rbacobject.RbacObject; @@ -70,7 +69,7 @@ public abstract class HsOfficeRelationEntity implements RbacObject { verifyNotNull(newValue, "contact"); - entity.setContact(em.getReference(HsOfficeContactRbacEntity.class, newValue)); + entity.setContact(em.getReference(HsOfficeContactBareEntity.class, newValue)); }); } diff --git a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java index 94d27f6d..b6a6d263 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerAcceptanceTest.java @@ -9,7 +9,7 @@ import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemRepository; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemType; import net.hostsharing.hsadminng.hs.booking.project.HsBookingProjectRepository; import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacRepository; import net.hostsharing.hsadminng.hs.office.debitor.HsOfficeDebitorRepository; import net.hostsharing.hsadminng.rbac.test.ContextBasedTestWithCleanup; import net.hostsharing.hsadminng.rbac.test.JpaAttempt; @@ -62,7 +62,7 @@ class HsHostingAssetControllerAcceptanceTest extends ContextBasedTestWithCleanup HsOfficeDebitorRepository debitorRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactRbacRepository contactRepo; @Autowired JpaAttempt jpaAttempt; diff --git a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerRestTest.java b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerRestTest.java index f20006c2..62d319ea 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerRestTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetControllerRestTest.java @@ -32,7 +32,7 @@ import static net.hostsharing.hsadminng.hs.booking.item.TestHsBookingItem.TEST_C import static net.hostsharing.hsadminng.hs.booking.item.TestHsBookingItem.TEST_MANAGED_SERVER_BOOKING_ITEM; import static net.hostsharing.hsadminng.hs.hosting.asset.TestHsHostingAssetEntities.TEST_MANAGED_SERVER_HOSTING_ASSET; import static net.hostsharing.hsadminng.hs.hosting.asset.TestHsHostingAssetEntities.TEST_MANAGED_WEBSPACE_HOSTING_ASSET; -import static net.hostsharing.hsadminng.hs.office.contact.TestHsOfficeContact.TEST_CONTACT; +import static net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareTestEntity.TEST_BARE_CONTACT; import static net.hostsharing.hsadminng.rbac.test.JsonMatcher.lenientlyEquals; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -75,7 +75,7 @@ public class HsHostingAssetControllerRestTest { .bookingItem(TEST_CLOUD_SERVER_BOOKING_ITEM) .identifier("vm1234") .caption("some fake cloud-server") - .alarmContact(TEST_CONTACT) + .alarmContact(TEST_BARE_CONTACT) .build()), """ [ @@ -101,7 +101,7 @@ public class HsHostingAssetControllerRestTest { .bookingItem(TEST_MANAGED_SERVER_BOOKING_ITEM) .identifier("vm1234") .caption("some fake managed-server") - .alarmContact(TEST_CONTACT) + .alarmContact(TEST_BARE_CONTACT) .config(Map.ofEntries( entry("monit_max_ssd_usage", 70), entry("monit_max_cpu_usage", 80), diff --git a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcherUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcherUnitTest.java index b75e401d..7a8c2f76 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcherUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/hosting/asset/HsHostingAssetEntityPatcherUnitTest.java @@ -1,6 +1,7 @@ package net.hostsharing.hsadminng.hs.hosting.asset; import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsHostingAssetPatchResource; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; import net.hostsharing.hsadminng.mapper.KeyValueMap; import net.hostsharing.hsadminng.rbac.test.PatchUnitTestBase; @@ -48,7 +49,7 @@ class HsHostingAssetEntityPatcherUnitTest extends PatchUnitTestBase< entry("SSD", 256), entry("MEM", 64) ); - final HsOfficeContactRbacEntity givenInitialContact = HsOfficeContactRbacEntity.builder() + final HsOfficeContactBareEntity givenInitialContact = HsOfficeContactBareEntity.builder() .uuid(UUID.randomUUID()) .build(); @@ -111,7 +112,7 @@ class HsHostingAssetEntityPatcherUnitTest extends PatchUnitTestBase< ); } - static HsOfficeContactRbacEntity newContact(final UUID uuid) { - return HsOfficeContactRbacEntity.builder().uuid(uuid).build(); + static HsOfficeContactBareEntity newContact(final UUID uuid) { + return HsOfficeContactBareEntity.builder().uuid(uuid).build(); } } diff --git a/src/test/java/net/hostsharing/hsadminng/hs/migration/HsHostingAssetBareEntity.java b/src/test/java/net/hostsharing/hsadminng/hs/migration/HsHostingAssetBareEntity.java index 235d3c6d..34e6721f 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/migration/HsHostingAssetBareEntity.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/migration/HsHostingAssetBareEntity.java @@ -10,7 +10,7 @@ import lombok.Setter; import net.hostsharing.hsadminng.hs.booking.item.HsBookingItemEntity; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAsset; import net.hostsharing.hsadminng.hs.hosting.asset.HsHostingAssetType; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.mapper.PatchableMapWrapper; import org.hibernate.annotations.Type; @@ -69,7 +69,7 @@ public class HsHostingAssetBareEntity implements HsHostingAsset { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "alarmcontactuuid") - private HsOfficeContactRbacEntity alarmContact; + private HsOfficeContactBareEntity alarmContact; @OneToMany(cascade = CascadeType.REFRESH, orphanRemoval = true, fetch = FetchType.LAZY) @JoinColumn(name = "parentassetuuid", referencedColumnName = "uuid") diff --git a/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java b/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java index 1fc3761f..af65a204 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java @@ -2,7 +2,7 @@ package net.hostsharing.hsadminng.hs.migration; import net.hostsharing.hsadminng.context.Context; import net.hostsharing.hsadminng.hs.office.bankaccount.HsOfficeBankAccountEntity; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.coopassets.HsOfficeCoopAssetsTransactionEntity; import net.hostsharing.hsadminng.hs.office.coopassets.HsOfficeCoopAssetsTransactionType; import net.hostsharing.hsadminng.hs.office.coopshares.HsOfficeCoopSharesTransactionEntity; @@ -121,7 +121,7 @@ public class ImportOfficeData extends CsvDataImport { -1 ); - static Map contacts = new WriteOnceMap<>(); + static Map contacts = new WriteOnceMap<>(); static Map persons = new WriteOnceMap<>(); static Map partners = new WriteOnceMap<>(); static Map debitors = new WriteOnceMap<>(); @@ -979,7 +979,7 @@ public class ImportOfficeData extends CsvDataImport { contactPerson = addPerson(HsOfficePersonEntity.builder().build(), rec); } - final var contact = HsOfficeContactRbacEntity.builder().build(); + final var contact = HsOfficeContactBareEntity.builder().build(); initContact(contact, rec); if (containsPartnerRel(rec)) { @@ -1057,7 +1057,7 @@ public class ImportOfficeData extends CsvDataImport { final HsOfficeRelationType type, final HsOfficePersonEntity anchor, final HsOfficePersonEntity holder, - final HsOfficeContactRbacEntity contact) { + final HsOfficeContactBareEntity contact) { final var rel = HsOfficeRelationBareEntity.builder() .anchor(anchor) .holder(holder) @@ -1118,7 +1118,7 @@ public class ImportOfficeData extends CsvDataImport { assertThat(unexpectedRolesSet).isEmpty(); } - private HsOfficeContactRbacEntity initContact(final HsOfficeContactRbacEntity contact, final Record contactRecord) { + private HsOfficeContactBareEntity initContact(final HsOfficeContactBareEntity contact, final Record contactRecord) { contact.setCaption(toCaption( contactRecord.getString("salut"), diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareTestEntity.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareTestEntity.java new file mode 100644 index 00000000..bb50a609 --- /dev/null +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactBareTestEntity.java @@ -0,0 +1,16 @@ +package net.hostsharing.hsadminng.hs.office.contact; + +import java.util.Map; + +public class HsOfficeContactBareTestEntity { + + public static final HsOfficeContactBareEntity TEST_BARE_CONTACT = hsOfficeContact("some contact", "some-contact@example.com"); + + static public HsOfficeContactBareEntity hsOfficeContact(final String caption, final String emailAddr) { + return HsOfficeContactBareEntity.builder() + .caption(caption) + .postalAddress("address of " + caption) + .emailAddresses(Map.of("main", emailAddr)) + .build(); + } +} diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java index d7a77e56..4bd2a4be 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactControllerAcceptanceTest.java @@ -45,7 +45,7 @@ class HsOfficeContactControllerAcceptanceTest extends ContextBasedTestWithCleanu Context contextMock; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactRbacRepository contactRepo; @Autowired JpaAttempt jpaAttempt; diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntityPatcherUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactPatcherUnitTest.java similarity index 98% rename from src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntityPatcherUnitTest.java rename to src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactPatcherUnitTest.java index e1f00a98..95b4eb94 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntityPatcherUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactPatcherUnitTest.java @@ -13,7 +13,7 @@ import static net.hostsharing.hsadminng.mapper.PatchMap.patchMap; import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS; @TestInstance(PER_CLASS) -class HsOfficeContactEntityPatcherUnitTest extends PatchUnitTestBase< +class HsOfficeContactPatcherUnitTest extends PatchUnitTestBase< HsOfficeContactPatchResource, HsOfficeContactRbacEntity > { diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepositoryIntegrationTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacRepositoryIntegrationTest.java similarity index 98% rename from src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepositoryIntegrationTest.java rename to src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacRepositoryIntegrationTest.java index 87a236fb..5f5e6190 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRepositoryIntegrationTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacRepositoryIntegrationTest.java @@ -21,7 +21,7 @@ import java.util.Arrays; import java.util.List; import java.util.function.Supplier; -import static net.hostsharing.hsadminng.hs.office.contact.TestHsOfficeContact.hsOfficeContact; +import static net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacTestEntity.hsOfficeContact; import static net.hostsharing.hsadminng.rbac.rbacgrant.RawRbacGrantEntity.distinctGrantDisplaysOf; import static net.hostsharing.hsadminng.rbac.rbacrole.RawRbacRoleEntity.distinctRoleNamesOf; import static net.hostsharing.hsadminng.rbac.test.JpaAttempt.attempt; @@ -29,10 +29,10 @@ import static org.assertj.core.api.Assertions.assertThat; @DataJpaTest @Import( { Context.class, JpaAttempt.class }) -class HsOfficeContactRepositoryIntegrationTest extends ContextBasedTestWithCleanup { +class HsOfficeContactRbacRepositoryIntegrationTest extends ContextBasedTestWithCleanup { @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactRbacRepository contactRepo; @Autowired RawRbacRoleRepository rawRoleRepo; diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/TestHsOfficeContact.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacTestEntity.java similarity index 70% rename from src/test/java/net/hostsharing/hsadminng/hs/office/contact/TestHsOfficeContact.java rename to src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacTestEntity.java index cf20b8f4..ba96f31b 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/TestHsOfficeContact.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactRbacTestEntity.java @@ -2,9 +2,9 @@ package net.hostsharing.hsadminng.hs.office.contact; import java.util.Map; -public class TestHsOfficeContact { +public class HsOfficeContactRbacTestEntity { - public static final HsOfficeContactRbacEntity TEST_CONTACT = hsOfficeContact("some contact", "some-contact@example.com"); + public static final HsOfficeContactRbacEntity TEST_RBAC_CONTACT = hsOfficeContact("some contact", "some-contact@example.com"); static public HsOfficeContactRbacEntity hsOfficeContact(final String caption, final String emailAddr) { return HsOfficeContactRbacEntity.builder() diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntityUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactUnitTest.java similarity index 93% rename from src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntityUnitTest.java rename to src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactUnitTest.java index 7b290ecc..94f8e0b8 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactEntityUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/contact/HsOfficeContactUnitTest.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -class HsOfficeContactEntityUnitTest { +class HsOfficeContactUnitTest { @Test void toStringReturnsNullForNullContact() { diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorControllerAcceptanceTest.java index 564f1d37..15e23122 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorControllerAcceptanceTest.java @@ -5,7 +5,7 @@ import io.restassured.http.ContentType; import net.hostsharing.hsadminng.HsadminNgApplication; import net.hostsharing.hsadminng.context.Context; import net.hostsharing.hsadminng.hs.office.bankaccount.HsOfficeBankAccountRepository; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareRepository; import net.hostsharing.hsadminng.hs.office.partner.HsOfficePartnerRepository; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonRepository; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationRbacEntity; @@ -55,7 +55,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu HsOfficePartnerRepository partnerRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactBareRepository contactBareRepo; @Autowired HsOfficeBankAccountRepository bankAccountRepo; @@ -268,7 +268,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var givenPartner = partnerRepo.findPartnerByOptionalNameLike("Third").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var givenBankAccount = bankAccountRepo.findByOptionalHolderLike("Fourth").get(0); final var givenBillingPerson = personRepo.findPersonByOptionalNameLike("Fourth").get(0); @@ -325,7 +325,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var givenPartner = partnerRepo.findPartnerByOptionalNameLike("Third").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var location = RestAssured // @formatter:off .given() @@ -414,7 +414,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var givenDebitorRelUuid = UUID.fromString("00000000-0000-0000-0000-000000000000"); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var location = RestAssured // @formatter:off .given() @@ -551,7 +551,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var givenDebitor = givenSomeTemporaryDebitor(); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var location = RestAssured // @formatter:off .given() @@ -721,7 +721,7 @@ class HsOfficeDebitorControllerAcceptanceTest extends ContextBasedTestWithCleanu return jpaAttempt.transacted(() -> { context.define("superuser-alex@hostsharing.net"); final var givenPartner = partnerRepo.findPartnerByOptionalNameLike("Fourth").get(0).load(); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth contact").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth contact").get(0); final var newDebitor = HsOfficeDebitorEntity.builder() .debitorNumberSuffix(nextDebitorSuffix()) .billable(true) diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorEntityUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorEntityUnitTest.java index dfa94e6a..9ff0f6e5 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorEntityUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorEntityUnitTest.java @@ -1,6 +1,6 @@ package net.hostsharing.hsadminng.hs.office.debitor; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.partner.HsOfficePartnerEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonType; @@ -21,7 +21,7 @@ class HsOfficeDebitorEntityUnitTest { .personType(HsOfficePersonType.LEGAL_PERSON) .tradeName("some billing trade name") .build()) - .contact(HsOfficeContactRbacEntity.builder().caption("some caption").build()) + .contact(HsOfficeContactBareEntity.builder().caption("some caption").build()) .build(); @Test diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepositoryIntegrationTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepositoryIntegrationTest.java index 2e1f7d39..499a0b63 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepositoryIntegrationTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/HsOfficeDebitorRepositoryIntegrationTest.java @@ -2,7 +2,7 @@ package net.hostsharing.hsadminng.hs.office.debitor; import net.hostsharing.hsadminng.context.Context; import net.hostsharing.hsadminng.hs.office.bankaccount.HsOfficeBankAccountRepository; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareRepository; import net.hostsharing.hsadminng.hs.office.partner.HsOfficePartnerRepository; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonRepository; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationEntity; @@ -50,7 +50,7 @@ class HsOfficeDebitorRepositoryIntegrationTest extends ContextBasedTestWithClean HsOfficePartnerRepository partnerRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactBareRepository contactBareRepo; @Autowired HsOfficePersonRepository personRepo; @@ -85,7 +85,7 @@ class HsOfficeDebitorRepositoryIntegrationTest extends ContextBasedTestWithClean final var count = debitorRepo.count(); final var givenPartner = partnerRepo.findPartnerByPartnerNumber(10001); final var givenPartnerPerson = one(personRepo.findPersonByOptionalNameLike("First GmbH")); - final var givenContact = one(contactRepo.findContactByOptionalCaptionLike("first contact")); + final var givenContact = one(contactBareRepo.findContactByOptionalCaptionLike("first contact")); // when final var result = attempt(em, () -> { @@ -119,7 +119,7 @@ class HsOfficeDebitorRepositoryIntegrationTest extends ContextBasedTestWithClean // given context("superuser-alex@hostsharing.net"); final var givenPartnerPerson = one(personRepo.findPersonByOptionalNameLike("First GmbH")); - final var givenContact = one(contactRepo.findContactByOptionalCaptionLike("first contact")); + final var givenContact = one(contactBareRepo.findContactByOptionalCaptionLike("first contact")); // when final var result = attempt(em, () -> { @@ -157,7 +157,7 @@ class HsOfficeDebitorRepositoryIntegrationTest extends ContextBasedTestWithClean attempt(em, () -> { final var givenPartnerPerson = one(personRepo.findPersonByOptionalNameLike("First GmbH")); final var givenDebitorPerson = one(personRepo.findPersonByOptionalNameLike("Fourth eG")); - final var givenContact = one(contactRepo.findContactByOptionalCaptionLike("fourth contact")); + final var givenContact = one(contactBareRepo.findContactByOptionalCaptionLike("fourth contact")); final var newDebitor = HsOfficeDebitorEntity.builder() .debitorNumberSuffix("22") .debitorRel(HsOfficeRelationRbacEntity.builder() @@ -323,7 +323,7 @@ class HsOfficeDebitorRepositoryIntegrationTest extends ContextBasedTestWithClean "hs_office_relation#FourtheG-with-DEBITOR-FourtheG:ADMIN", true); final var givenNewPartnerPerson = one(personRepo.findPersonByOptionalNameLike("First")); final var givenNewBillingPerson = one(personRepo.findPersonByOptionalNameLike("Firby")); - final var givenNewContact = one(contactRepo.findContactByOptionalCaptionLike("sixth contact")); + final var givenNewContact = one(contactBareRepo.findContactByOptionalCaptionLike("sixth contact")); final var givenNewBankAccount = one(bankAccountRepo.findByOptionalHolderLike("first")); final String givenNewVatId = "NEW-VAT-ID"; final String givenNewVatCountryCode = "NC"; @@ -611,7 +611,7 @@ class HsOfficeDebitorRepositoryIntegrationTest extends ContextBasedTestWithClean context("superuser-alex@hostsharing.net"); final var givenPartner = one(partnerRepo.findPartnerByOptionalNameLike(partnerName)); final var givenPartnerPerson = givenPartner.getPartnerRel().getHolder(); - final var givenContact = one(contactRepo.findContactByOptionalCaptionLike(contactCaption)); + final var givenContact = one(contactBareRepo.findContactByOptionalCaptionLike(contactCaption)); final var givenBankAccount = bankAccountHolder != null ? one(bankAccountRepo.findByOptionalHolderLike(bankAccountHolder)) : null; final var newDebitor = HsOfficeDebitorEntity.builder() diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/TestHsOfficeDebitor.java b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/TestHsOfficeDebitor.java index febb5c8e..fea82b79 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/TestHsOfficeDebitor.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/debitor/TestHsOfficeDebitor.java @@ -4,7 +4,7 @@ import lombok.experimental.UtilityClass; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationRbacEntity; -import static net.hostsharing.hsadminng.hs.office.contact.TestHsOfficeContact.TEST_CONTACT; +import static net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareTestEntity.TEST_BARE_CONTACT; import static net.hostsharing.hsadminng.hs.office.partner.TestHsOfficePartner.TEST_PARTNER; @UtilityClass @@ -17,7 +17,7 @@ public class TestHsOfficeDebitor { .debitorRel(HsOfficeRelationRbacEntity.builder() .holder(HsOfficePersonEntity.builder().build()) .anchor(HsOfficePersonEntity.builder().build()) - .contact(TEST_CONTACT) + .contact(TEST_BARE_CONTACT) .build()) .partner(TEST_PARTNER) .defaultPrefix("abc") diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerControllerAcceptanceTest.java index 25e0ee8e..fc661c89 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerControllerAcceptanceTest.java @@ -3,8 +3,8 @@ package net.hostsharing.hsadminng.hs.office.partner; import io.restassured.RestAssured; import io.restassured.http.ContentType; import net.hostsharing.hsadminng.HsadminNgApplication; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareRepository; import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonRepository; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationEntity; @@ -48,7 +48,7 @@ class HsOfficePartnerControllerAcceptanceTest extends ContextBasedTestWithCleanu HsOfficePersonRepository personRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactBareRepository contactBareRepo; @Autowired JpaAttempt jpaAttempt; @@ -92,7 +92,7 @@ class HsOfficePartnerControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var givenMandantPerson = personRepo.findPersonByOptionalNameLike("Hostsharing eG").stream().findFirst().orElseThrow(); final var givenPerson = personRepo.findPersonByOptionalNameLike("Third").stream().findFirst().orElseThrow(); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").stream().findFirst().orElseThrow(); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").stream().findFirst().orElseThrow(); final var location = RestAssured // @formatter:off .given() @@ -189,7 +189,7 @@ class HsOfficePartnerControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var mandantPerson = personRepo.findPersonByOptionalNameLike("Hostsharing eG").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var location = RestAssured // @formatter:off .given() @@ -524,7 +524,7 @@ class HsOfficePartnerControllerAcceptanceTest extends ContextBasedTestWithCleanu context.define("superuser-alex@hostsharing.net"); final var givenMandantPerson = personRepo.findPersonByOptionalNameLike("Hostsharing eG").stream().findFirst().orElseThrow(); final var givenPerson = personRepo.findPersonByOptionalNameLike(partnerHolderName).stream().findFirst().orElseThrow(); - final var givenContact = contactRepo.findContactByOptionalCaptionLike(contactName).stream().findFirst().orElseThrow(); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike(contactName).stream().findFirst().orElseThrow(); final var partnerRel = new HsOfficeRelationRbacEntity(); partnerRel.setType(HsOfficeRelationType.PARTNER); diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityPatcherUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityPatcherUnitTest.java index 9a5d42e1..a8928fb0 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityPatcherUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityPatcherUnitTest.java @@ -1,6 +1,6 @@ package net.hostsharing.hsadminng.hs.office.partner; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficePartnerPatchResource; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationEntity; @@ -37,7 +37,7 @@ class HsOfficePartnerEntityPatcherUnitTest extends PatchUnitTestBase< private final HsOfficePersonEntity givenInitialPerson = HsOfficePersonEntity.builder() .uuid(INITIAL_PERSON_UUID) .build(); - private final HsOfficeContactRbacEntity givenInitialContact = HsOfficeContactRbacEntity.builder() + private final HsOfficeContactBareEntity givenInitialContact = HsOfficeContactBareEntity.builder() .uuid(INITIAL_CONTACT_UUID) .build(); diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityUnitTest.java index b0a396ee..f1c9ad2c 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerEntityUnitTest.java @@ -1,6 +1,6 @@ package net.hostsharing.hsadminng.hs.office.partner; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonType; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationRbacEntity; @@ -23,7 +23,7 @@ class HsOfficePartnerEntityUnitTest { .personType(HsOfficePersonType.LEGAL_PERSON) .tradeName("some trade name") .build()) - .contact(HsOfficeContactRbacEntity.builder().caption("some caption").build()) + .contact(HsOfficeContactBareEntity.builder().caption("some caption").build()) .build()) .build(); diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepositoryIntegrationTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepositoryIntegrationTest.java index 5b712087..b74e4036 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepositoryIntegrationTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/HsOfficePartnerRepositoryIntegrationTest.java @@ -1,7 +1,7 @@ package net.hostsharing.hsadminng.hs.office.partner; import net.hostsharing.hsadminng.context.Context; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareRepository; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonRepository; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationEntity; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationRbacEntity; @@ -49,7 +49,7 @@ class HsOfficePartnerRepositoryIntegrationTest extends ContextBasedTestWithClean HsOfficePersonRepository personRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactBareRepository contactBareRepo; @Autowired RawRbacObjectRepository rawObjectRepo; @@ -110,7 +110,7 @@ class HsOfficePartnerRepositoryIntegrationTest extends ContextBasedTestWithClean // when attempt(em, () -> { final var givenPartnerPerson = personRepo.findPersonByOptionalNameLike("Erben Bessler").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth contact").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth contact").get(0); final var givenMandantPerson = personRepo.findPersonByOptionalNameLike("Hostsharing eG").get(0); final var newRelation = HsOfficeRelationRbacEntity.builder() @@ -466,7 +466,7 @@ class HsOfficePartnerRepositoryIntegrationTest extends ContextBasedTestWithClean private HsOfficeRelationEntity givenSomeTemporaryHostsharingPartnerRel(final String person, final String contact) { final var givenMandantorPerson = personRepo.findPersonByOptionalNameLike("Hostsharing eG").get(0); final var givenPartnerPerson = personRepo.findPersonByOptionalNameLike(person).get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike(contact).get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike(contact).get(0); final var partnerRel = HsOfficeRelationRbacEntity.builder() .holder(givenPartnerPerson) diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/TestHsOfficePartner.java b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/TestHsOfficePartner.java index 25cbc082..a62b8910 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/partner/TestHsOfficePartner.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/partner/TestHsOfficePartner.java @@ -1,6 +1,6 @@ package net.hostsharing.hsadminng.hs.office.partner; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationRbacEntity; import net.hostsharing.hsadminng.hs.office.relation.HsOfficeRelationType; @@ -25,7 +25,7 @@ public class TestHsOfficePartner { .personType(LEGAL_PERSON) .tradeName(tradeName) .build()) - .contact(HsOfficeContactRbacEntity.builder() + .contact(HsOfficeContactBareEntity.builder() .caption(tradeName) .build()) .build() diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java index a7909c3a..87a015b5 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationControllerAcceptanceTest.java @@ -2,10 +2,10 @@ package net.hostsharing.hsadminng.hs.office.relation; import io.restassured.RestAssured; import io.restassured.http.ContentType; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareRepository; import net.hostsharing.hsadminng.rbac.test.ContextBasedTestWithCleanup; import net.hostsharing.hsadminng.HsadminNgApplication; import net.hostsharing.hsadminng.context.Context; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeRelationTypeResource; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonRepository; import net.hostsharing.hsadminng.rbac.test.JpaAttempt; @@ -49,7 +49,7 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean HsOfficePersonRepository personRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactBareRepository contactBareRepo; @Autowired JpaAttempt jpaAttempt; @@ -125,7 +125,7 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean context.define("superuser-alex@hostsharing.net"); final var givenAnchorPerson = personRepo.findPersonByOptionalNameLike("Third").get(0); final var givenHolderPerson = personRepo.findPersonByOptionalNameLike("Paul").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("second").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("second").get(0); final var location = RestAssured // @formatter:off .given() @@ -172,7 +172,7 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean context.define("superuser-alex@hostsharing.net"); final var givenAnchorPersonUuid = GIVEN_NON_EXISTING_HOLDER_PERSON_UUID; final var givenHolderPerson = personRepo.findPersonByOptionalNameLike("Smith").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var location = RestAssured // @formatter:off .given() @@ -204,7 +204,7 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean context.define("superuser-alex@hostsharing.net"); final var givenAnchorPerson = personRepo.findPersonByOptionalNameLike("Third").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); final var location = RestAssured // @formatter:off .given() @@ -353,7 +353,7 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean context.define("superuser-alex@hostsharing.net"); final var givenRelation = givenSomeTemporaryRelationBessler(); assertThat(givenRelation.getContact().getCaption()).isEqualTo("seventh contact"); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth").get(0); RestAssured // @formatter:off .given() @@ -455,7 +455,7 @@ class HsOfficeRelationControllerAcceptanceTest extends ContextBasedTestWithClean context.define("superuser-alex@hostsharing.net"); final var givenAnchorPerson = personRepo.findPersonByOptionalNameLike("Erben Bessler").get(0); final var givenHolderPerson = personRepo.findPersonByOptionalNameLike("Winkler").get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("seventh contact").get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("seventh contact").get(0); final var newRelation = HsOfficeRelationRbacEntity.builder() .type(HsOfficeRelationType.REPRESENTATIVE) .anchor(givenAnchorPerson) diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntityPatcherUnitTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntityPatcherUnitTest.java index 5bfd4690..ca1dfa8d 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntityPatcherUnitTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationEntityPatcherUnitTest.java @@ -1,5 +1,6 @@ package net.hostsharing.hsadminng.hs.office.relation; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareEntity; import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRbacEntity; import net.hostsharing.hsadminng.hs.office.generated.api.v1.model.HsOfficeRelationPatchResource; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonEntity; @@ -44,7 +45,7 @@ class HsOfficeRelationEntityPatcherUnitTest extends PatchUnitTestBase< final HsOfficePersonEntity givenInitialHolderPerson = HsOfficePersonEntity.builder() .uuid(UUID.randomUUID()) .build(); - final HsOfficeContactRbacEntity givenInitialContact = HsOfficeContactRbacEntity.builder() + final HsOfficeContactBareEntity givenInitialContact = HsOfficeContactBareEntity.builder() .uuid(UUID.randomUUID()) .build(); @@ -82,9 +83,7 @@ class HsOfficeRelationEntityPatcherUnitTest extends PatchUnitTestBase< ); } - static HsOfficeContactRbacEntity newContact(final UUID uuid) { - final var newContact = new HsOfficeContactRbacEntity(); - newContact.setUuid(uuid); - return newContact; + static HsOfficeContactBareEntity newContact(final UUID uuid) { + return HsOfficeContactBareEntity.builder().uuid(uuid).build(); } } diff --git a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationRepositoryIntegrationTest.java b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationRepositoryIntegrationTest.java index 7bf9112c..329e97c6 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationRepositoryIntegrationTest.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/office/relation/HsOfficeRelationRepositoryIntegrationTest.java @@ -1,7 +1,7 @@ package net.hostsharing.hsadminng.hs.office.relation; import net.hostsharing.hsadminng.context.Context; -import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactRepository; +import net.hostsharing.hsadminng.hs.office.contact.HsOfficeContactBareRepository; import net.hostsharing.hsadminng.hs.office.person.HsOfficePersonRepository; import net.hostsharing.hsadminng.rbac.test.ContextBasedTestWithCleanup; import net.hostsharing.hsadminng.rbac.rbacgrant.RawRbacGrantRepository; @@ -40,7 +40,7 @@ class HsOfficeRelationRepositoryIntegrationTest extends ContextBasedTestWithClea HsOfficePersonRepository personRepo; @Autowired - HsOfficeContactRepository contactRepo; + HsOfficeContactBareRepository contactBareRepo; @Autowired RawRbacRoleRepository rawRoleRepo; @@ -71,7 +71,7 @@ class HsOfficeRelationRepositoryIntegrationTest extends ContextBasedTestWithClea final var givenHolderPerson = personRepo.findPersonByOptionalNameLike("Paul").stream() .filter(p -> p.getPersonType() == NATURAL_PERSON) .findFirst().orElseThrow(); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth contact").stream() + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth contact").stream() .findFirst().orElseThrow(); // when @@ -111,7 +111,7 @@ class HsOfficeRelationRepositoryIntegrationTest extends ContextBasedTestWithClea final var givenHolderPerson = personRepo.findPersonByOptionalNameLike("Bert").stream() .filter(p -> p.getPersonType() == NATURAL_PERSON) .findFirst().orElseThrow(); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("fourth contact").stream() + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("fourth contact").stream() .findFirst().orElseThrow(); final var newRelation = HsOfficeRelationRbacEntity.builder() .anchor(givenAnchorPerson) @@ -219,7 +219,7 @@ class HsOfficeRelationRepositoryIntegrationTest extends ContextBasedTestWithClea givenRelation, "hs_office_person#ErbenBesslerMelBessler:ADMIN"); context("superuser-alex@hostsharing.net"); - final var givenContact = contactRepo.findContactByOptionalCaptionLike("sixth contact").stream().findFirst().orElseThrow(); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike("sixth contact").stream().findFirst().orElseThrow(); // when final var result = jpaAttempt.transacted(() -> { @@ -413,7 +413,7 @@ class HsOfficeRelationRepositoryIntegrationTest extends ContextBasedTestWithClea context("superuser-alex@hostsharing.net"); final var givenAnchorPerson = personRepo.findPersonByOptionalNameLike("Erben Bessler").get(0); final var givenHolderPerson = personRepo.findPersonByOptionalNameLike(holderPerson).get(0); - final var givenContact = contactRepo.findContactByOptionalCaptionLike(contact).get(0); + final var givenContact = contactBareRepo.findContactByOptionalCaptionLike(contact).get(0); final var newRelation = HsOfficeRelationRbacEntity.builder() .type(HsOfficeRelationType.REPRESENTATIVE) .anchor(givenAnchorPerson)