diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationImExporter.java index ee11ed6..a08f448 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationImExporter.java @@ -3,7 +3,9 @@ package org.scientificcms.publications; import org.libreccm.imexport.AbstractEntityImExporter; import java.util.Objects; +import java.util.Optional; +import javax.annotation.PostConstruct; import javax.inject.Inject; /** @@ -17,6 +19,19 @@ public abstract class AbstractPublicationImExporter @Inject private PublicationRepository publicationRepo; + @Override + @PostConstruct + protected final void init() { + initPublicationImExporter(); + } + + protected abstract void initPublicationImExporter(); + + @Override + protected Optional findExistingEntity(final String uuid) { + return publicationRepo.findByUuidAndType(uuid, getEntityClass()); + } + @Override protected void saveImportedEntity(final Publication publication) { publicationRepo.save(publication); @@ -100,7 +115,7 @@ public abstract class AbstractPublicationImExporter importedEntity.getLanguageOfPublication() ); } - + updateExistingPublication(existingEntity, importedEntity); publicationRepo.save(existingEntity); diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherImExporter.java index 621d208..8456220 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherImExporter.java @@ -13,9 +13,8 @@ import javax.annotation.PostConstruct; public abstract class AbstractPublicationWithPublisherImExporter extends AbstractPublicationImExporter { - @PostConstruct @Override - protected final void init() { + protected final void initPublicationImExporter() { addRequiredEntities( Set.of( Publisher.class diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedImExporter.java index 769075c..d07c7e9 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedImExporter.java @@ -4,8 +4,6 @@ import org.librecms.assets.Organization; import java.util.Set; -import javax.annotation.PostConstruct; - /** * * @author Jens Pelzetter @@ -14,14 +12,15 @@ import javax.annotation.PostConstruct; public abstract class AbstractUnPublishedImExporter extends AbstractPublicationImExporter { - @PostConstruct @Override - protected final void init() { + protected final void initPublicationImExporter() { addRequiredEntities( Set.of(Organization.class) ); + + initUnPublishedImExporter(); } - + protected abstract void initUnPublishedImExporter(); - + }