From 575c9d3dd7e0c5cf10e1d553be26e815ab1c176f Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 2 Nov 2012 10:51:03 +0000 Subject: [PATCH] Publikationsimporter aktueller Stand git-svn-id: https://svn.libreccm.org/ccm/trunk@1907 8810af33-2d31-482b-a856-94f89814c4df --- .../report/PublicationImportReport.java | 45 ++++++++++--------- .../importer/util/ImporterUtil.java | 1 - .../csv/AbstractPublicationImporter.java | 7 ++- .../importer/csv/PublicationsImporter.java | 2 +- 4 files changed, 30 insertions(+), 25 deletions(-) diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/report/PublicationImportReport.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/report/PublicationImportReport.java index 883a4e720..fe2023b48 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/report/PublicationImportReport.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/report/PublicationImportReport.java @@ -12,7 +12,7 @@ import java.util.List; * @version $Id$ */ public class PublicationImportReport { - + private String title; private String type; private boolean alreadyInDatabase; @@ -57,7 +57,7 @@ public class PublicationImportReport { public void addField(final FieldImportReport field) { fields.add(field); } - + public void setFields(final List fields) { this.fields = fields; } @@ -69,7 +69,7 @@ public class PublicationImportReport { public void addAuthor(final AuthorImportReport author) { authors.add(author); } - + public void setAuthors(final List authors) { this.authors = authors; } @@ -81,7 +81,7 @@ public class PublicationImportReport { public void setPublisher(final PublisherImportReport publisher) { this.publisher = publisher; } - + public CollectedVolumeImportReport getCollectedVolume() { return collectedVolume; } @@ -113,7 +113,7 @@ public class PublicationImportReport { public void addOrgaUnit(final OrganizationalUnitImportReport orgaUnit) { orgaUnits.add(orgaUnit); } - + public void setOrgaUnits(final List orgaUnits) { this.orgaUnits = orgaUnits; } @@ -133,29 +133,29 @@ public class PublicationImportReport { public void addMessage(final String message) { messages.add(message); } - + public void setMessage(final List messages) { this.messages = messages; } - + @Override public String toString() { final StringWriter strWriter = new StringWriter(); final PrintWriter writer = new PrintWriter(strWriter); - + writer.printf("%24s: %s\n", "title", title); writer.printf("%24s: %s\n", "type", type); writer.printf("%24s: %b\n", "Already in database", alreadyInDatabase); - writer.printf("%24s: %b\n", "successful", successful); + writer.printf("%24s: %b\n", "successful", successful); if (!successful) { writer.printf("Import failed. Messages from importer:\n "); - for(String message : messages) { + for (String message : messages) { writer.printf("%s\n", message); } return strWriter.toString(); - } - writer.printf("Authors:"); - for(AuthorImportReport author: authors) { + } + writer.printf("%24s", "Authors:\n"); + for (AuthorImportReport author : authors) { writer.printf("%s\n", author.toString()); } if (publisher != null) { @@ -170,20 +170,21 @@ public class PublicationImportReport { if (proceedings != null) { writer.printf("Proceedings:\n%s\n", proceedings.toString()); } - for(FieldImportReport field : fields) { + for (FieldImportReport field : fields) { writer.printf("%s\n", field.toString()); } - for(OrganizationalUnitImportReport orgaUnit : orgaUnits) { + for (OrganizationalUnitImportReport orgaUnit : orgaUnits) { writer.printf("%s\n", orgaUnit.toString()); } - - writer.printf("Messages:\n"); - for(String message : messages) { - writer.printf("%s\n", message); + + if (!messages.isEmpty()) { + writer.printf("Messages:\n"); + for (String message : messages) { + writer.printf("%s\n", message); + } } - + return strWriter.toString(); } - - + } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/util/ImporterUtil.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/util/ImporterUtil.java index 5f65fd021..f314f6adc 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/util/ImporterUtil.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/importer/util/ImporterUtil.java @@ -27,7 +27,6 @@ import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.Session; import com.arsdigita.persistence.SessionManager; import java.math.BigDecimal; -import java.util.Date; import java.util.List; /** diff --git a/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationImporter.java b/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationImporter.java index 23850e8da..a802dfafb 100644 --- a/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationImporter.java +++ b/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationImporter.java @@ -6,6 +6,7 @@ import com.arsdigita.cms.contenttypes.Publication; import com.arsdigita.cms.contenttypes.PublicationBundle; import com.arsdigita.cms.lifecycle.LifecycleDefinition; import com.arsdigita.cms.lifecycle.LifecycleDefinitionCollection; +import com.arsdigita.cms.scipublications.importer.report.AuthorImportReport; import com.arsdigita.cms.scipublications.importer.report.FieldImportReport; import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport; import com.arsdigita.cms.scipublications.importer.util.AuthorData; @@ -66,6 +67,8 @@ abstract class AbstractPublicationImporter { final LifecycleDefinition lifecycleDef = lifecycles.getLifecycleDefinition(); publication.publish(lifecycleDef, now.getTime()); } + + report.setSuccessful(true); } @@ -159,8 +162,10 @@ abstract class AbstractPublicationImporter { private void processAuthors(final T publication) { final List authorsData = parseAuthors(data.getAuthors()); + AuthorImportReport authorReport; for (AuthorData authorData : authorsData) { - importerUtil.processAuthor(publication, authorData); + authorReport = importerUtil.processAuthor(publication, authorData); + report.addAuthor(authorReport); } } diff --git a/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/PublicationsImporter.java b/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/PublicationsImporter.java index a8d9d2d83..1fceb5c88 100644 --- a/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/PublicationsImporter.java +++ b/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/PublicationsImporter.java @@ -105,7 +105,7 @@ public class PublicationsImporter implements SciPublicationsImporter { lineNumber++; } } catch (Exception ex) { - tctx.abortTxn(); + tctx.abortTxn(); throw new SciPublicationsImportException(ex); }