From 786922c336d51d933a40e236cb40fa690d16f3d3 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Sun, 22 Jan 2023 09:55:08 +0100 Subject: [PATCH] Updated SeriesImExporter to implement new interface --- .../publications/JournalImExporter.java | 2 + .../publications/PublisherImExporter.java | 2 + .../publications/SeriesImExporter.java | 42 ++++++++++++++++--- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/sci-publications/src/main/java/org/scientificcms/publications/JournalImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/JournalImExporter.java index 834f9a5..cb00809 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/JournalImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/JournalImExporter.java @@ -93,6 +93,8 @@ public class JournalImExporter )) { existingEntity.setSymbol(importedEntity.getSymbol()); } + + journalRepo.save(existingEntity); } @Override diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublisherImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/PublisherImExporter.java index 2611c32..5ea30bb 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/PublisherImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/PublisherImExporter.java @@ -60,6 +60,8 @@ public class PublisherImExporter extends AbstractEntityImExporter { )) { existingEntity.setPlace(importedEntity.getPlace()); } + + publisherRepo.save(existingEntity); } @Override diff --git a/sci-publications/src/main/java/org/scientificcms/publications/SeriesImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/SeriesImExporter.java index 6aec517..bba1e3c 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/SeriesImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/SeriesImExporter.java @@ -4,6 +4,7 @@ import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; import java.util.Objects; +import java.util.Optional; import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; @@ -20,21 +21,52 @@ public class SeriesImExporter extends AbstractEntityImExporter { @Inject private SeriesRepository seriesRepo; - @Override - public Class getEntityClass() { - return Series.class; - } - @Override @PostConstruct protected void init() { // Nothing } + @Override + public Class getEntityClass() { + return Series.class; + } + + @Override + protected Optional findExistingEntity(final String uuid) { + return seriesRepo.findByUuid(uuid); + } + @Override protected void saveImportedEntity(final Series series) { seriesRepo.save(series); } + + @Override + protected void updateExistingEntity( + final Series existingEntity, + final Series importedEntity + ) { + if (!Objects.equals( + existingEntity.getTitle(), + importedEntity.getTitle() + )) { + syncLocalizedStrings( + importedEntity.getTitle(), + existingEntity.getTitle() + ); + } + + if (!Objects.equals( + existingEntity.getDescription(), + importedEntity.getDescription() + )) { + syncLocalizedStrings( + importedEntity.getDescription(), + existingEntity.getDescription() + ); + } + } @Override protected Series reloadEntity(final Series series) {