Importers and Exporters

master
Jens Pelzetter 2022-11-08 20:33:28 +01:00
parent e9262e956a
commit 059f9f8607
23 changed files with 743 additions and 10 deletions

View File

@ -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;

View File

@ -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)
)
);
}
}
}

View File

@ -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;

View File

@ -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)
)
);
}
}
}

View File

@ -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)
)
)
);
}
}

View File

@ -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)
)
)
);
}
}

View File

@ -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)
)
)
);
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
/** /**

View File

@ -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
) { ) {

View File

@ -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> {

View File

@ -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> {

View File

@ -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> {