Updated AbstractPublicationImExporter to support new interface.
parent
90210b5fdc
commit
b3070f8ff8
|
|
@ -2,6 +2,8 @@ package org.scientificcms.publications;
|
|||
|
||||
import org.libreccm.imexport.AbstractEntityImExporter;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
|
|
@ -20,6 +22,116 @@ public abstract class AbstractPublicationImExporter<T extends Publication>
|
|||
publicationRepo.save(publication);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final void updateExistingEntity(
|
||||
final T existingEntity,
|
||||
final T importedEntity
|
||||
) {
|
||||
if (!Objects.equals(
|
||||
existingEntity.getYearOfPublication(),
|
||||
importedEntity.getYearOfPublication()
|
||||
)) {
|
||||
existingEntity.setYearOfPublication(
|
||||
importedEntity.getYearOfPublication()
|
||||
);
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getTitle(),
|
||||
importedEntity.getTitle()
|
||||
)) {
|
||||
syncLocalizedStrings(
|
||||
importedEntity.getTitle(),
|
||||
existingEntity.getTitle()
|
||||
);
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getShortDescription(),
|
||||
importedEntity.getShortDescription()
|
||||
)) {
|
||||
syncLocalizedStrings(
|
||||
importedEntity.getShortDescription(),
|
||||
existingEntity.getShortDescription()
|
||||
);
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getPublicationAbstract(),
|
||||
importedEntity.getPublicationAbstract()
|
||||
)) {
|
||||
syncLocalizedStrings(
|
||||
importedEntity.getPublicationAbstract(),
|
||||
existingEntity.getPublicationAbstract()
|
||||
);
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getMisc(),
|
||||
importedEntity.getMisc()
|
||||
)) {
|
||||
syncLocalizedStrings(
|
||||
importedEntity.getMisc(),
|
||||
existingEntity.getMisc()
|
||||
);
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getPeerReviewed(),
|
||||
importedEntity.getPeerReviewed()
|
||||
)) {
|
||||
existingEntity.setPeerReviewed(importedEntity.getPeerReviewed());
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getYearFirstPublished(),
|
||||
importedEntity.getYearFirstPublished()
|
||||
)) {
|
||||
existingEntity.setYearFirstPublished(
|
||||
importedEntity.getYearFirstPublished()
|
||||
);
|
||||
}
|
||||
|
||||
if (!Objects.equals(
|
||||
existingEntity.getLanguageOfPublication(),
|
||||
importedEntity.getLanguageOfPublication()
|
||||
)) {
|
||||
existingEntity.setLanguageOfPublication(
|
||||
importedEntity.getLanguageOfPublication()
|
||||
);
|
||||
}
|
||||
|
||||
updateExistingPublication(existingEntity, importedEntity);
|
||||
|
||||
publicationRepo.save(existingEntity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the special properties of a publication type using the values from
|
||||
* the imported entity.
|
||||
*
|
||||
* Implementations should only update relevant properties. For assocations
|
||||
* only not existing values should be added, but no values should be removed
|
||||
* from the existing enitity.
|
||||
*
|
||||
* For other properties, implementation MUST check if an update is
|
||||
* neccessary but comparing the the values of the property, and only update
|
||||
* the property of the existing publication if the values are different.
|
||||
*
|
||||
* Implementations MUST not save the updated existing entity. The calling
|
||||
* method
|
||||
* {@link AbstractPublicationImExporter#updateExistingEntity(org.scientificcms.publications.Publication, org.scientificcms.publications.Publication)}
|
||||
* takes care of saving the updated existing publication.
|
||||
*
|
||||
* @param existingPublication The existing publication to update.
|
||||
* @param withImportedPublication The imported publication with the updated
|
||||
* values.
|
||||
*/
|
||||
protected abstract void updateExistingPublication(
|
||||
final T existingPublication,
|
||||
final T withImportedPublication
|
||||
);
|
||||
|
||||
@Override
|
||||
protected T reloadEntity(final T publication) {
|
||||
return publicationRepo
|
||||
|
|
|
|||
Loading…
Reference in New Issue