diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java index 0817d9d..94be789 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java @@ -5,7 +5,6 @@ */ package org.scientificcms.publications.assets; - import com.fasterxml.jackson.annotation.JsonIdentityReference; import org.hibernate.envers.Audited; import org.librecms.assets.AssetType; @@ -48,11 +47,14 @@ public class JournalAsset extends Asset { private static final long serialVersionUID = 1L; - @OneToOne(cascade = {CascadeType.DETACH, - CascadeType.MERGE, - CascadeType.PERSIST, - CascadeType.REFRESH - }) + @OneToOne( + cascade = { + CascadeType.DETACH, + CascadeType.MERGE, + CascadeType.PERSIST, + CascadeType.REFRESH + } + ) @JoinColumn(name = "JOURNAL_ID") @JsonIdentityReference(alwaysAsId = true) private Journal journal; diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAssetImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAssetImExporter.java index 0ce580d..c8ea7ff 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAssetImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAssetImExporter.java @@ -1,17 +1,12 @@ package org.scientificcms.publications.assets; -import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; -import org.librecms.contentsection.AssetRepository; +import org.librecms.assets.AbstractAssetImExporter; import org.scientificcms.publications.Journal; -import java.util.Objects; import java.util.Set; -import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; -import javax.inject.Inject; -import javax.transaction.Transactional; /** * Importer/Exporter for {@link JournalAsset}s. @@ -21,14 +16,10 @@ import javax.transaction.Transactional; @RequestScoped @Processes(JournalAsset.class) public class JournalAssetImExporter - extends AbstractEntityImExporter { + extends AbstractAssetImExporter { - @Inject - private AssetRepository assetRepo; - - @PostConstruct @Override - protected void init() { + protected void initAssetImExporter() { addRequiredEntities(Set.of(Journal.class)); } @@ -38,23 +29,11 @@ public class JournalAssetImExporter } @Override - @Transactional(Transactional.TxType.REQUIRED) - protected void saveImportedEntity(final JournalAsset entity) { - assetRepo.save(entity); - } - - @Override - protected JournalAsset reloadEntity(final JournalAsset entity) { - return assetRepo - .findById(entity.getObjectId(), getEntityClass()) - .orElseThrow( - () -> new IllegalArgumentException( - String.format( - "The JournalAsset %s was not found in the database.", - Objects.toString(entity) - ) - ) - ); + protected void updateExistingAsset( + final JournalAsset exisitingAsset, + final JournalAsset importedAsset + ) { + // Nothing to update in JournalAsset } } diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java index 4c02ac0..0bb9db5 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java @@ -43,11 +43,14 @@ public class PublisherAsset extends Asset { private static final long serialVersionUID = 1L; - @OneToOne(cascade = {CascadeType.DETACH, - CascadeType.MERGE, - CascadeType.PERSIST, - CascadeType.REFRESH - }) + @OneToOne( + cascade = { + CascadeType.DETACH, + CascadeType.MERGE, + CascadeType.PERSIST, + CascadeType.REFRESH + } + ) @JoinColumn(name = "PUBLISHER_ID") @JsonIdentityReference(alwaysAsId = true) private Publisher publisher; diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAssetImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAssetImExporter.java index bc9e240..9875532 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAssetImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAssetImExporter.java @@ -1,17 +1,12 @@ package org.scientificcms.publications.assets; -import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; -import org.librecms.contentsection.AssetRepository; +import org.librecms.assets.AbstractAssetImExporter; import org.scientificcms.publications.Publisher; -import java.util.Objects; import java.util.Set; -import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; -import javax.inject.Inject; -import javax.transaction.Transactional; /** * @@ -20,14 +15,10 @@ import javax.transaction.Transactional; @RequestScoped @Processes(PublisherAsset.class) public class PublisherAssetImExporter - extends AbstractEntityImExporter { + extends AbstractAssetImExporter { - @Inject - private AssetRepository assetRepo; - - @PostConstruct @Override - protected void init() { + protected void initAssetImExporter() { addRequiredEntities(Set.of(Publisher.class)); } @@ -37,23 +28,11 @@ public class PublisherAssetImExporter } @Override - @Transactional(Transactional.TxType.REQUIRED) - protected void saveImportedEntity(final PublisherAsset entity) { - assetRepo.save(entity); - } - - @Override - protected PublisherAsset reloadEntity(final PublisherAsset entity) { - return assetRepo - .findById(entity.getObjectId(), getEntityClass()) - .orElseThrow( - () -> new IllegalArgumentException( - String.format( - "The JournalAsset %s was not found in the database.", - Objects.toString(entity) - ) - ) - ); + protected void updateExistingAsset( + final PublisherAsset existingAsset, + final PublisherAsset importedAsset + ) { + // Nothing to update in PublishAsset } } diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAsset.java index b4e6aad..0c8f37f 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAsset.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAsset.java @@ -46,11 +46,14 @@ public class SeriesAsset extends Asset { private static final long serialVersionUID = 1L; - @OneToOne(cascade = {CascadeType.DETACH, - CascadeType.MERGE, - CascadeType.PERSIST, - CascadeType.REFRESH - }) + @OneToOne( + cascade = { + CascadeType.DETACH, + CascadeType.MERGE, + CascadeType.PERSIST, + CascadeType.REFRESH + } + ) @JoinColumn(name = "SERIES_ID") @JsonIdentityReference(alwaysAsId = true) private Series series; diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAssetImExporter.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAssetImExporter.java index 4e5854f..40be2e2 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAssetImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/SeriesAssetImExporter.java @@ -1,17 +1,12 @@ package org.scientificcms.publications.assets; -import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; -import org.librecms.contentsection.AssetRepository; +import org.librecms.assets.AbstractAssetImExporter; import org.scientificcms.publications.Series; -import java.util.Objects; import java.util.Set; -import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; -import javax.inject.Inject; -import javax.transaction.Transactional; /** * @@ -19,15 +14,11 @@ import javax.transaction.Transactional; */ @RequestScoped @Processes(PublisherAsset.class) -public class SeriesAssetImExporter -extends AbstractEntityImExporter { - - @Inject - private AssetRepository assetRepo; +public class SeriesAssetImExporter + extends AbstractAssetImExporter { - @PostConstruct @Override - protected void init() { + protected void initAssetImExporter() { addRequiredEntities(Set.of(Series.class)); } @@ -37,24 +28,13 @@ extends AbstractEntityImExporter { } @Override - @Transactional(Transactional.TxType.REQUIRED) - protected void saveImportedEntity(final SeriesAsset entity) { - assetRepo.save(entity); + protected void updateExistingAsset( + final SeriesAsset existingAsset, + final SeriesAsset importedAsset + ) { + // Nothing to update in SeriesAsset } - @Override - protected SeriesAsset reloadEntity(final SeriesAsset entity) { - return assetRepo - .findById(entity.getObjectId(), getEntityClass()) - .orElseThrow( - () -> new IllegalArgumentException( - String.format( - "The JournalAsset %s was not found in the database.", - Objects.toString(entity) - ) - ) - ); - } + - }