Improved structure of PublicationImExporters

master
Jens Pelzetter 2023-01-22 10:24:08 +01:00
parent 786922c336
commit 0818ad1481
3 changed files with 22 additions and 9 deletions

View File

@ -3,7 +3,9 @@ package org.scientificcms.publications;
import org.libreccm.imexport.AbstractEntityImExporter; import org.libreccm.imexport.AbstractEntityImExporter;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import javax.annotation.PostConstruct;
import javax.inject.Inject; import javax.inject.Inject;
/** /**
@ -17,6 +19,19 @@ public abstract class AbstractPublicationImExporter<T extends Publication>
@Inject @Inject
private PublicationRepository publicationRepo; private PublicationRepository publicationRepo;
@Override
@PostConstruct
protected final void init() {
initPublicationImExporter();
}
protected abstract void initPublicationImExporter();
@Override
protected Optional<T> findExistingEntity(final String uuid) {
return publicationRepo.findByUuidAndType(uuid, getEntityClass());
}
@Override @Override
protected void saveImportedEntity(final Publication publication) { protected void saveImportedEntity(final Publication publication) {
publicationRepo.save(publication); publicationRepo.save(publication);
@ -100,7 +115,7 @@ public abstract class AbstractPublicationImExporter<T extends Publication>
importedEntity.getLanguageOfPublication() importedEntity.getLanguageOfPublication()
); );
} }
updateExistingPublication(existingEntity, importedEntity); updateExistingPublication(existingEntity, importedEntity);
publicationRepo.save(existingEntity); publicationRepo.save(existingEntity);

View File

@ -13,9 +13,8 @@ import javax.annotation.PostConstruct;
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 initPublicationImExporter() {
addRequiredEntities( addRequiredEntities(
Set.of( Set.of(
Publisher.class Publisher.class

View File

@ -4,8 +4,6 @@ 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>
@ -14,14 +12,15 @@ import javax.annotation.PostConstruct;
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 initPublicationImExporter() {
addRequiredEntities( addRequiredEntities(
Set.of(Organization.class) Set.of(Organization.class)
); );
initUnPublishedImExporter();
} }
protected abstract void initUnPublishedImExporter(); protected abstract void initUnPublishedImExporter();
} }