diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseImExporter.java index 7310e2b..b5a18cf 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseImExporter.java @@ -3,9 +3,9 @@ package org.scientificcms.publications; import org.libreccm.imexport.Processes; import org.librecms.assets.Organization; +import java.util.Objects; import java.util.Set; -import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; /** @@ -23,9 +23,48 @@ public class ExpertiseImExporter } @Override - @PostConstruct - protected void init() { + protected void initPublicationImExporter() { addRequiredEntities(Set.of(Organization.class)); } + @Override + protected void updateExistingPublication( + final Expertise existingPublication, + final Expertise withImportedPublication + ) { + if (!Objects.equals( + existingPublication.getPlace(), + withImportedPublication.getPlace() + )) { + existingPublication.setPlace(withImportedPublication.getPlace()); + } + + if (!Objects.equals( + existingPublication.getNumberOfPages(), + withImportedPublication.getNumberOfPages() + )) { + existingPublication.setNumberOfPages( + withImportedPublication.getNumberOfPages() + ); + } + + if (!Objects.equals( + existingPublication.getOrganization(), + withImportedPublication.getOrganization() + )) { + existingPublication.setOrganization( + withImportedPublication.getOrganization() + ); + } + + if (!Objects.equals( + existingPublication.getOrderer(), + withImportedPublication.getOrderer() + )) { + existingPublication.setOrderer( + withImportedPublication.getOrderer() + ); + } + } + }