Importers and Exporters
parent
e9262e956a
commit
059f9f8607
|
|
@ -9,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonIdentityInfo;
|
||||||
import com.fasterxml.jackson.annotation.JsonIdentityReference;
|
import com.fasterxml.jackson.annotation.JsonIdentityReference;
|
||||||
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
|
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
|
||||||
import org.hibernate.envers.Audited;
|
import org.hibernate.envers.Audited;
|
||||||
|
import org.libreccm.imexport.Exportable;
|
||||||
import org.librecms.assets.Person;
|
import org.librecms.assets.Person;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -36,7 +37,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
|
||||||
generator = ObjectIdGenerators.PropertyGenerator.class,
|
generator = ObjectIdGenerators.PropertyGenerator.class,
|
||||||
property = "uuid"
|
property = "uuid"
|
||||||
)
|
)
|
||||||
public class Authorship implements Serializable, Comparable<Authorship> {
|
public class Authorship
|
||||||
|
implements Exportable, Serializable, Comparable<Authorship> {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
package org.scientificcms.publications;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.assets.Person;
|
||||||
|
import org.scientificcms.publications.contenttypes.ArticleInCollectedVolumeItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.ArticleInJournalItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.CollectedVolumeItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.ExpertiseItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.GreyLiteratureItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.InProceedingsItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.InternetArticleItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.MonographItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.ProceedingsItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.TalkItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.WorkingPaperItem;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
import javax.persistence.NoResultException;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(Authorship.class)
|
||||||
|
public class AuthorshipImExporter
|
||||||
|
extends AbstractEntityImExporter<Authorship> {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
Person.class,
|
||||||
|
ArticleInCollectedVolumeItem.class,
|
||||||
|
ArticleInJournalItem.class,
|
||||||
|
CollectedVolumeItem.class,
|
||||||
|
ExpertiseItem.class,
|
||||||
|
GreyLiteratureItem.class,
|
||||||
|
InProceedingsItem.class,
|
||||||
|
InternetArticleItem.class,
|
||||||
|
MonographItem.class,
|
||||||
|
ProceedingsItem.class,
|
||||||
|
TalkItem.class,
|
||||||
|
WorkingPaperItem.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<Authorship> getEntityClass() {
|
||||||
|
return Authorship.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
|
protected void saveImportedEntity(final Authorship entity) {
|
||||||
|
entityManager.merge(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Authorship reloadEntity(final Authorship entity) {
|
||||||
|
try {
|
||||||
|
return entityManager.find(
|
||||||
|
Authorship.class,
|
||||||
|
entity.getAuthorshipId()
|
||||||
|
);
|
||||||
|
} catch(NoResultException ex) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
String.format(
|
||||||
|
"The Authorship entity %s was not found in the database.",
|
||||||
|
Objects.toString(entity)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,10 @@
|
||||||
/*
|
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
|
||||||
* To change this template file, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
package org.scientificcms.publications;
|
package org.scientificcms.publications;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
|
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
|
||||||
import com.fasterxml.jackson.annotation.JsonIdentityReference;
|
import com.fasterxml.jackson.annotation.JsonIdentityReference;
|
||||||
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
|
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
|
||||||
import org.hibernate.envers.Audited;
|
import org.hibernate.envers.Audited;
|
||||||
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
@ -35,7 +31,7 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
|
||||||
generator = ObjectIdGenerators.PropertyGenerator.class,
|
generator = ObjectIdGenerators.PropertyGenerator.class,
|
||||||
property = "uuid"
|
property = "uuid"
|
||||||
)
|
)
|
||||||
public class VolumeInSeries implements Serializable {
|
public class VolumeInSeries implements Exportable, Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
package org.scientificcms.publications;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.scientificcms.publications.assets.SeriesAsset;
|
||||||
|
import org.scientificcms.publications.contenttypes.ArticleInCollectedVolumeItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.ArticleInJournalItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.CollectedVolumeItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.ExpertiseItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.GreyLiteratureItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.InProceedingsItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.InternetArticleItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.MonographItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.ProceedingsItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.TalkItem;
|
||||||
|
import org.scientificcms.publications.contenttypes.WorkingPaperItem;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
import javax.persistence.NoResultException;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(VolumeInSeries.class)
|
||||||
|
public class VolumeInSeriesImExporter
|
||||||
|
extends AbstractEntityImExporter<VolumeInSeries> {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
SeriesAsset.class,
|
||||||
|
ArticleInCollectedVolumeItem.class,
|
||||||
|
ArticleInJournalItem.class,
|
||||||
|
CollectedVolumeItem.class,
|
||||||
|
ExpertiseItem.class,
|
||||||
|
GreyLiteratureItem.class,
|
||||||
|
InProceedingsItem.class,
|
||||||
|
InternetArticleItem.class,
|
||||||
|
MonographItem.class,
|
||||||
|
ProceedingsItem.class,
|
||||||
|
TalkItem.class,
|
||||||
|
WorkingPaperItem.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<VolumeInSeries> getEntityClass() {
|
||||||
|
return VolumeInSeries.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
|
protected void saveImportedEntity(final VolumeInSeries entity) {
|
||||||
|
entityManager.merge(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected VolumeInSeries reloadEntity(final VolumeInSeries entity) {
|
||||||
|
try {
|
||||||
|
return entityManager.find(
|
||||||
|
VolumeInSeries.class,
|
||||||
|
entity.getVolumeId()
|
||||||
|
);
|
||||||
|
} catch(NoResultException ex) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
String.format(
|
||||||
|
"The VolumeInSeries entity %s was not found in "
|
||||||
|
+ "the database.",
|
||||||
|
Objects.toString(entity)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
package org.scientificcms.publications.assets;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AssetRepository;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Importer/Exporter for {@link JournalAsset}s.
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(JournalAsset.class)
|
||||||
|
public class JournalAssetImExporter
|
||||||
|
extends AbstractEntityImExporter<JournalAsset> {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private AssetRepository assetRepo;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
// Nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<JournalAsset> getEntityClass() {
|
||||||
|
return JournalAsset.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
package org.scientificcms.publications.assets;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AssetRepository;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(PublisherAsset.class)
|
||||||
|
public class PublisherAssetImExporter
|
||||||
|
extends AbstractEntityImExporter<PublisherAsset> {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private AssetRepository assetRepo;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
// Nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<PublisherAsset> getEntityClass() {
|
||||||
|
return PublisherAsset.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
package org.scientificcms.publications.assets;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AssetRepository;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(PublisherAsset.class)
|
||||||
|
public class SeriesAssetImExporter
|
||||||
|
extends AbstractEntityImExporter<SeriesAsset> {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private AssetRepository assetRepo;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
// Nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<SeriesAsset> getEntityClass() {
|
||||||
|
return SeriesAsset.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
|
protected void saveImportedEntity(final SeriesAsset entity) {
|
||||||
|
assetRepo.save(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(ArticleInCollectedVolumeItem.class)
|
||||||
|
public class ArticleInCollectedVolumeItemImExporter extends AbstractContentItemImExporter<ArticleInCollectedVolumeItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
CollectedVolumeItem.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<ArticleInCollectedVolumeItem> getEntityClass() {
|
||||||
|
return ArticleInCollectedVolumeItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
import org.scientificcms.publications.assets.JournalAsset;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(ArticleInCollectedVolumeItem.class)
|
||||||
|
public class ArticleInJournalItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<ArticleInJournalItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
JournalAsset.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<ArticleInJournalItem> getEntityClass() {
|
||||||
|
return ArticleInJournalItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
import org.scientificcms.publications.assets.PublisherAsset;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(CollectedVolumeItem.class)
|
||||||
|
public class CollectedVolumeItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<CollectedVolumeItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
PublisherAsset.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<CollectedVolumeItem> getEntityClass() {
|
||||||
|
return CollectedVolumeItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.assets.Organization;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(ExpertiseItem.class)
|
||||||
|
public class ExpertiseItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<ExpertiseItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
Organization.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<ExpertiseItem> getEntityClass() {
|
||||||
|
return ExpertiseItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.assets.Organization;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(GreyLiteratureItem.class)
|
||||||
|
public class GreyLiteratureItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<GreyLiteratureItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
Organization.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<GreyLiteratureItem> getEntityClass() {
|
||||||
|
return GreyLiteratureItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(InProceedingsItem.class)
|
||||||
|
public class InProceedingsItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<InProceedingsItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
ProceedingsItem.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<InProceedingsItem> getEntityClass() {
|
||||||
|
return InProceedingsItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(InternetArticleItem.class)
|
||||||
|
public class InternetArticleItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<InternetArticleItem>{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<InternetArticleItem> getEntityClass() {
|
||||||
|
return InternetArticleItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
import org.scientificcms.publications.assets.PublisherAsset;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(MonographItem.class)
|
||||||
|
public class MonographItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<MonographItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
PublisherAsset.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<MonographItem> getEntityClass() {
|
||||||
|
return MonographItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.assets.Organization;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
import org.scientificcms.publications.assets.PublisherAsset;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(ProceedingsItem.class)
|
||||||
|
public class ProceedingsItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<ProceedingsItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
Organization.class,
|
||||||
|
PublisherAsset.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<ProceedingsItem> getEntityClass() {
|
||||||
|
return ProceedingsItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(TalkItem.class)
|
||||||
|
public class TalkItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<TalkItem> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<TalkItem> getEntityClass() {
|
||||||
|
return TalkItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package org.scientificcms.publications.contenttypes;
|
||||||
|
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
|
import org.librecms.assets.Organization;
|
||||||
|
import org.librecms.contentsection.AbstractContentItemImExporter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(WorkingPaperItem.class)
|
||||||
|
public class WorkingPaperItemImExporter
|
||||||
|
extends AbstractContentItemImExporter<WorkingPaperItem> {
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
super.init();
|
||||||
|
addRequiredEntities(
|
||||||
|
Set.of(
|
||||||
|
Organization.class
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<WorkingPaperItem> getEntityClass() {
|
||||||
|
return WorkingPaperItem.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -11,8 +11,6 @@ import java.util.Set;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.persistence.EntityManager;
|
|
||||||
import javax.persistence.NoResultException;
|
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import java.util.Set;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Importer/Exporter for {@link DepartmentProject} entities.
|
* Importer/Exporter for {@link DepartmentProject} entities.
|
||||||
|
|
@ -41,6 +42,7 @@ public class DepartmentProjectImExporter
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
protected void saveImportedEntity(
|
protected void saveImportedEntity(
|
||||||
final DepartmentProject departmentProject
|
final DepartmentProject departmentProject
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
package org.scientificcms.contenttypes.scidepartment;
|
package org.scientificcms.contenttypes.scidepartment;
|
||||||
|
|
||||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
import org.librecms.assets.Person;
|
import org.librecms.assets.Person;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
|
@ -15,6 +17,8 @@ import javax.transaction.Transactional;
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(Membership.class)
|
||||||
public class MembershipImExporter
|
public class MembershipImExporter
|
||||||
extends AbstractEntityImExporter<Membership> {
|
extends AbstractEntityImExporter<Membership> {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
package org.scientificcms.contenttypes.sciproject;
|
package org.scientificcms.contenttypes.sciproject;
|
||||||
|
|
||||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
import org.librecms.assets.Person;
|
import org.librecms.assets.Person;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
|
@ -15,6 +17,8 @@ import javax.transaction.Transactional;
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(Membership.class)
|
||||||
public class MembershipImExporter
|
public class MembershipImExporter
|
||||||
extends AbstractEntityImExporter<Membership> {
|
extends AbstractEntityImExporter<Membership> {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
package org.scientificcms.contenttypes.sciproject;
|
package org.scientificcms.contenttypes.sciproject;
|
||||||
|
|
||||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||||
|
import org.libreccm.imexport.Processes;
|
||||||
import org.librecms.assets.Organization;
|
import org.librecms.assets.Organization;
|
||||||
import org.librecms.assets.Person;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
|
@ -16,6 +17,8 @@ import javax.transaction.Transactional;
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
|
@RequestScoped
|
||||||
|
@Processes(Sponsoring.class)
|
||||||
public class SponsoringImExporter
|
public class SponsoringImExporter
|
||||||
extends AbstractEntityImExporter<Sponsoring> {
|
extends AbstractEntityImExporter<Sponsoring> {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue