Updated ImExporters for assets in sci-types-publications to implement
new interface.master
parent
764689066a
commit
9b4f077088
|
|
@ -5,7 +5,6 @@
|
|||
*/
|
||||
package org.scientificcms.publications.assets;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIdentityReference;
|
||||
import org.hibernate.envers.Audited;
|
||||
import org.librecms.assets.AssetType;
|
||||
|
|
@ -48,11 +47,14 @@ public class JournalAsset extends Asset {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@OneToOne(cascade = {CascadeType.DETACH,
|
||||
@OneToOne(
|
||||
cascade = {
|
||||
CascadeType.DETACH,
|
||||
CascadeType.MERGE,
|
||||
CascadeType.PERSIST,
|
||||
CascadeType.REFRESH
|
||||
})
|
||||
}
|
||||
)
|
||||
@JoinColumn(name = "JOURNAL_ID")
|
||||
@JsonIdentityReference(alwaysAsId = true)
|
||||
private Journal journal;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,12 @@
|
|||
package org.scientificcms.publications.assets;
|
||||
|
||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||
import org.libreccm.imexport.Processes;
|
||||
import org.librecms.contentsection.AssetRepository;
|
||||
import org.librecms.assets.AbstractAssetImExporter;
|
||||
import org.scientificcms.publications.Journal;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* Importer/Exporter for {@link JournalAsset}s.
|
||||
|
|
@ -21,14 +16,10 @@ import javax.transaction.Transactional;
|
|||
@RequestScoped
|
||||
@Processes(JournalAsset.class)
|
||||
public class JournalAssetImExporter
|
||||
extends AbstractEntityImExporter<JournalAsset> {
|
||||
extends AbstractAssetImExporter<JournalAsset> {
|
||||
|
||||
@Inject
|
||||
private AssetRepository assetRepo;
|
||||
|
||||
@PostConstruct
|
||||
@Override
|
||||
protected void init() {
|
||||
protected void initAssetImExporter() {
|
||||
addRequiredEntities(Set.of(Journal.class));
|
||||
}
|
||||
|
||||
|
|
@ -38,23 +29,11 @@ public class JournalAssetImExporter
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void saveImportedEntity(final JournalAsset entity) {
|
||||
assetRepo.save(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JournalAsset reloadEntity(final JournalAsset entity) {
|
||||
return assetRepo
|
||||
.findById(entity.getObjectId(), getEntityClass())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"The JournalAsset %s was not found in the database.",
|
||||
Objects.toString(entity)
|
||||
)
|
||||
)
|
||||
);
|
||||
protected void updateExistingAsset(
|
||||
final JournalAsset exisitingAsset,
|
||||
final JournalAsset importedAsset
|
||||
) {
|
||||
// Nothing to update in JournalAsset
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,11 +43,14 @@ public class PublisherAsset extends Asset {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@OneToOne(cascade = {CascadeType.DETACH,
|
||||
@OneToOne(
|
||||
cascade = {
|
||||
CascadeType.DETACH,
|
||||
CascadeType.MERGE,
|
||||
CascadeType.PERSIST,
|
||||
CascadeType.REFRESH
|
||||
})
|
||||
}
|
||||
)
|
||||
@JoinColumn(name = "PUBLISHER_ID")
|
||||
@JsonIdentityReference(alwaysAsId = true)
|
||||
private Publisher publisher;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,12 @@
|
|||
package org.scientificcms.publications.assets;
|
||||
|
||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||
import org.libreccm.imexport.Processes;
|
||||
import org.librecms.contentsection.AssetRepository;
|
||||
import org.librecms.assets.AbstractAssetImExporter;
|
||||
import org.scientificcms.publications.Publisher;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -20,14 +15,10 @@ import javax.transaction.Transactional;
|
|||
@RequestScoped
|
||||
@Processes(PublisherAsset.class)
|
||||
public class PublisherAssetImExporter
|
||||
extends AbstractEntityImExporter<PublisherAsset> {
|
||||
extends AbstractAssetImExporter<PublisherAsset> {
|
||||
|
||||
@Inject
|
||||
private AssetRepository assetRepo;
|
||||
|
||||
@PostConstruct
|
||||
@Override
|
||||
protected void init() {
|
||||
protected void initAssetImExporter() {
|
||||
addRequiredEntities(Set.of(Publisher.class));
|
||||
}
|
||||
|
||||
|
|
@ -37,23 +28,11 @@ public class PublisherAssetImExporter
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void saveImportedEntity(final PublisherAsset entity) {
|
||||
assetRepo.save(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PublisherAsset reloadEntity(final PublisherAsset entity) {
|
||||
return assetRepo
|
||||
.findById(entity.getObjectId(), getEntityClass())
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException(
|
||||
String.format(
|
||||
"The JournalAsset %s was not found in the database.",
|
||||
Objects.toString(entity)
|
||||
)
|
||||
)
|
||||
);
|
||||
protected void updateExistingAsset(
|
||||
final PublisherAsset existingAsset,
|
||||
final PublisherAsset importedAsset
|
||||
) {
|
||||
// Nothing to update in PublishAsset
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,11 +46,14 @@ public class SeriesAsset extends Asset {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@OneToOne(cascade = {CascadeType.DETACH,
|
||||
@OneToOne(
|
||||
cascade = {
|
||||
CascadeType.DETACH,
|
||||
CascadeType.MERGE,
|
||||
CascadeType.PERSIST,
|
||||
CascadeType.REFRESH
|
||||
})
|
||||
}
|
||||
)
|
||||
@JoinColumn(name = "SERIES_ID")
|
||||
@JsonIdentityReference(alwaysAsId = true)
|
||||
private Series series;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,12 @@
|
|||
package org.scientificcms.publications.assets;
|
||||
|
||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||
import org.libreccm.imexport.Processes;
|
||||
import org.librecms.contentsection.AssetRepository;
|
||||
import org.librecms.assets.AbstractAssetImExporter;
|
||||
import org.scientificcms.publications.Series;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -20,14 +15,10 @@ import javax.transaction.Transactional;
|
|||
@RequestScoped
|
||||
@Processes(PublisherAsset.class)
|
||||
public class SeriesAssetImExporter
|
||||
extends AbstractEntityImExporter<SeriesAsset> {
|
||||
extends AbstractAssetImExporter<SeriesAsset> {
|
||||
|
||||
@Inject
|
||||
private AssetRepository assetRepo;
|
||||
|
||||
@PostConstruct
|
||||
@Override
|
||||
protected void init() {
|
||||
protected void initAssetImExporter() {
|
||||
addRequiredEntities(Set.of(Series.class));
|
||||
}
|
||||
|
||||
|
|
@ -37,24 +28,13 @@ extends AbstractEntityImExporter<SeriesAsset> {
|
|||
}
|
||||
|
||||
@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)
|
||||
)
|
||||
)
|
||||
);
|
||||
protected void updateExistingAsset(
|
||||
final SeriesAsset existingAsset,
|
||||
final SeriesAsset importedAsset
|
||||
) {
|
||||
// Nothing to update in SeriesAsset
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue