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 601661c..621d208 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherImExporter.java @@ -2,6 +2,8 @@ package org.scientificcms.publications; import java.util.Set; +import javax.annotation.PostConstruct; + /** * @@ -11,6 +13,7 @@ import java.util.Set; public abstract class AbstractPublicationWithPublisherImExporter extends AbstractPublicationImExporter { + @PostConstruct @Override protected final void init() { addRequiredEntities( 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 30319d0..769075c 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedImExporter.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedImExporter.java @@ -4,6 +4,8 @@ import org.librecms.assets.Organization; import java.util.Set; +import javax.annotation.PostConstruct; + /** * * @author Jens Pelzetter @@ -12,6 +14,7 @@ import java.util.Set; public abstract class AbstractUnPublishedImExporter extends AbstractPublicationImExporter { + @PostConstruct @Override protected final void init() { addRequiredEntities( diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolume.java b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolume.java index 91eecfc..5d8a315 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolume.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolume.java @@ -25,7 +25,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = ArticleInCollectedVolumeIdResolver.class, - property = "uuid" + property = "uuid", + scope = ArticleInCollectedVolume.class ) public class ArticleInCollectedVolume extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournal.java b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournal.java index 58945fa..6e1db8f 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournal.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournal.java @@ -26,7 +26,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = ArticleInCollectedVolumeIdResolver.class, - property = "uuid" + property = "uuid", + scope = ArticleInJournal.class ) public class ArticleInJournal extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Authorship.java b/sci-publications/src/main/java/org/scientificcms/publications/Authorship.java index 6a53e17..95db734 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Authorship.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Authorship.java @@ -35,7 +35,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @Audited @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, - property = "uuid" + property = "uuid", + scope = Authorship.class ) public class Authorship implements Exportable, Serializable, Comparable { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolume.java b/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolume.java index 6c04118..a579d83 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolume.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolume.java @@ -26,7 +26,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = CollectedVolumeIdResolver.class, - property = "uuid" + property = "uuid", + scope = CollectedVolume.class ) public class CollectedVolume extends PublicationWithPublisher { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Expertise.java b/sci-publications/src/main/java/org/scientificcms/publications/Expertise.java index 57096e2..6c22bfc 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Expertise.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Expertise.java @@ -26,7 +26,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = ExpertiseIdResolver.class, - property = "uuid" + property = "uuid", + scope = Expertise.class ) public class Expertise extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/GreyLiterature.java b/sci-publications/src/main/java/org/scientificcms/publications/GreyLiterature.java index 9b95de6..920bcda 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/GreyLiterature.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/GreyLiterature.java @@ -20,7 +20,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = GreyLiteratureIdResolver.class, - property = "uuid" + property = "uuid", + scope = GreyLiterature.class ) public class GreyLiterature extends UnPublished { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/InProceedings.java b/sci-publications/src/main/java/org/scientificcms/publications/InProceedings.java index a144b90..6b0b5fd 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/InProceedings.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/InProceedings.java @@ -25,7 +25,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = InProceedingsIdResolver.class, - property = "uuid" + property = "uuid", + scope = InProceedings.class ) public class InProceedings extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/InternetArticle.java b/sci-publications/src/main/java/org/scientificcms/publications/InternetArticle.java index 717b90b..3e2e0ec 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/InternetArticle.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/InternetArticle.java @@ -27,7 +27,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = InternetArticleIdResolver.class, - property = "uuid" + property = "uuid", + scope = InternetArticle.class ) public class InternetArticle extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Journal.java b/sci-publications/src/main/java/org/scientificcms/publications/Journal.java index 5ba9b41..82d64e5 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Journal.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Journal.java @@ -55,7 +55,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = JournalIdResolver.class, - property = "uuid" + property = "uuid", + scope = Journal.class ) public class Journal implements Exportable, Serializable { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Monograph.java b/sci-publications/src/main/java/org/scientificcms/publications/Monograph.java index 728d991..2f8f37d 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Monograph.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Monograph.java @@ -22,7 +22,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = MonographIdResolver.class, - property = "uuid" + property = "uuid", + scope = Monograph.class ) public class Monograph extends PublicationWithPublisher { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Proceedings.java b/sci-publications/src/main/java/org/scientificcms/publications/Proceedings.java index 2ff2677..55abbda 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Proceedings.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Proceedings.java @@ -32,7 +32,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = ProceedingsIdResolver.class, - property = "uuid" + property = "uuid", + scope = Proceedings.class ) public class Proceedings extends PublicationWithPublisher { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Publication.java b/sci-publications/src/main/java/org/scientificcms/publications/Publication.java index 1481340..d6f4d80 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Publication.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Publication.java @@ -95,7 +95,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = PublicationIdResolver.class, - property = "uuid" + property = "uuid", + scope = Publication.class ) public class Publication implements Exportable, Serializable { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublicationIdResolver.java b/sci-publications/src/main/java/org/scientificcms/publications/PublicationIdResolver.java index 075d4f0..a51ce87 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/PublicationIdResolver.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/PublicationIdResolver.java @@ -36,7 +36,7 @@ public class PublicationIdResolver implements Serializable, ObjectIdResolver { .orElseThrow( () -> new IllegalArgumentException( String.format( - "No Publiation with UUID %s found in database.", + "No Publication with UUID %s found in database.", id.key.toString() ) ) diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java b/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java index 9b9248c..f8ea78b 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java @@ -59,7 +59,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = PublicationWithPublisherIdResolver.class, - property = "uuid" + property = "uuid", + scope = PublicationWithPublisher.class ) public class PublicationWithPublisher extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Publisher.java b/sci-publications/src/main/java/org/scientificcms/publications/Publisher.java index 343eda4..e755fb5 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Publisher.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Publisher.java @@ -50,7 +50,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = PublisherIdResolver.class, - property = "uuid" + property = "uuid", + scope = Publisher.class ) public class Publisher implements Exportable, Serializable { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublisherIdResolver.java b/sci-publications/src/main/java/org/scientificcms/publications/PublisherIdResolver.java index 60acaa8..b153c41 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/PublisherIdResolver.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/PublisherIdResolver.java @@ -34,7 +34,7 @@ public class PublisherIdResolver implements Serializable, ObjectIdResolver { .orElseThrow( () -> new IllegalArgumentException( String.format( - "No Pubisher with UUID %s found in the database.", + "No Publisher with UUID %s found in the database.", id.key.toString() ) ) @@ -43,12 +43,12 @@ public class PublisherIdResolver implements Serializable, ObjectIdResolver { @Override public ObjectIdResolver newForDeserialization(final Object context) { - return new PublicationIdResolver(); + return new PublisherIdResolver(); } @Override public boolean canUseFor(final ObjectIdResolver resolverType) { - return resolverType instanceof PublicationIdResolver; + return resolverType instanceof PublisherIdResolver; } diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Series.java b/sci-publications/src/main/java/org/scientificcms/publications/Series.java index 43bb812..f2fe751 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Series.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Series.java @@ -49,7 +49,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = SeriesIdResolver.class, - property = "uuid" + property = "uuid", + scope = Series.class ) public class Series implements Exportable, Serializable { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/Talk.java b/sci-publications/src/main/java/org/scientificcms/publications/Talk.java index 30c027c..6c3a658 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/Talk.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/Talk.java @@ -23,7 +23,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = TalkIdResolver.class, - property = "uuid" + property = "uuid", + scope = Talk.class ) public class Talk extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/UnPublished.java b/sci-publications/src/main/java/org/scientificcms/publications/UnPublished.java index d72bce2..e4b3526 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/UnPublished.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/UnPublished.java @@ -30,7 +30,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = UnPublishedIdResolver.class, - property = "uuid" + property = "uuid", + scope = UnPublished.class ) public class UnPublished extends Publication { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/VolumeInSeries.java b/sci-publications/src/main/java/org/scientificcms/publications/VolumeInSeries.java index 316731f..20f3fcb 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/VolumeInSeries.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/VolumeInSeries.java @@ -29,7 +29,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @Audited @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, - property = "uuid" + property = "uuid", + scope = VolumeInSeries.class ) public class VolumeInSeries implements Exportable, Serializable { diff --git a/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaper.java b/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaper.java index 6b111ef..347e4b8 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaper.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaper.java @@ -19,7 +19,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = WorkingPaperIdResolver.class, - property = "uuid" + property = "uuid", + scope = WorkingPaper.class ) public class WorkingPaper extends UnPublished { 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 ab796aa..bc9e240 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 @@ -3,8 +3,10 @@ package org.scientificcms.publications.assets; import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.Processes; import org.librecms.contentsection.AssetRepository; +import org.scientificcms.publications.Publisher; import java.util.Objects; +import java.util.Set; import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; @@ -26,7 +28,7 @@ public class PublisherAssetImExporter @PostConstruct @Override protected void init() { - // Nothing + addRequiredEntities(Set.of(Publisher.class)); } @Override diff --git a/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/Membership.java b/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/Membership.java index 7bb7588..6246b14 100644 --- a/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/Membership.java +++ b/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/Membership.java @@ -34,7 +34,8 @@ import static org.scientificcms.contenttypes.scidepartment.SciDepartmentConstant @Table(name = "DEPARTMENT_MEMBERSHIPS", schema = DB_SCHEMA) @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, - property = "uuid" + property = "uuid", + scope = Membership.class ) public class Membership implements Exportable, Serializable { diff --git a/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/SciDepartment.java b/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/SciDepartment.java index 089c4a3..9d7e245 100644 --- a/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/SciDepartment.java +++ b/sci-types-department/src/main/java/org/scientificcms/contenttypes/scidepartment/SciDepartment.java @@ -53,7 +53,8 @@ import static org.scientificcms.contenttypes.scidepartment.SciDepartmentConstant @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = SciDepartmentIdResolver.class, - property = "uuid" + property = "uuid", + scope = SciDepartment.class ) public class SciDepartment extends ContentItem implements Serializable { diff --git a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Membership.java b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Membership.java index 70c3c47..92c6e98 100644 --- a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Membership.java +++ b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/Membership.java @@ -33,7 +33,8 @@ import static org.scientificcms.contenttypes.sciproject.SciProjectConstants.*; @Table(name = "PROJECT_MEMBERSHIPS", schema = DB_SCHEMA) @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, - property = "uuid" + property = "uuid", + scope = Membership.class ) public class Membership implements Exportable, Serializable { diff --git a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProject.java b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProject.java index 7e9125b..4d058d1 100644 --- a/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProject.java +++ b/sci-types-project/src/main/java/org/scientificcms/contenttypes/sciproject/SciProject.java @@ -90,7 +90,8 @@ import static org.scientificcms.contenttypes.sciproject.SciProjectConstants.*; @JsonIdentityInfo( generator = ObjectIdGenerators.PropertyGenerator.class, resolver = SciProjectIdResolver.class, - property = "uuid" + property = "uuid", + scope = SciProject.class ) public class SciProject extends ContentItem implements Serializable {