Some fixes for ImExporters

master
Jens Pelzetter 2022-12-01 20:41:11 +01:00
parent 4d9704f8ac
commit bc1d774d96
28 changed files with 59 additions and 28 deletions

View File

@ -2,6 +2,8 @@ package org.scientificcms.publications;
import java.util.Set; import java.util.Set;
import javax.annotation.PostConstruct;
/** /**
* *
@ -11,6 +13,7 @@ import java.util.Set;
public abstract class AbstractPublicationWithPublisherImExporter<T extends PublicationWithPublisher> public abstract class AbstractPublicationWithPublisherImExporter<T extends PublicationWithPublisher>
extends AbstractPublicationImExporter<T> { extends AbstractPublicationImExporter<T> {
@PostConstruct
@Override @Override
protected final void init() { protected final void init() {
addRequiredEntities( addRequiredEntities(

View File

@ -4,6 +4,8 @@ import org.librecms.assets.Organization;
import java.util.Set; import java.util.Set;
import javax.annotation.PostConstruct;
/** /**
* *
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a> * @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
@ -12,6 +14,7 @@ import java.util.Set;
public abstract class AbstractUnPublishedImExporter<T extends UnPublished> public abstract class AbstractUnPublishedImExporter<T extends UnPublished>
extends AbstractPublicationImExporter<T> { extends AbstractPublicationImExporter<T> {
@PostConstruct
@Override @Override
protected final void init() { protected final void init() {
addRequiredEntities( addRequiredEntities(

View File

@ -25,7 +25,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = ArticleInCollectedVolumeIdResolver.class, resolver = ArticleInCollectedVolumeIdResolver.class,
property = "uuid" property = "uuid",
scope = ArticleInCollectedVolume.class
) )
public class ArticleInCollectedVolume extends Publication { public class ArticleInCollectedVolume extends Publication {

View File

@ -26,7 +26,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = ArticleInCollectedVolumeIdResolver.class, resolver = ArticleInCollectedVolumeIdResolver.class,
property = "uuid" property = "uuid",
scope = ArticleInJournal.class
) )
public class ArticleInJournal extends Publication { public class ArticleInJournal extends Publication {

View File

@ -35,7 +35,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Audited @Audited
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
property = "uuid" property = "uuid",
scope = Authorship.class
) )
public class Authorship public class Authorship
implements Exportable, Serializable, Comparable<Authorship> { implements Exportable, Serializable, Comparable<Authorship> {

View File

@ -26,7 +26,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = CollectedVolumeIdResolver.class, resolver = CollectedVolumeIdResolver.class,
property = "uuid" property = "uuid",
scope = CollectedVolume.class
) )
public class CollectedVolume extends PublicationWithPublisher { public class CollectedVolume extends PublicationWithPublisher {

View File

@ -26,7 +26,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = ExpertiseIdResolver.class, resolver = ExpertiseIdResolver.class,
property = "uuid" property = "uuid",
scope = Expertise.class
) )
public class Expertise extends Publication { public class Expertise extends Publication {

View File

@ -20,7 +20,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = GreyLiteratureIdResolver.class, resolver = GreyLiteratureIdResolver.class,
property = "uuid" property = "uuid",
scope = GreyLiterature.class
) )
public class GreyLiterature extends UnPublished { public class GreyLiterature extends UnPublished {

View File

@ -25,7 +25,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = InProceedingsIdResolver.class, resolver = InProceedingsIdResolver.class,
property = "uuid" property = "uuid",
scope = InProceedings.class
) )
public class InProceedings extends Publication { public class InProceedings extends Publication {

View File

@ -27,7 +27,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = InternetArticleIdResolver.class, resolver = InternetArticleIdResolver.class,
property = "uuid" property = "uuid",
scope = InternetArticle.class
) )
public class InternetArticle extends Publication { public class InternetArticle extends Publication {

View File

@ -55,7 +55,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = JournalIdResolver.class, resolver = JournalIdResolver.class,
property = "uuid" property = "uuid",
scope = Journal.class
) )
public class Journal implements Exportable, Serializable { public class Journal implements Exportable, Serializable {

View File

@ -22,7 +22,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = MonographIdResolver.class, resolver = MonographIdResolver.class,
property = "uuid" property = "uuid",
scope = Monograph.class
) )
public class Monograph extends PublicationWithPublisher { public class Monograph extends PublicationWithPublisher {

View File

@ -32,7 +32,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = ProceedingsIdResolver.class, resolver = ProceedingsIdResolver.class,
property = "uuid" property = "uuid",
scope = Proceedings.class
) )
public class Proceedings extends PublicationWithPublisher { public class Proceedings extends PublicationWithPublisher {

View File

@ -95,7 +95,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = PublicationIdResolver.class, resolver = PublicationIdResolver.class,
property = "uuid" property = "uuid",
scope = Publication.class
) )
public class Publication implements Exportable, Serializable { public class Publication implements Exportable, Serializable {

View File

@ -36,7 +36,7 @@ public class PublicationIdResolver implements Serializable, ObjectIdResolver {
.orElseThrow( .orElseThrow(
() -> new IllegalArgumentException( () -> new IllegalArgumentException(
String.format( String.format(
"No Publiation with UUID %s found in database.", "No Publication with UUID %s found in database.",
id.key.toString() id.key.toString()
) )
) )

View File

@ -59,7 +59,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = PublicationWithPublisherIdResolver.class, resolver = PublicationWithPublisherIdResolver.class,
property = "uuid" property = "uuid",
scope = PublicationWithPublisher.class
) )
public class PublicationWithPublisher extends Publication { public class PublicationWithPublisher extends Publication {

View File

@ -50,7 +50,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = PublisherIdResolver.class, resolver = PublisherIdResolver.class,
property = "uuid" property = "uuid",
scope = Publisher.class
) )
public class Publisher implements Exportable, Serializable { public class Publisher implements Exportable, Serializable {

View File

@ -34,7 +34,7 @@ public class PublisherIdResolver implements Serializable, ObjectIdResolver {
.orElseThrow( .orElseThrow(
() -> new IllegalArgumentException( () -> new IllegalArgumentException(
String.format( String.format(
"No Pubisher with UUID %s found in the database.", "No Publisher with UUID %s found in the database.",
id.key.toString() id.key.toString()
) )
) )
@ -43,12 +43,12 @@ public class PublisherIdResolver implements Serializable, ObjectIdResolver {
@Override @Override
public ObjectIdResolver newForDeserialization(final Object context) { public ObjectIdResolver newForDeserialization(final Object context) {
return new PublicationIdResolver(); return new PublisherIdResolver();
} }
@Override @Override
public boolean canUseFor(final ObjectIdResolver resolverType) { public boolean canUseFor(final ObjectIdResolver resolverType) {
return resolverType instanceof PublicationIdResolver; return resolverType instanceof PublisherIdResolver;
} }

View File

@ -49,7 +49,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = SeriesIdResolver.class, resolver = SeriesIdResolver.class,
property = "uuid" property = "uuid",
scope = Series.class
) )
public class Series implements Exportable, Serializable { public class Series implements Exportable, Serializable {

View File

@ -23,7 +23,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = TalkIdResolver.class, resolver = TalkIdResolver.class,
property = "uuid" property = "uuid",
scope = Talk.class
) )
public class Talk extends Publication { public class Talk extends Publication {

View File

@ -30,7 +30,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = UnPublishedIdResolver.class, resolver = UnPublishedIdResolver.class,
property = "uuid" property = "uuid",
scope = UnPublished.class
) )
public class UnPublished extends Publication { public class UnPublished extends Publication {

View File

@ -29,7 +29,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Audited @Audited
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
property = "uuid" property = "uuid",
scope = VolumeInSeries.class
) )
public class VolumeInSeries implements Exportable, Serializable { public class VolumeInSeries implements Exportable, Serializable {

View File

@ -19,7 +19,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = WorkingPaperIdResolver.class, resolver = WorkingPaperIdResolver.class,
property = "uuid" property = "uuid",
scope = WorkingPaper.class
) )
public class WorkingPaper extends UnPublished { public class WorkingPaper extends UnPublished {

View File

@ -3,8 +3,10 @@ package org.scientificcms.publications.assets;
import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.AbstractEntityImExporter;
import org.libreccm.imexport.Processes; import org.libreccm.imexport.Processes;
import org.librecms.contentsection.AssetRepository; import org.librecms.contentsection.AssetRepository;
import org.scientificcms.publications.Publisher;
import java.util.Objects; import java.util.Objects;
import java.util.Set;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped; import javax.enterprise.context.RequestScoped;
@ -26,7 +28,7 @@ public class PublisherAssetImExporter
@PostConstruct @PostConstruct
@Override @Override
protected void init() { protected void init() {
// Nothing addRequiredEntities(Set.of(Publisher.class));
} }
@Override @Override

View File

@ -34,7 +34,8 @@ import static org.scientificcms.contenttypes.scidepartment.SciDepartmentConstant
@Table(name = "DEPARTMENT_MEMBERSHIPS", schema = DB_SCHEMA) @Table(name = "DEPARTMENT_MEMBERSHIPS", schema = DB_SCHEMA)
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
property = "uuid" property = "uuid",
scope = Membership.class
) )
public class Membership implements Exportable, Serializable { public class Membership implements Exportable, Serializable {

View File

@ -53,7 +53,8 @@ import static org.scientificcms.contenttypes.scidepartment.SciDepartmentConstant
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = SciDepartmentIdResolver.class, resolver = SciDepartmentIdResolver.class,
property = "uuid" property = "uuid",
scope = SciDepartment.class
) )
public class SciDepartment extends ContentItem implements Serializable { public class SciDepartment extends ContentItem implements Serializable {

View File

@ -33,7 +33,8 @@ import static org.scientificcms.contenttypes.sciproject.SciProjectConstants.*;
@Table(name = "PROJECT_MEMBERSHIPS", schema = DB_SCHEMA) @Table(name = "PROJECT_MEMBERSHIPS", schema = DB_SCHEMA)
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
property = "uuid" property = "uuid",
scope = Membership.class
) )
public class Membership implements Exportable, Serializable { public class Membership implements Exportable, Serializable {

View File

@ -90,7 +90,8 @@ import static org.scientificcms.contenttypes.sciproject.SciProjectConstants.*;
@JsonIdentityInfo( @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class, generator = ObjectIdGenerators.PropertyGenerator.class,
resolver = SciProjectIdResolver.class, resolver = SciProjectIdResolver.class,
property = "uuid" property = "uuid",
scope = SciProject.class
) )
public class SciProject extends ContentItem implements Serializable { public class SciProject extends ContentItem implements Serializable {