diff --git a/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/ContactImExporter.java b/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/ContactImExporter.java index 045b227..4085837 100644 --- a/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/ContactImExporter.java +++ b/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/ContactImExporter.java @@ -1,5 +1,7 @@ package org.scientificcms.contenttypes.scidepartment; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; import org.librecms.assets.Organization; @@ -22,6 +24,10 @@ import javax.transaction.Transactional; @Processes(Contact.class) public class ContactImExporter extends AbstractEntityImExporter { + + private static final Logger LOGGER = LogManager.getLogger( + ContactImExporter.class + ); @Inject private ContactRepository contactRepo; @@ -46,6 +52,11 @@ public class ContactImExporter @Override @Transactional(Transactional.TxType.REQUIRED) protected void saveImportedEntity(final Contact entity) { + LOGGER.info( + "Saving {}: {}", + entity.getClass().getName(), + Objects.toString(entity) + ); contactRepo.save(entity); } diff --git a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Contact.java b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Contact.java index d7b0af6..0b237e1 100644 --- a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Contact.java +++ b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Contact.java @@ -41,7 +41,6 @@ public class Contact implements Exportable, Serializable { @GeneratedValue(strategy = GenerationType.AUTO) private long contactId; - @Id @Column(name = "uuid", unique = true, nullable = false) private String uuid; diff --git a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/ContactImExporter.java b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/ContactImExporter.java index db6599c..3af13cd 100644 --- a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/ContactImExporter.java +++ b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/ContactImExporter.java @@ -1,5 +1,7 @@ package org.scientificcms.contenttypes.sciproject; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; import org.librecms.assets.Organization; @@ -23,6 +25,10 @@ import javax.transaction.Transactional; @Processes(Contact.class) public class ContactImExporter extends AbstractEntityImExporter { + + private static final Logger LOGGER = LogManager.getLogger( + ContactImExporter.class + ); @Inject private ContactRepository contactRepo; @@ -50,10 +56,7 @@ public class ContactImExporter @Override @Transactional(Transactional.TxType.REQUIRED) protected void saveImportedEntity(final Contact entity) { - final SciProject project = entity.getProject(); - project.addContact(entity); contactRepo.save(entity); - itemRepo.save(project); } @Override diff --git a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/MembershipImExporter.java b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/MembershipImExporter.java index ea73d9b..71f6981 100644 --- a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/MembershipImExporter.java +++ b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/MembershipImExporter.java @@ -48,10 +48,7 @@ public class MembershipImExporter @Override @Transactional(Transactional.TxType.REQUIRED) protected void saveImportedEntity(final Membership entity) { - final SciProject project = entity.getProject(); - project.addMember(entity); membershipRepo.save(entity); - itemRepo.save(project); } @Override diff --git a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProjectIdResolver.java b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProjectIdResolver.java index a81b8e0..5b43229 100644 --- a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProjectIdResolver.java +++ b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProjectIdResolver.java @@ -30,7 +30,7 @@ public class SciProjectIdResolver implements Serializable, ObjectIdResolver { @Override public Object resolveId(final ObjectIdGenerator.IdKey id) { - return CdiUtil + final SciProject project = CdiUtil .createCdiUtil() .findBean(ContentItemRepository.class) .findByUuid(id.key.toString(), SciProject.class) @@ -42,6 +42,18 @@ public class SciProjectIdResolver implements Serializable, ObjectIdResolver { ) ) ); + return CdiUtil + .createCdiUtil() + .findBean(ContentItemRepository.class) + .findByUuid(id.key.toString(), SciProject.class) + .orElseThrow( + () -> new IllegalArgumentException( + String.format( + "No SciProject with UUID %s found in the database.", + id.key.toString() + ) + ) + ); } @Override