Aktueller Stand Importer Publikationen
git-svn-id: https://svn.libreccm.org/ccm/trunk@1908 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
575c9d3dd7
commit
6abbc6715e
|
|
@ -36,7 +36,9 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public class ImporterUtil {
|
public class ImporterUtil {
|
||||||
|
|
||||||
public AuthorImportReport processAuthor(final Publication publication, final AuthorData authorData) {
|
public AuthorImportReport processAuthor(final Publication publication,
|
||||||
|
final AuthorData authorData,
|
||||||
|
final boolean pretend) {
|
||||||
final AuthorImportReport report = new AuthorImportReport();
|
final AuthorImportReport report = new AuthorImportReport();
|
||||||
|
|
||||||
final Session session = SessionManager.getSession();
|
final Session session = SessionManager.getSession();
|
||||||
|
|
@ -44,140 +46,156 @@ public class ImporterUtil {
|
||||||
collection.addEqualsFilter("surname", authorData.getSurname());
|
collection.addEqualsFilter("surname", authorData.getSurname());
|
||||||
collection.addEqualsFilter("givenname", authorData.getGivenName());
|
collection.addEqualsFilter("givenname", authorData.getGivenName());
|
||||||
|
|
||||||
final GenericPerson author;
|
|
||||||
report.setSurname(authorData.getSurname());
|
report.setSurname(authorData.getSurname());
|
||||||
report.setGivenName(authorData.getGivenName());
|
report.setGivenName(authorData.getGivenName());
|
||||||
report.setEditor(authorData.isEditor());
|
report.setEditor(authorData.isEditor());
|
||||||
|
|
||||||
if (collection.isEmpty()) {
|
if (collection.isEmpty()) {
|
||||||
|
if (!pretend) {
|
||||||
final Integer folderId = Publication.getConfig().getDefaultAuthorsFolder();
|
final Integer folderId = Publication.getConfig().getDefaultAuthorsFolder();
|
||||||
final Folder folder = new Folder(new BigDecimal(folderId));
|
final Folder folder = new Folder(new BigDecimal(folderId));
|
||||||
if (folder == null) {
|
if (folder == null) {
|
||||||
throw new IllegalArgumentException("Error getting folders for authors.");
|
throw new IllegalArgumentException("Error getting folders for authors.");
|
||||||
}
|
}
|
||||||
|
|
||||||
final SciAuthor newAuthor = new SciAuthor();
|
final SciAuthor author = new SciAuthor();
|
||||||
newAuthor.setSurname(authorData.getSurname());
|
author.setSurname(authorData.getSurname());
|
||||||
newAuthor.setGivenName(authorData.getGivenName());
|
author.setGivenName(authorData.getGivenName());
|
||||||
newAuthor.setName(GenericPerson.urlSave(String.format("%s %s",
|
author.setName(GenericPerson.urlSave(String.format("%s %s",
|
||||||
authorData.getSurname(),
|
authorData.getSurname(),
|
||||||
authorData.getGivenName())));
|
authorData.getGivenName())));
|
||||||
newAuthor.setContentSection(folder.getContentSection());
|
author.setContentSection(folder.getContentSection());
|
||||||
newAuthor.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
author.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
||||||
newAuthor.save();
|
author.save();
|
||||||
|
|
||||||
final GenericPersonBundle bundle = new GenericPersonBundle(newAuthor);
|
final GenericPersonBundle bundle = new GenericPersonBundle(author);
|
||||||
bundle.setParent(folder);
|
bundle.setParent(folder);
|
||||||
bundle.setContentSection(folder.getContentSection());
|
bundle.setContentSection(folder.getContentSection());
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
||||||
|
publication.addAuthor(author, authorData.isEditor());
|
||||||
|
}
|
||||||
|
|
||||||
report.setCreated(true);
|
report.setCreated(true);
|
||||||
author = newAuthor;
|
|
||||||
} else {
|
} else {
|
||||||
|
if (!pretend) {
|
||||||
|
final GenericPerson author;
|
||||||
collection.next();
|
collection.next();
|
||||||
author = new GenericPerson(collection.getDataObject());
|
author = new GenericPerson(collection.getDataObject());
|
||||||
|
publication.addAuthor(author, authorData.isEditor());
|
||||||
|
}
|
||||||
report.setCreated(false);
|
report.setCreated(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
publication.addAuthor(author, authorData.isEditor());
|
collection.close();
|
||||||
|
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PublisherImportReport processPublisher(final PublicationWithPublisher publication,
|
public PublisherImportReport processPublisher(final PublicationWithPublisher publication,
|
||||||
final String place,
|
final String place,
|
||||||
final String publisherName) {
|
final String publisherName,
|
||||||
|
final boolean pretend) {
|
||||||
final PublisherImportReport report = new PublisherImportReport();
|
final PublisherImportReport report = new PublisherImportReport();
|
||||||
|
|
||||||
final Session session = SessionManager.getSession();
|
final Session session = SessionManager.getSession();
|
||||||
final DataCollection collection = session.retrieve(Publisher.BASE_DATA_OBJECT_TYPE);
|
final DataCollection collection = session.retrieve(Publisher.BASE_DATA_OBJECT_TYPE);
|
||||||
collection.addEqualsFilter("title", publisherName);
|
collection.addEqualsFilter("title", publisherName);
|
||||||
collection.addEqualsFilter("place", place);
|
collection.addEqualsFilter("place", place);
|
||||||
final Publisher publisher;
|
|
||||||
report.setPublisherName(publisherName);
|
report.setPublisherName(publisherName);
|
||||||
report.setPlace(place);
|
report.setPlace(place);
|
||||||
if (collection.isEmpty()) {
|
if (collection.isEmpty()) {
|
||||||
|
if (!pretend) {
|
||||||
final Integer folderId = Publication.getConfig().getDefaultPublisherFolder();
|
final Integer folderId = Publication.getConfig().getDefaultPublisherFolder();
|
||||||
final Folder folder = new Folder(new BigDecimal(folderId));
|
final Folder folder = new Folder(new BigDecimal(folderId));
|
||||||
if (folder == null) {
|
if (folder == null) {
|
||||||
throw new IllegalArgumentException("Error getting folders for publishers");
|
throw new IllegalArgumentException("Error getting folders for publishers");
|
||||||
}
|
}
|
||||||
|
|
||||||
final Publisher newPublisher = new Publisher();
|
final Publisher publisher = new Publisher();
|
||||||
newPublisher.setPublisherName(publisherName);
|
publisher.setPublisherName(publisherName);
|
||||||
newPublisher.setPlace(place);
|
publisher.setPlace(place);
|
||||||
newPublisher.setTitle(String.format("%s %s", publisherName, place));
|
publisher.setTitle(String.format("%s %s", publisherName, place));
|
||||||
newPublisher.setName(Publisher.urlSave(String.format("%s %s", publisherName, place)));
|
publisher.setName(Publisher.urlSave(String.format("%s %s", publisherName, place)));
|
||||||
newPublisher.setContentSection(folder.getContentSection());
|
publisher.setContentSection(folder.getContentSection());
|
||||||
newPublisher.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
publisher.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
||||||
newPublisher.save();
|
publisher.save();
|
||||||
|
|
||||||
final PublisherBundle bundle = new PublisherBundle(newPublisher);
|
final PublisherBundle bundle = new PublisherBundle(publisher);
|
||||||
bundle.setParent(folder);
|
bundle.setParent(folder);
|
||||||
bundle.setContentSection(folder.getContentSection());
|
bundle.setContentSection(folder.getContentSection());
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
||||||
|
publication.setPublisher(publisher);
|
||||||
|
}
|
||||||
|
|
||||||
report.setCreated(true);
|
report.setCreated(true);
|
||||||
publisher = newPublisher;
|
|
||||||
} else {
|
} else {
|
||||||
|
if (!pretend) {
|
||||||
collection.next();
|
collection.next();
|
||||||
publisher = new Publisher(collection.getDataObject());
|
final Publisher publisher = new Publisher(collection.getDataObject());
|
||||||
|
publication.setPublisher(publisher);
|
||||||
|
}
|
||||||
report.setCreated(false);
|
report.setCreated(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
publication.setPublisher(publisher);
|
collection.close();
|
||||||
|
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CollectedVolumeImportReport processCollectedVolume(final ArticleInCollectedVolume article,
|
public CollectedVolumeImportReport processCollectedVolume(final ArticleInCollectedVolume article,
|
||||||
final String title,
|
final String title,
|
||||||
final int year,
|
final int year,
|
||||||
final List<AuthorData> authors) {
|
final List<AuthorData> authors,
|
||||||
|
final boolean pretend) {
|
||||||
final CollectedVolumeImportReport report = new CollectedVolumeImportReport();
|
final CollectedVolumeImportReport report = new CollectedVolumeImportReport();
|
||||||
|
|
||||||
final Session session = SessionManager.getSession();
|
final Session session = SessionManager.getSession();
|
||||||
final DataCollection collection = session.retrieve(CollectedVolume.BASE_DATA_OBJECT_TYPE);
|
final DataCollection collection = session.retrieve(CollectedVolume.BASE_DATA_OBJECT_TYPE);
|
||||||
collection.addEqualsFilter("title", title);
|
collection.addEqualsFilter("title", title);
|
||||||
collection.addEqualsFilter("yearOfPublication", year);
|
collection.addEqualsFilter("yearOfPublication", year);
|
||||||
final CollectedVolume collectedVolume;
|
|
||||||
report.setCollectedVolumeTitle(title);
|
report.setCollectedVolumeTitle(title);
|
||||||
if (collection.isEmpty()) {
|
if (collection.isEmpty()) {
|
||||||
|
if (!pretend) {
|
||||||
final Integer folderId = Publication.getConfig().getDefaultCollectedVolumesFolder();
|
final Integer folderId = Publication.getConfig().getDefaultCollectedVolumesFolder();
|
||||||
final Folder folder = new Folder(new BigDecimal(folderId));
|
final Folder folder = new Folder(new BigDecimal(folderId));
|
||||||
if (folder == null) {
|
if (folder == null) {
|
||||||
throw new IllegalArgumentException("Error getting foldes for collected volumes.");
|
throw new IllegalArgumentException("Error getting foldes for collected volumes.");
|
||||||
}
|
}
|
||||||
|
|
||||||
final CollectedVolume newCollectedVolume = new CollectedVolume();
|
final CollectedVolume collectedVolume = new CollectedVolume();
|
||||||
newCollectedVolume.setTitle(title);
|
collectedVolume.setTitle(title);
|
||||||
newCollectedVolume.setName(normalizeString(title));
|
collectedVolume.setName(normalizeString(title));
|
||||||
newCollectedVolume.setContentSection(folder.getContentSection());
|
collectedVolume.setContentSection(folder.getContentSection());
|
||||||
newCollectedVolume.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
collectedVolume.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
||||||
newCollectedVolume.save();
|
collectedVolume.save();
|
||||||
|
|
||||||
final CollectedVolumeBundle bundle = new CollectedVolumeBundle(newCollectedVolume);
|
final CollectedVolumeBundle bundle = new CollectedVolumeBundle(collectedVolume);
|
||||||
bundle.setParent(folder);
|
bundle.setParent(folder);
|
||||||
bundle.setContentSection(folder.getContentSection());
|
bundle.setContentSection(folder.getContentSection());
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
||||||
newCollectedVolume.setYearOfPublication(year);
|
collectedVolume.setYearOfPublication(year);
|
||||||
for (AuthorData author : authors) {
|
for (AuthorData author : authors) {
|
||||||
report.addAuthor(processAuthor(newCollectedVolume, author));
|
report.addAuthor(processAuthor(collectedVolume, author, pretend));
|
||||||
}
|
}
|
||||||
|
|
||||||
newCollectedVolume.save();
|
collectedVolume.save();
|
||||||
|
article.setCollectedVolume(collectedVolume);
|
||||||
|
}
|
||||||
|
|
||||||
report.setCreated(true);
|
report.setCreated(true);
|
||||||
collectedVolume = newCollectedVolume;
|
|
||||||
} else {
|
} else {
|
||||||
|
if (!pretend) {
|
||||||
collection.next();
|
collection.next();
|
||||||
collectedVolume = new CollectedVolume(collection.getDataObject());
|
final CollectedVolume collectedVolume = new CollectedVolume(collection.getDataObject());
|
||||||
|
article.setCollectedVolume(collectedVolume);
|
||||||
|
}
|
||||||
report.setCreated(false);
|
report.setCreated(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
article.setCollectedVolume(collectedVolume);
|
collection.close();
|
||||||
|
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -185,63 +203,71 @@ public class ImporterUtil {
|
||||||
final String title,
|
final String title,
|
||||||
final int year,
|
final int year,
|
||||||
final String conference,
|
final String conference,
|
||||||
final List<AuthorData> authors) {
|
final List<AuthorData> authors,
|
||||||
|
final boolean pretend) {
|
||||||
final ProceedingsImportReport report = new ProceedingsImportReport();
|
final ProceedingsImportReport report = new ProceedingsImportReport();
|
||||||
|
|
||||||
final Session session = SessionManager.getSession();
|
final Session session = SessionManager.getSession();
|
||||||
final DataCollection collection = session.retrieve(Proceedings.BASE_DATA_OBJECT_TYPE);
|
final DataCollection collection = session.retrieve(Proceedings.BASE_DATA_OBJECT_TYPE);
|
||||||
collection.addEqualsFilter("title", title);
|
collection.addEqualsFilter("title", title);
|
||||||
collection.addEqualsFilter("yearOfPublication", year);
|
collection.addEqualsFilter("yearOfPublication", year);
|
||||||
final Proceedings proceedings;
|
|
||||||
report.setProceedingsTitle(title);
|
report.setProceedingsTitle(title);
|
||||||
if (collection.isEmpty()) {
|
if (collection.isEmpty()) {
|
||||||
|
if (!pretend) {
|
||||||
final Integer folderId = Publication.getConfig().getDefaultProceedingsFolder();
|
final Integer folderId = Publication.getConfig().getDefaultProceedingsFolder();
|
||||||
final Folder folder = new Folder(new BigDecimal(folderId));
|
final Folder folder = new Folder(new BigDecimal(folderId));
|
||||||
if (folder == null) {
|
if (folder == null) {
|
||||||
throw new IllegalArgumentException("Failed to get folder for proceedings.");
|
throw new IllegalArgumentException("Failed to get folder for proceedings.");
|
||||||
}
|
}
|
||||||
|
|
||||||
final Proceedings newProceedings = new Proceedings();
|
final Proceedings proceedings = new Proceedings();
|
||||||
newProceedings.setTitle(title);
|
proceedings.setTitle(title);
|
||||||
newProceedings.setName(normalizeString(title));
|
proceedings.setName(normalizeString(title));
|
||||||
newProceedings.setNameOfConference(conference);
|
proceedings.setNameOfConference(conference);
|
||||||
report.setConference(conference);
|
report.setConference(conference);
|
||||||
newProceedings.setContentSection(folder.getContentSection());
|
proceedings.setContentSection(folder.getContentSection());
|
||||||
newProceedings.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
proceedings.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
||||||
newProceedings.save();
|
proceedings.save();
|
||||||
|
|
||||||
final ProceedingsBundle bundle = new ProceedingsBundle(newProceedings);
|
final ProceedingsBundle bundle = new ProceedingsBundle(proceedings);
|
||||||
bundle.setContentSection(folder.getContentSection());
|
bundle.setContentSection(folder.getContentSection());
|
||||||
bundle.setParent(folder);
|
bundle.setParent(folder);
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
||||||
newProceedings.setYearOfPublication(year);
|
proceedings.setYearOfPublication(year);
|
||||||
for (AuthorData author : authors) {
|
for (AuthorData author : authors) {
|
||||||
report.addAuthor(processAuthor(newProceedings, author));
|
report.addAuthor(processAuthor(proceedings, author, pretend));
|
||||||
|
}
|
||||||
|
inProceedings.setProceedings(proceedings);
|
||||||
}
|
}
|
||||||
|
|
||||||
report.setCreated(true);
|
report.setCreated(true);
|
||||||
proceedings = newProceedings;
|
|
||||||
} else {
|
} else {
|
||||||
|
if (!pretend) {
|
||||||
collection.next();
|
collection.next();
|
||||||
proceedings = new Proceedings(collection.getDataObject());
|
final Proceedings proceedings = new Proceedings(collection.getDataObject());
|
||||||
|
inProceedings.setProceedings(proceedings);
|
||||||
|
}
|
||||||
report.setCreated(false);
|
report.setCreated(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
inProceedings.setProceedings(proceedings);
|
collection.close();
|
||||||
|
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
public JournalImportReport processJournal(final ArticleInJournal article, final String title) {
|
public JournalImportReport processJournal(final ArticleInJournal article,
|
||||||
|
final String title,
|
||||||
|
final boolean pretend) {
|
||||||
final JournalImportReport report = new JournalImportReport();
|
final JournalImportReport report = new JournalImportReport();
|
||||||
|
|
||||||
final Session session = SessionManager.getSession();
|
final Session session = SessionManager.getSession();
|
||||||
final DataCollection collection = session.retrieve(Journal.BASE_DATA_OBJECT_TYPE);
|
final DataCollection collection = session.retrieve(Journal.BASE_DATA_OBJECT_TYPE);
|
||||||
collection.addEqualsFilter("title", title);
|
collection.addEqualsFilter("title", title);
|
||||||
final Journal journal;
|
|
||||||
report.setJournalTitle(title);
|
report.setJournalTitle(title);
|
||||||
if (collection.isEmpty()) {
|
if (collection.isEmpty()) {
|
||||||
|
if (!pretend) {
|
||||||
final Integer folderId = Publication.getConfig().getDefaultJournalsFolder();
|
final Integer folderId = Publication.getConfig().getDefaultJournalsFolder();
|
||||||
final Folder folder = new Folder(new BigDecimal(folderId));
|
final Folder folder = new Folder(new BigDecimal(folderId));
|
||||||
if (folder == null) {
|
if (folder == null) {
|
||||||
|
|
@ -259,16 +285,19 @@ public class ImporterUtil {
|
||||||
bundle.setContentSection(folder.getContentSection());
|
bundle.setContentSection(folder.getContentSection());
|
||||||
bundle.save();
|
bundle.save();
|
||||||
|
|
||||||
|
article.setJournal(newJournal);
|
||||||
|
}
|
||||||
report.setCreated(true);
|
report.setCreated(true);
|
||||||
journal = newJournal;
|
|
||||||
} else {
|
} else {
|
||||||
|
if (!pretend) {
|
||||||
collection.next();
|
collection.next();
|
||||||
journal = new Journal(collection.getDataObject());
|
final Journal journal = new Journal(collection.getDataObject());
|
||||||
|
article.setJournal(journal);
|
||||||
|
}
|
||||||
report.setCreated(false);
|
report.setCreated(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
article.setJournal(journal);
|
collection.close();
|
||||||
|
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,13 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
private static final String EDITOR_STR = "(Hrsg.)";
|
private static final String EDITOR_STR = "(Hrsg.)";
|
||||||
private final CsvLine data;
|
private final CsvLine data;
|
||||||
private final PublicationImportReport report;
|
private final PublicationImportReport report;
|
||||||
|
private final boolean pretend;
|
||||||
private final ImporterUtil importerUtil = new ImporterUtil();
|
private final ImporterUtil importerUtil = new ImporterUtil();
|
||||||
|
|
||||||
public AbstractPublicationImporter(final CsvLine data, final PublicationImportReport report) {
|
public AbstractPublicationImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
this.data = data;
|
this.data = data;
|
||||||
this.report = report;
|
this.report = report;
|
||||||
|
this.pretend = pretend;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CsvLine getData() {
|
protected CsvLine getData() {
|
||||||
|
|
@ -50,23 +52,30 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean isPretend() {
|
||||||
|
return pretend;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called by {@link PublicationsImporter}.
|
* This method is called by {@link PublicationsImporter}.
|
||||||
*/
|
*/
|
||||||
public final void doImport(final boolean publishNewItems) {
|
public final void doImport(final boolean publishNewItems) {
|
||||||
final T publication = importPublication();
|
final T publication = importPublication();
|
||||||
|
|
||||||
|
if (!pretend) {
|
||||||
publication.save();
|
publication.save();
|
||||||
|
|
||||||
assignCategories(publication.getPublicationBundle());
|
assignCategories(publication.getPublicationBundle());
|
||||||
|
|
||||||
if (publishNewItems) {
|
if (publishNewItems) {
|
||||||
final Calendar now = new GregorianCalendar();
|
final Calendar now = new GregorianCalendar();
|
||||||
final LifecycleDefinitionCollection lifecycles = publication.getContentSection().getLifecycleDefinitions();
|
final LifecycleDefinitionCollection lifecycles = publication.getContentSection().
|
||||||
|
getLifecycleDefinitions();
|
||||||
lifecycles.next();
|
lifecycles.next();
|
||||||
final LifecycleDefinition lifecycleDef = lifecycles.getLifecycleDefinition();
|
final LifecycleDefinition lifecycleDef = lifecycles.getLifecycleDefinition();
|
||||||
publication.publish(lifecycleDef, now.getTime());
|
publication.publish(lifecycleDef, now.getTime());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
report.setSuccessful(true);
|
report.setSuccessful(true);
|
||||||
|
|
||||||
|
|
@ -94,7 +103,9 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
final T publication = createPublication();
|
final T publication = createPublication();
|
||||||
|
|
||||||
processTitleAndName(publication);
|
processTitleAndName(publication);
|
||||||
|
processReviewed(publication);
|
||||||
|
|
||||||
|
if (!pretend) {
|
||||||
publication.save();
|
publication.save();
|
||||||
|
|
||||||
final Integer folderId = Publication.getConfig().getDefaultPublicationsFolder();
|
final Integer folderId = Publication.getConfig().getDefaultPublicationsFolder();
|
||||||
|
|
@ -112,10 +123,11 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
|
|
||||||
publication.setAbstract(data.getAbstract());
|
publication.setAbstract(data.getAbstract());
|
||||||
publication.setMisc(data.getMisc());
|
publication.setMisc(data.getMisc());
|
||||||
processReviewed(publication);
|
|
||||||
processAuthors(publication);
|
|
||||||
|
|
||||||
publication.save();
|
publication.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
processAuthors(publication);
|
||||||
|
|
||||||
return publication;
|
return publication;
|
||||||
}
|
}
|
||||||
|
|
@ -130,9 +142,11 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
protected abstract PublicationBundle createBundle(final T publication);
|
protected abstract PublicationBundle createBundle(final T publication);
|
||||||
|
|
||||||
private void processTitleAndName(final T publication) {
|
private void processTitleAndName(final T publication) {
|
||||||
|
if (!pretend) {
|
||||||
publication.setTitle(data.getTitle());
|
publication.setTitle(data.getTitle());
|
||||||
publication.setName(normalizeString(data.getTitle()));
|
publication.setName(normalizeString(data.getTitle()));
|
||||||
report.setTitle(publication.getTitle());
|
}
|
||||||
|
report.setTitle(data.getTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processReviewed(final T publication) {
|
private void processReviewed(final T publication) {
|
||||||
|
|
@ -155,7 +169,9 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
reviewed = false;
|
reviewed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!pretend) {
|
||||||
publication.setReviewed(reviewed);
|
publication.setReviewed(reviewed);
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("reviewed", Boolean.toString(reviewed)));
|
report.addField(new FieldImportReport("reviewed", Boolean.toString(reviewed)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -164,7 +180,7 @@ abstract class AbstractPublicationImporter<T extends Publication> {
|
||||||
|
|
||||||
AuthorImportReport authorReport;
|
AuthorImportReport authorReport;
|
||||||
for (AuthorData authorData : authorsData) {
|
for (AuthorData authorData : authorsData) {
|
||||||
authorReport = importerUtil.processAuthor(publication, authorData);
|
authorReport = importerUtil.processAuthor(publication, authorData, pretend);
|
||||||
report.addAuthor(authorReport);
|
report.addAuthor(authorReport);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,9 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
extends AbstractPublicationImporter<T> {
|
extends AbstractPublicationImporter<T> {
|
||||||
|
|
||||||
public AbstractPublicationWithPublisherImporter(final CsvLine data,
|
public AbstractPublicationWithPublisherImporter(final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
super(data, report);
|
final boolean pretend) {
|
||||||
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -23,7 +24,9 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
final CsvLine data = getData();
|
final CsvLine data = getData();
|
||||||
|
|
||||||
if ((data.getIsbn() != null) && !data.getIsbn().isEmpty()) {
|
if ((data.getIsbn() != null) && !data.getIsbn().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setISBN(data.getIsbn());
|
publication.setISBN(data.getIsbn());
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("isbn", data.getIsbn()));
|
getReport().addField(new FieldImportReport("isbn", data.getIsbn()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,10 +34,13 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
processNumberOfVolumes(publication);
|
processNumberOfVolumes(publication);
|
||||||
processNumberOfPages(publication);
|
processNumberOfPages(publication);
|
||||||
if ((data.getEdition() != null) && !data.getEdition().isEmpty()) {
|
if ((data.getEdition() != null) && !data.getEdition().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setEdition(data.getEdition());
|
publication.setEdition(data.getEdition());
|
||||||
}
|
}
|
||||||
|
getReport().addField(new FieldImportReport("edition", data.getEdition()));
|
||||||
|
}
|
||||||
|
|
||||||
getImporterUtil().processPublisher(publication, getData().getPlace(), getData().getPublisher());
|
getImporterUtil().processPublisher(publication, getData().getPlace(), getData().getPublisher(), isPretend());
|
||||||
|
|
||||||
return publication;
|
return publication;
|
||||||
}
|
}
|
||||||
|
|
@ -43,7 +49,9 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
if ((getData().getVolume() != null) && !getData().getVolume().isEmpty()) {
|
if ((getData().getVolume() != null) && !getData().getVolume().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getVolume());
|
final int volume = Integer.parseInt(getData().getVolume());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setVolume(volume);
|
publication.setVolume(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Volume", getData().getVolume()));
|
getReport().addField(new FieldImportReport("Volume", getData().getVolume()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse volume data in line %d.", getData().
|
getReport().addMessage(String.format("Failed to parse volume data in line %d.", getData().
|
||||||
|
|
@ -56,7 +64,9 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
if ((getData().getNumberOfVolumes() != null) && !getData().getNumberOfVolumes().isEmpty()) {
|
if ((getData().getNumberOfVolumes() != null) && !getData().getNumberOfVolumes().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getNumberOfVolumes());
|
final int volume = Integer.parseInt(getData().getNumberOfVolumes());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setNumberOfVolumes(volume);
|
publication.setNumberOfVolumes(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Number of volumes", getData().getNumberOfVolumes()));
|
getReport().addField(new FieldImportReport("Number of volumes", getData().getNumberOfVolumes()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format(
|
getReport().addMessage(String.format(
|
||||||
|
|
@ -69,7 +79,9 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setNumberOfPages(volume);
|
publication.setNumberOfPages(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
||||||
|
|
@ -77,52 +89,4 @@ abstract class AbstractPublicationWithPublisherImporter<T extends PublicationWit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// private void processPublisher(final T publication) {
|
|
||||||
// final String publisherName = getData().getPublisher();
|
|
||||||
// final String place = getData().getPlace();
|
|
||||||
//
|
|
||||||
// final Session session = SessionManager.getSession();
|
|
||||||
// final DataCollection collection = session.retrieve(Publisher.BASE_DATA_OBJECT_TYPE);
|
|
||||||
// collection.addEqualsFilter("title", publisherName);
|
|
||||||
// collection.addEqualsFilter("place", place);
|
|
||||||
// final Publisher publisher;
|
|
||||||
// if (collection.isEmpty()) {
|
|
||||||
// getReportWriter().printf("Publisher %s: %s not found in database. Creating...\n",
|
|
||||||
// getData().getPlace(),
|
|
||||||
// getData().getPublisher());
|
|
||||||
//
|
|
||||||
// final Integer folderId = Publication.getConfig().getDefaultPublisherFolder();
|
|
||||||
// final Folder folder = new Folder(new BigDecimal(folderId));
|
|
||||||
// if (folder == null) {
|
|
||||||
// throw new IllegalArgumentException("Error getting folders for publishers");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// final Publisher newPublisher = new Publisher();
|
|
||||||
// newPublisher.setPublisherName(publisherName);
|
|
||||||
// newPublisher.setPlace(place);
|
|
||||||
// newPublisher.setTitle(String.format("%s %s", publisherName, place));
|
|
||||||
// newPublisher.setName(Publisher.urlSave(String.format("%s %s", publisherName, place)));
|
|
||||||
// newPublisher.setContentSection(folder.getContentSection());
|
|
||||||
// newPublisher.setLanguage(Kernel.getConfig().getLanguagesIndependentCode());
|
|
||||||
// newPublisher.save();
|
|
||||||
//
|
|
||||||
// final PublisherBundle bundle = new PublisherBundle(newPublisher);
|
|
||||||
// bundle.setParent(folder);
|
|
||||||
// bundle.setContentSection(folder.getContentSection());
|
|
||||||
// bundle.save();
|
|
||||||
//
|
|
||||||
// publisher = newPublisher;
|
|
||||||
// } else {
|
|
||||||
// getReportWriter().printf("Publisher %s: %s found in database. Using existing item.\n",
|
|
||||||
// getData().getPlace(),
|
|
||||||
// getData().getPublisher());
|
|
||||||
// collection.next();
|
|
||||||
// final DataObject dobj = collection.getDataObject();
|
|
||||||
// publisher = new Publisher(dobj);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// publication.setPublisher(publisher);
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,9 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
abstract class AbstractUnPublishedImporter<T extends UnPublished> extends AbstractPublicationImporter<T> {
|
abstract class AbstractUnPublishedImporter<T extends UnPublished> extends AbstractPublicationImporter<T> {
|
||||||
|
|
||||||
protected AbstractUnPublishedImporter(final CsvLine data,
|
protected AbstractUnPublishedImporter(final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
super(data, report);
|
final boolean pretend) {
|
||||||
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -23,7 +24,9 @@ abstract class AbstractUnPublishedImporter<T extends UnPublished> extends Abstra
|
||||||
final PublicationImportReport report = getReport();
|
final PublicationImportReport report = getReport();
|
||||||
|
|
||||||
if ((data.getPlace() != null) && !data.getPlace().isEmpty()) {
|
if ((data.getPlace() != null) && !data.getPlace().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPlace(data.getPlace());
|
publication.setPlace(data.getPlace());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("place", data.getPlace()));
|
report.addField(new FieldImportReport("place", data.getPlace()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,7 +39,9 @@ abstract class AbstractUnPublishedImporter<T extends UnPublished> extends Abstra
|
||||||
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setNumberOfPages(volume);
|
publication.setNumberOfPages(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ import com.arsdigita.cms.scipublications.importer.util.ImporterUtil;
|
||||||
*/
|
*/
|
||||||
class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter<ArticleInCollectedVolume> {
|
class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter<ArticleInCollectedVolume> {
|
||||||
|
|
||||||
public ArticleInCollectedVolumeImporter(CsvLine data, PublicationImportReport report) {
|
public ArticleInCollectedVolumeImporter(CsvLine data, PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -29,14 +29,18 @@ class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter<Artic
|
||||||
processPagesTo(article);
|
processPagesTo(article);
|
||||||
|
|
||||||
if ((data.getChapter() != null) && !data.getChapter().isEmpty()) {
|
if ((data.getChapter() != null) && !data.getChapter().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setChapter(data.getChapter());
|
article.setChapter(data.getChapter());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("Chapter", data.getChapter()));
|
report.addField(new FieldImportReport("Chapter", data.getChapter()));
|
||||||
}
|
}
|
||||||
|
|
||||||
report.setCollectedVolume(importerUtil.processCollectedVolume(article,
|
report.setCollectedVolume(importerUtil.processCollectedVolume(
|
||||||
|
article,
|
||||||
data.getCollectedVolume(),
|
data.getCollectedVolume(),
|
||||||
article.getYearOfPublication(),
|
article.getYearOfPublication(),
|
||||||
parseAuthors(data.getAuthors())));
|
parseAuthors(data.getCollectedVolumeAuthors()),
|
||||||
|
isPretend()));
|
||||||
|
|
||||||
|
|
||||||
return article;
|
return article;
|
||||||
|
|
@ -46,7 +50,9 @@ class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter<Artic
|
||||||
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesFrom);
|
publication.setPagesFrom(pagesFrom);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
||||||
|
|
@ -58,7 +64,9 @@ class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter<Artic
|
||||||
private void processPagesTo(final ArticleInCollectedVolume publication) {
|
private void processPagesTo(final ArticleInCollectedVolume publication) {
|
||||||
try {
|
try {
|
||||||
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesTo);
|
publication.setPagesFrom(pagesTo);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
||||||
|
|
@ -68,11 +76,20 @@ class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter<Artic
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ArticleInCollectedVolume createPublication() {
|
protected ArticleInCollectedVolume createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new ArticleInCollectedVolume();
|
return new ArticleInCollectedVolume();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final ArticleInCollectedVolume article) {
|
protected PublicationBundle createBundle(final ArticleInCollectedVolume article) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new ArticleInCollectedVolumeBundle(article);
|
return new ArticleInCollectedVolumeBundle(article);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,10 @@ import java.util.Date;
|
||||||
*/
|
*/
|
||||||
class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJournal> {
|
class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJournal> {
|
||||||
|
|
||||||
protected ArticleInJournalImporter(final CsvLine data, final PublicationImportReport report) {
|
protected ArticleInJournalImporter(final CsvLine data,
|
||||||
super(data, report);
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -30,7 +32,9 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
|
|
||||||
processVolume(article);
|
processVolume(article);
|
||||||
if ((data.getIssue() != null) && !data.getIssue().isEmpty()) {
|
if ((data.getIssue() != null) && !data.getIssue().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setIssue(data.getIssue());
|
article.setIssue(data.getIssue());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("Issue", data.getIssue()));
|
report.addField(new FieldImportReport("Issue", data.getIssue()));
|
||||||
}
|
}
|
||||||
processPagesFrom(article);
|
processPagesFrom(article);
|
||||||
|
|
@ -38,7 +42,7 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
processPublicationDate(article);
|
processPublicationDate(article);
|
||||||
|
|
||||||
if ((data.getJournal() != null) && !data.getJournal().isEmpty()) {
|
if ((data.getJournal() != null) && !data.getJournal().isEmpty()) {
|
||||||
importerUtil.processJournal(article, data.getJournal());
|
importerUtil.processJournal(article, data.getJournal(), isPretend());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -49,7 +53,9 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
if ((getData().getVolume() != null) && !getData().getVolume().isEmpty()) {
|
if ((getData().getVolume() != null) && !getData().getVolume().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getVolume());
|
final int volume = Integer.parseInt(getData().getVolume());
|
||||||
|
if (!isPretend()) {
|
||||||
article.setVolume(volume);
|
article.setVolume(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Volume", getData().getVolume()));
|
getReport().addField(new FieldImportReport("Volume", getData().getVolume()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse volume data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse volume data in line '%d'.",
|
||||||
|
|
@ -62,7 +68,9 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesFrom);
|
publication.setPagesFrom(pagesFrom);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
||||||
|
|
@ -74,7 +82,9 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
private void processPagesTo(final ArticleInJournal publication) {
|
private void processPagesTo(final ArticleInJournal publication) {
|
||||||
try {
|
try {
|
||||||
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesTo);
|
publication.setPagesFrom(pagesTo);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
||||||
|
|
@ -87,7 +97,9 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
final DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
|
final DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
|
||||||
try {
|
try {
|
||||||
final Date date = dateFormat.parse(getData().getPublicationDate());
|
final Date date = dateFormat.parse(getData().getPublicationDate());
|
||||||
|
if (!isPretend()) {
|
||||||
article.setPublicationDate(date);
|
article.setPublicationDate(date);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Publication date", getData().getPublicationDate()));
|
getReport().addField(new FieldImportReport("Publication date", getData().getPublicationDate()));
|
||||||
} catch (java.text.ParseException ex) {
|
} catch (java.text.ParseException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse publication date in line %d.",
|
getReport().addMessage(String.format("Failed to parse publication date in line %d.",
|
||||||
|
|
@ -98,12 +110,20 @@ class ArticleInJournalImporter extends AbstractPublicationImporter<ArticleInJour
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ArticleInJournal createPublication() {
|
protected ArticleInJournal createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new ArticleInJournal();
|
return new ArticleInJournal();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final ArticleInJournal article) {
|
protected PublicationBundle createBundle(final ArticleInJournal article) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new ArticleInJournalBundle(article);
|
return new ArticleInJournalBundle(article);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,18 +12,28 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class CollectedVolumeImporter extends AbstractPublicationWithPublisherImporter<CollectedVolume> {
|
class CollectedVolumeImporter extends AbstractPublicationWithPublisherImporter<CollectedVolume> {
|
||||||
|
|
||||||
protected CollectedVolumeImporter(final CsvLine data, final PublicationImportReport report) {
|
protected CollectedVolumeImporter(final CsvLine data,
|
||||||
super(data, report);
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CollectedVolume createPublication() {
|
protected CollectedVolume createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new CollectedVolume();
|
return new CollectedVolume();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final CollectedVolume collectedVolume) {
|
protected PublicationBundle createBundle(final CollectedVolume collectedVolume) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new CollectedVolumeBundle(collectedVolume);
|
return new CollectedVolumeBundle(collectedVolume);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class ExpertiseImporter extends AbstractPublicationImporter<Expertise> {
|
class ExpertiseImporter extends AbstractPublicationImporter<Expertise> {
|
||||||
|
|
||||||
protected ExpertiseImporter(final CsvLine data, final PublicationImportReport report) {
|
protected ExpertiseImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -23,7 +23,9 @@ class ExpertiseImporter extends AbstractPublicationImporter<Expertise> {
|
||||||
final PublicationImportReport report = getReport();
|
final PublicationImportReport report = getReport();
|
||||||
|
|
||||||
if ((data.getPlace() != null) && !data.getPlace().isEmpty()) {
|
if ((data.getPlace() != null) && !data.getPlace().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
expertise.setPlace(data.getPlace());
|
expertise.setPlace(data.getPlace());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("Place", data.getPlace()));
|
report.addField(new FieldImportReport("Place", data.getPlace()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,7 +38,9 @@ class ExpertiseImporter extends AbstractPublicationImporter<Expertise> {
|
||||||
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setNumberOfPages(volume);
|
publication.setNumberOfPages(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
||||||
|
|
@ -47,12 +51,20 @@ class ExpertiseImporter extends AbstractPublicationImporter<Expertise> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Expertise createPublication() {
|
protected Expertise createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new Expertise();
|
return new Expertise();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final Expertise expertise) {
|
protected PublicationBundle createBundle(final Expertise expertise) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new PublicationBundle(expertise);
|
return new PublicationBundle(expertise);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class GreyLiteratureImporter extends AbstractUnPublishedImporter<GreyLiterature> {
|
class GreyLiteratureImporter extends AbstractUnPublishedImporter<GreyLiterature> {
|
||||||
|
|
||||||
protected GreyLiteratureImporter(final CsvLine data, final PublicationImportReport report) {
|
protected GreyLiteratureImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -30,7 +30,9 @@ class GreyLiteratureImporter extends AbstractUnPublishedImporter<GreyLiterature>
|
||||||
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesFrom);
|
publication.setPagesFrom(pagesFrom);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
||||||
|
|
@ -42,7 +44,9 @@ class GreyLiteratureImporter extends AbstractUnPublishedImporter<GreyLiterature>
|
||||||
private void processPagesTo(final GreyLiterature publication) {
|
private void processPagesTo(final GreyLiterature publication) {
|
||||||
try {
|
try {
|
||||||
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesTo);
|
publication.setPagesFrom(pagesTo);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
||||||
|
|
@ -52,12 +56,20 @@ class GreyLiteratureImporter extends AbstractUnPublishedImporter<GreyLiterature>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected GreyLiterature createPublication() {
|
protected GreyLiterature createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new GreyLiterature();
|
return new GreyLiterature();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final GreyLiterature greyLiterature) {
|
protected PublicationBundle createBundle(final GreyLiterature greyLiterature) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new PublicationBundle(greyLiterature);
|
return new PublicationBundle(greyLiterature);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ import com.arsdigita.cms.scipublications.importer.util.ImporterUtil;
|
||||||
*/
|
*/
|
||||||
class InProceedingsImporter extends AbstractPublicationImporter<InProceedings> {
|
class InProceedingsImporter extends AbstractPublicationImporter<InProceedings> {
|
||||||
|
|
||||||
public InProceedingsImporter(final CsvLine data, final PublicationImportReport report) {
|
public InProceedingsImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -28,11 +28,12 @@ class InProceedingsImporter extends AbstractPublicationImporter<InProceedings> {
|
||||||
processPagesFrom(inProceedings);
|
processPagesFrom(inProceedings);
|
||||||
processPagesTo(inProceedings);
|
processPagesTo(inProceedings);
|
||||||
|
|
||||||
importerUtil.processProceedings(inProceedings,
|
report.setProceedings(importerUtil.processProceedings(inProceedings,
|
||||||
data.getCollectedVolume(),
|
data.getCollectedVolume(),
|
||||||
inProceedings.getYearOfPublication(),
|
inProceedings.getYearOfPublication(),
|
||||||
data.getConference(),
|
data.getConference(),
|
||||||
parseAuthors(data.getCollectedVolumeAuthors()));
|
parseAuthors(data.getCollectedVolumeAuthors()),
|
||||||
|
isPretend()));
|
||||||
|
|
||||||
return inProceedings;
|
return inProceedings;
|
||||||
}
|
}
|
||||||
|
|
@ -41,7 +42,9 @@ class InProceedingsImporter extends AbstractPublicationImporter<InProceedings> {
|
||||||
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
if ((getData().getPageFrom() != null) && !getData().getPageFrom().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
final int pagesFrom = Integer.parseInt(getData().getPageFrom());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesFrom);
|
publication.setPagesFrom(pagesFrom);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages from", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageFrom data in line '%d'.",
|
||||||
|
|
@ -53,7 +56,9 @@ class InProceedingsImporter extends AbstractPublicationImporter<InProceedings> {
|
||||||
private void processPagesTo(final InProceedings publication) {
|
private void processPagesTo(final InProceedings publication) {
|
||||||
try {
|
try {
|
||||||
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
final int pagesTo = Integer.parseInt(getData().getPageTo());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setPagesFrom(pagesTo);
|
publication.setPagesFrom(pagesTo);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
getReport().addField(new FieldImportReport("Pages to", getData().getPageFrom()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
getReport().addMessage(String.format("Failed to parse pageTo data in line '%d'.",
|
||||||
|
|
@ -63,13 +68,21 @@ class InProceedingsImporter extends AbstractPublicationImporter<InProceedings> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected InProceedings createPublication() {
|
protected InProceedings createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new InProceedings();
|
return new InProceedings();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final InProceedings inProceedings) {
|
protected PublicationBundle createBundle(final InProceedings inProceedings) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new InProceedingsBundle(inProceedings);
|
return new InProceedingsBundle(inProceedings);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ import java.util.Date;
|
||||||
*/
|
*/
|
||||||
class InternetArticleImporter extends AbstractPublicationImporter<InternetArticle> {
|
class InternetArticleImporter extends AbstractPublicationImporter<InternetArticle> {
|
||||||
|
|
||||||
public InternetArticleImporter(final CsvLine data, final PublicationImportReport report) {
|
public InternetArticleImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -27,19 +27,25 @@ class InternetArticleImporter extends AbstractPublicationImporter<InternetArticl
|
||||||
final PublicationImportReport report = getReport();
|
final PublicationImportReport report = getReport();
|
||||||
|
|
||||||
if ((data.getPlace() != null) && !data.getPlace().isEmpty()) {
|
if ((data.getPlace() != null) && !data.getPlace().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setPlace(data.getPlace());
|
article.setPlace(data.getPlace());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("Place", data.getPlace()));
|
report.addField(new FieldImportReport("Place", data.getPlace()));
|
||||||
}
|
}
|
||||||
|
|
||||||
processNumberOfPages(article);
|
processNumberOfPages(article);
|
||||||
|
|
||||||
if ((data.getEdition() != null) && !data.getEdition().isEmpty()) {
|
if ((data.getEdition() != null) && !data.getEdition().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setEdition(data.getEdition());
|
article.setEdition(data.getEdition());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("Edition", data.getEdition()));
|
report.addField(new FieldImportReport("Edition", data.getEdition()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((data.getIssn() != null) && !data.getIssn().isEmpty()) {
|
if ((data.getIssn() != null) && !data.getIssn().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setISSN(data.getIssn());
|
article.setISSN(data.getIssn());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("ISSN", data.getIssn()));
|
report.addField(new FieldImportReport("ISSN", data.getIssn()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -47,17 +53,23 @@ class InternetArticleImporter extends AbstractPublicationImporter<InternetArticl
|
||||||
processPublicationDate(article);
|
processPublicationDate(article);
|
||||||
|
|
||||||
if ((data.getUrl() != null) && !data.getUrl().isEmpty()) {
|
if ((data.getUrl() != null) && !data.getUrl().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setUrl(data.getUrl());
|
article.setUrl(data.getUrl());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("URL", data.getUrl()));
|
report.addField(new FieldImportReport("URL", data.getUrl()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((data.getUrn() != null) && !data.getUrn().isEmpty()) {
|
if ((data.getUrn() != null) && !data.getUrn().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setUrn(data.getUrn());
|
article.setUrn(data.getUrn());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("URN", data.getUrn()));
|
report.addField(new FieldImportReport("URN", data.getUrn()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((data.getDoi() != null) && !data.getDoi().isEmpty()) {
|
if ((data.getDoi() != null) && !data.getDoi().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
article.setDoi(data.getDoi());
|
article.setDoi(data.getDoi());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("DOI", data.getDoi()));
|
report.addField(new FieldImportReport("DOI", data.getDoi()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -68,7 +80,9 @@ class InternetArticleImporter extends AbstractPublicationImporter<InternetArticl
|
||||||
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
if ((getData().getNumberOfPages() != null) && !getData().getNumberOfPages().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
final int volume = Integer.parseInt(getData().getNumberOfPages());
|
||||||
|
if (!isPretend()) {
|
||||||
publication.setNumberOfPages(volume);
|
publication.setNumberOfPages(volume);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
getReport().addField(new FieldImportReport("Number of pages", getData().getNumberOfPages()));
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
getReport().addMessage(String.format("Failed to parse numberOfPages data in line %d.",
|
||||||
|
|
@ -82,7 +96,9 @@ class InternetArticleImporter extends AbstractPublicationImporter<InternetArticl
|
||||||
final DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
|
final DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
|
||||||
try {
|
try {
|
||||||
final Date date = dateFormat.parse(getData().getLastAccess());
|
final Date date = dateFormat.parse(getData().getLastAccess());
|
||||||
|
if (!isPretend()) {
|
||||||
article.setLastAccessed(date);
|
article.setLastAccessed(date);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Last access", getData().getLastAccess()));
|
getReport().addField(new FieldImportReport("Last access", getData().getLastAccess()));
|
||||||
} catch (java.text.ParseException ex) {
|
} catch (java.text.ParseException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse date of last access in line %d.",
|
getReport().addMessage(String.format("Failed to parse date of last access in line %d.",
|
||||||
|
|
@ -96,7 +112,9 @@ class InternetArticleImporter extends AbstractPublicationImporter<InternetArticl
|
||||||
final DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
|
final DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
|
||||||
try {
|
try {
|
||||||
final Date date = dateFormat.parse(getData().getPublicationDate());
|
final Date date = dateFormat.parse(getData().getPublicationDate());
|
||||||
|
if (!isPretend()) {
|
||||||
article.setPublicationDate(date);
|
article.setPublicationDate(date);
|
||||||
|
}
|
||||||
getReport().addField(new FieldImportReport("Publication date", getData().getPublicationDate()));
|
getReport().addField(new FieldImportReport("Publication date", getData().getPublicationDate()));
|
||||||
} catch (java.text.ParseException ex) {
|
} catch (java.text.ParseException ex) {
|
||||||
getReport().addMessage(String.format("Failed to parse publication date in line %d.",
|
getReport().addMessage(String.format("Failed to parse publication date in line %d.",
|
||||||
|
|
@ -107,11 +125,20 @@ class InternetArticleImporter extends AbstractPublicationImporter<InternetArticl
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected InternetArticle createPublication() {
|
protected InternetArticle createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new InternetArticle();
|
return new InternetArticle();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final InternetArticle article) {
|
protected PublicationBundle createBundle(final InternetArticle article) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new InternetArticleBundle(article);
|
return new InternetArticleBundle(article);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,18 +12,26 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class MonographImporter extends AbstractPublicationWithPublisherImporter<Monograph> {
|
class MonographImporter extends AbstractPublicationWithPublisherImporter<Monograph> {
|
||||||
|
|
||||||
protected MonographImporter(final CsvLine data, final PublicationImportReport report) {
|
protected MonographImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Monograph createPublication() {
|
protected Monograph createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new Monograph();
|
return new Monograph();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final Monograph monograph) {
|
protected PublicationBundle createBundle(final Monograph monograph) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new PublicationWithPublisherBundle(monograph);
|
return new PublicationWithPublisherBundle(monograph);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class ProceedingsImporter extends AbstractPublicationWithPublisherImporter<Proceedings> {
|
class ProceedingsImporter extends AbstractPublicationWithPublisherImporter<Proceedings> {
|
||||||
|
|
||||||
public ProceedingsImporter(final CsvLine data, final PublicationImportReport report) {
|
public ProceedingsImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -24,7 +24,9 @@ class ProceedingsImporter extends AbstractPublicationWithPublisherImporter<Proce
|
||||||
final PublicationImportReport report = getReport();
|
final PublicationImportReport report = getReport();
|
||||||
|
|
||||||
if ((data.getConference() != null) && !data.getConference().isEmpty()) {
|
if ((data.getConference() != null) && !data.getConference().isEmpty()) {
|
||||||
|
if (!isPretend()) {
|
||||||
proceedings.setNameOfConference(data.getConference());
|
proceedings.setNameOfConference(data.getConference());
|
||||||
|
}
|
||||||
report.addField(new FieldImportReport("Name of conference", data.getConference()));
|
report.addField(new FieldImportReport("Name of conference", data.getConference()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -33,11 +35,20 @@ class ProceedingsImporter extends AbstractPublicationWithPublisherImporter<Proce
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Proceedings createPublication() {
|
protected Proceedings createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new Proceedings();
|
return new Proceedings();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final Proceedings proceedings) {
|
protected PublicationBundle createBundle(final Proceedings proceedings) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new ProceedingsBundle(proceedings);
|
return new ProceedingsBundle(proceedings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ public class PublicationsImporter implements SciPublicationsImporter {
|
||||||
try {
|
try {
|
||||||
int lineNumber = 2; //Because we are starting at line 2 of the CSV file (line 1 contains the column headers)
|
int lineNumber = 2; //Because we are starting at line 2 of the CSV file (line 1 contains the column headers)
|
||||||
for (String line : lines) {
|
for (String line : lines) {
|
||||||
final PublicationImportReport result = importPublication(line, lineNumber, publishNewItems);
|
final PublicationImportReport result = importPublication(line, lineNumber, publishNewItems, pretend);
|
||||||
report.addPublication(result);
|
report.addPublication(result);
|
||||||
lineNumber++;
|
lineNumber++;
|
||||||
}
|
}
|
||||||
|
|
@ -120,7 +120,8 @@ public class PublicationsImporter implements SciPublicationsImporter {
|
||||||
|
|
||||||
private PublicationImportReport importPublication(final String line,
|
private PublicationImportReport importPublication(final String line,
|
||||||
final int lineNumber,
|
final int lineNumber,
|
||||||
final boolean publishNewItems) {
|
final boolean publishNewItems,
|
||||||
|
final boolean pretend) {
|
||||||
final PublicationImportReport report = new PublicationImportReport();
|
final PublicationImportReport report = new PublicationImportReport();
|
||||||
|
|
||||||
final String[] cols = line.split(COL_SEP, -30);
|
final String[] cols = line.split(COL_SEP, -30);
|
||||||
|
|
@ -139,28 +140,28 @@ public class PublicationsImporter implements SciPublicationsImporter {
|
||||||
|
|
||||||
System.err.println("Calling importer...");
|
System.err.println("Calling importer...");
|
||||||
if (ArticleInCollectedVolume.class.getSimpleName().equals(data.getType())) {
|
if (ArticleInCollectedVolume.class.getSimpleName().equals(data.getType())) {
|
||||||
processArticleInCollectedVolume(publishNewItems, data, report);
|
processArticleInCollectedVolume(publishNewItems, data, report, pretend);
|
||||||
} else if (ArticleInCollectedVolume.class.getSimpleName().equals(data.getType())) {
|
} else if (ArticleInCollectedVolume.class.getSimpleName().equals(data.getType())) {
|
||||||
processArticleInJournal(publishNewItems, data, report);
|
processArticleInJournal(publishNewItems, data, report, pretend);
|
||||||
} else if (CollectedVolume.class.getSimpleName().equals(data.getType())) {
|
} else if (CollectedVolume.class.getSimpleName().equals(data.getType())) {
|
||||||
processCollectedVolume(publishNewItems, data, report);
|
processCollectedVolume(publishNewItems, data, report, pretend);
|
||||||
} else if (Expertise.class.getSimpleName().equals(data.getType())) {
|
} else if (Expertise.class.getSimpleName().equals(data.getType())) {
|
||||||
processExpertise(publishNewItems, data, report);
|
processExpertise(publishNewItems, data, report, pretend);
|
||||||
} else if (GreyLiterature.class.getSimpleName().equals(data.getType())) {
|
} else if (GreyLiterature.class.getSimpleName().equals(data.getType())) {
|
||||||
processGreyLiterature(publishNewItems, data, report);
|
processGreyLiterature(publishNewItems, data, report, pretend);
|
||||||
} else if (InProceedings.class.getSimpleName().equals(data.getType())) {
|
} else if (InProceedings.class.getSimpleName().equals(data.getType())) {
|
||||||
processInProceedings(publishNewItems, data, report);
|
processInProceedings(publishNewItems, data, report, pretend);
|
||||||
} else if (InternetArticle.class.getSimpleName().equals(data.getType())) {
|
} else if (InternetArticle.class.getSimpleName().equals(data.getType())) {
|
||||||
processInternetArticle(publishNewItems, data, report);
|
processInternetArticle(publishNewItems, data, report, pretend);
|
||||||
} else if (Monograph.class.getSimpleName().equals(data.getType())) {
|
} else if (Monograph.class.getSimpleName().equals(data.getType())) {
|
||||||
System.err.println("CAlling monograph importer...");
|
System.err.println("CAlling monograph importer...");
|
||||||
processMonograph(publishNewItems, data, report);
|
processMonograph(publishNewItems, data, report, pretend);
|
||||||
} else if (Proceedings.class.getSimpleName().equals(data.getType())) {
|
} else if (Proceedings.class.getSimpleName().equals(data.getType())) {
|
||||||
processProceedings(publishNewItems, data, report);
|
processProceedings(publishNewItems, data, report, pretend);
|
||||||
} else if (Review.class.getSimpleName().equals(data.getType())) {
|
} else if (Review.class.getSimpleName().equals(data.getType())) {
|
||||||
processReview(publishNewItems, data, report);
|
processReview(publishNewItems, data, report, pretend);
|
||||||
} else if (WorkingPaper.class.getSimpleName().equals(data.getType())) {
|
} else if (WorkingPaper.class.getSimpleName().equals(data.getType())) {
|
||||||
processWorkingPaper(publishNewItems, data, report);
|
processWorkingPaper(publishNewItems, data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
return report;
|
return report;
|
||||||
|
|
@ -168,123 +169,134 @@ public class PublicationsImporter implements SciPublicationsImporter {
|
||||||
|
|
||||||
private void processArticleInCollectedVolume(final boolean publishNewItems,
|
private void processArticleInCollectedVolume(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, ArticleInCollectedVolume.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, ArticleInCollectedVolume.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ArticleInCollectedVolumeImporter importer = new ArticleInCollectedVolumeImporter(data, report);
|
final ArticleInCollectedVolumeImporter importer = new ArticleInCollectedVolumeImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processArticleInJournal(final boolean publishNewItems,
|
private void processArticleInJournal(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, ArticleInJournal.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, ArticleInJournal.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ArticleInJournalImporter importer = new ArticleInJournalImporter(data, report);
|
final ArticleInJournalImporter importer = new ArticleInJournalImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processCollectedVolume(final boolean publishNewItems,
|
private void processCollectedVolume(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, CollectedVolume.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, CollectedVolume.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final CollectedVolumeImporter importer = new CollectedVolumeImporter(data, report);
|
final CollectedVolumeImporter importer = new CollectedVolumeImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processExpertise(final boolean publishNewItems, final CsvLine data,
|
private void processExpertise(final boolean publishNewItems, final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, Expertise.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, Expertise.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ExpertiseImporter importer = new ExpertiseImporter(data, report);
|
final ExpertiseImporter importer = new ExpertiseImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processGreyLiterature(final boolean publishNewItems,
|
private void processGreyLiterature(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, GreyLiterature.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, GreyLiterature.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final GreyLiteratureImporter importer = new GreyLiteratureImporter(data, report);
|
final GreyLiteratureImporter importer = new GreyLiteratureImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processInProceedings(final boolean publishNewItems,
|
private void processInProceedings(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, InProceedings.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, InProceedings.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final InProceedingsImporter importer = new InProceedingsImporter(data, report);
|
final InProceedingsImporter importer = new InProceedingsImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processInternetArticle(final boolean publishNewItems,
|
private void processInternetArticle(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, InternetArticle.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, InternetArticle.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final InternetArticleImporter importer = new InternetArticleImporter(data, report);
|
final InternetArticleImporter importer = new InternetArticleImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processMonograph(final boolean publishNewItems,
|
private void processMonograph(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, Monograph.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, Monograph.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final MonographImporter importer = new MonographImporter(data, report);
|
final MonographImporter importer = new MonographImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processProceedings(final boolean publishNewItems,
|
private void processProceedings(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, Proceedings.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, Proceedings.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
System.err.println("Publication is not in database");
|
System.err.println("Publication is not in database");
|
||||||
|
|
||||||
final ProceedingsImporter importer = new ProceedingsImporter(data, report);
|
final ProceedingsImporter importer = new ProceedingsImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processReview(final boolean publishNewItems,
|
private void processReview(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, Review.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, Review.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ReviewImporter importer = new ReviewImporter(data, report);
|
final ReviewImporter importer = new ReviewImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processWorkingPaper(final boolean publishNewItems,
|
private void processWorkingPaper(final boolean publishNewItems,
|
||||||
final CsvLine data,
|
final CsvLine data,
|
||||||
final PublicationImportReport report) {
|
final PublicationImportReport report,
|
||||||
|
final boolean pretend) {
|
||||||
if (isPublicationAlreadyInDatabase(data, WorkingPaper.class.getSimpleName(), report)) {
|
if (isPublicationAlreadyInDatabase(data, WorkingPaper.class.getSimpleName(), report)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final WorkingPaperImporter importer = new WorkingPaperImporter(data, report);
|
final WorkingPaperImporter importer = new WorkingPaperImporter(data, report, pretend);
|
||||||
importer.doImport(publishNewItems);
|
importer.doImport(publishNewItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,17 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class ReviewImporter extends ArticleInJournalImporter {
|
class ReviewImporter extends ArticleInJournalImporter {
|
||||||
|
|
||||||
public ReviewImporter(final CsvLine data, final PublicationImportReport report) {
|
public ReviewImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ArticleInJournal createPublication() {
|
protected ArticleInJournal createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new Review();
|
return new Review();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,17 +11,26 @@ import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport
|
||||||
*/
|
*/
|
||||||
class WorkingPaperImporter extends AbstractUnPublishedImporter<WorkingPaper> {
|
class WorkingPaperImporter extends AbstractUnPublishedImporter<WorkingPaper> {
|
||||||
|
|
||||||
protected WorkingPaperImporter(final CsvLine data, final PublicationImportReport report) {
|
protected WorkingPaperImporter(final CsvLine data, final PublicationImportReport report, final boolean pretend) {
|
||||||
super(data, report);
|
super(data, report, pretend);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected WorkingPaper createPublication() {
|
protected WorkingPaper createPublication() {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new WorkingPaper();
|
return new WorkingPaper();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PublicationBundle createBundle(final WorkingPaper workingPaper) {
|
protected PublicationBundle createBundle(final WorkingPaper workingPaper) {
|
||||||
|
if (isPretend()) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
return new PublicationBundle(workingPaper);
|
return new PublicationBundle(workingPaper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue