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