Additional improvements for structure for publication im/exporters

master
Jens Pelzetter 2023-01-22 10:38:17 +01:00
parent 92299fb9b0
commit ae8da39512
2 changed files with 123 additions and 5 deletions

View File

@ -1,10 +1,8 @@
package org.scientificcms.publications;
import java.util.Objects;
import java.util.Set;
import javax.annotation.PostConstruct;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
@ -25,4 +23,78 @@ public abstract class AbstractPublicationWithPublisherImExporter<T extends Publi
protected abstract void initPublicationWithPublisherImExporter();
@Override
protected final void updateExistingPublication(
final T existingPublication,
final T withImportedPublication
) {
if (!Objects.equals(
existingPublication.getPublisher(),
withImportedPublication.getPublisher()
)) {
existingPublication.setPublisher(
withImportedPublication.getPublisher()
);
}
if (!Objects.equals(
existingPublication.getIsbn10(),
withImportedPublication.getIsbn10()
)) {
existingPublication.setIsbn10(withImportedPublication.getIsbn10());
}
if (!Objects.equals(
existingPublication.getIsbn13(),
withImportedPublication.getIsbn13()
)) {
existingPublication.setIsbn13(withImportedPublication.getIsbn13());
}
if (!Objects.equals(
existingPublication.getVolume(),
withImportedPublication.getVolume()
)) {
existingPublication.setVolume(withImportedPublication.getVolume());
}
if (!Objects.equals(
existingPublication.getNumberOfVolumes(),
withImportedPublication.getNumberOfVolumes()
)) {
existingPublication.setNumberOfVolumes(
withImportedPublication.getNumberOfVolumes()
);
}
if (!Objects.equals(
existingPublication.getNumberOfPages(),
withImportedPublication.getNumberOfPages()
)) {
existingPublication.setNumberOfPages(
withImportedPublication.getNumberOfPages()
);
}
if (!Objects.equals(
existingPublication.getEdition(),
withImportedPublication.getEdition()
)) {
syncLocalizedStrings(
withImportedPublication.getEdition(),
existingPublication.getEdition()
);
}
updateExistingPublicationWithPublisher(
existingPublication,
withImportedPublication
);
}
protected abstract void updateExistingPublicationWithPublisher(
final T existingPublication,
final T withImportedPublication
);
}

View File

@ -2,6 +2,7 @@ package org.scientificcms.publications;
import org.librecms.assets.Organization;
import java.util.Objects;
import java.util.Set;
/**
@ -23,4 +24,49 @@ public abstract class AbstractUnPublishedImExporter<T extends UnPublished>
protected abstract void initUnPublishedImExporter();
@Override
protected final void updateExistingPublication(
final T existingPublication,
final T withImportedPublication
) {
if (!Objects.equals(
existingPublication.getPlace(),
withImportedPublication.getPlace()
)) {
existingPublication.setPlace(withImportedPublication.getPlace());
}
if (!Objects.equals(
existingPublication.getNumber(),
withImportedPublication.getNumber()
)) {
existingPublication.setNumber(
withImportedPublication.getNumber()
);
}
if (existingPublication.getNumberOfPages() != withImportedPublication
.getNumberOfPages()) {
existingPublication.setNumberOfPages(
withImportedPublication.getNumberOfPages()
);
}
if (!Objects.equals(
existingPublication.getOrganization(),
withImportedPublication.getOrganization()
)) {
existingPublication.setOrganization(
withImportedPublication.getOrganization()
);
}
updateExistingUnPublished(existingPublication, withImportedPublication);
}
protected abstract void updateExistingUnPublished(
final T existingPublication,
final T withImportedPublication
);
}