Publikationsimporter aktueller Stand

git-svn-id: https://svn.libreccm.org/ccm/trunk@1907 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2012-11-02 10:51:03 +00:00
parent f02452a194
commit 575c9d3dd7
4 changed files with 30 additions and 25 deletions

View File

@ -12,7 +12,7 @@ import java.util.List;
* @version $Id$ * @version $Id$
*/ */
public class PublicationImportReport { public class PublicationImportReport {
private String title; private String title;
private String type; private String type;
private boolean alreadyInDatabase; private boolean alreadyInDatabase;
@ -57,7 +57,7 @@ public class PublicationImportReport {
public void addField(final FieldImportReport field) { public void addField(final FieldImportReport field) {
fields.add(field); fields.add(field);
} }
public void setFields(final List<FieldImportReport> fields) { public void setFields(final List<FieldImportReport> fields) {
this.fields = fields; this.fields = fields;
} }
@ -69,7 +69,7 @@ public class PublicationImportReport {
public void addAuthor(final AuthorImportReport author) { public void addAuthor(final AuthorImportReport author) {
authors.add(author); authors.add(author);
} }
public void setAuthors(final List<AuthorImportReport> authors) { public void setAuthors(final List<AuthorImportReport> authors) {
this.authors = authors; this.authors = authors;
} }
@ -81,7 +81,7 @@ public class PublicationImportReport {
public void setPublisher(final PublisherImportReport publisher) { public void setPublisher(final PublisherImportReport publisher) {
this.publisher = publisher; this.publisher = publisher;
} }
public CollectedVolumeImportReport getCollectedVolume() { public CollectedVolumeImportReport getCollectedVolume() {
return collectedVolume; return collectedVolume;
} }
@ -113,7 +113,7 @@ public class PublicationImportReport {
public void addOrgaUnit(final OrganizationalUnitImportReport orgaUnit) { public void addOrgaUnit(final OrganizationalUnitImportReport orgaUnit) {
orgaUnits.add(orgaUnit); orgaUnits.add(orgaUnit);
} }
public void setOrgaUnits(final List<OrganizationalUnitImportReport> orgaUnits) { public void setOrgaUnits(final List<OrganizationalUnitImportReport> orgaUnits) {
this.orgaUnits = orgaUnits; this.orgaUnits = orgaUnits;
} }
@ -133,29 +133,29 @@ public class PublicationImportReport {
public void addMessage(final String message) { public void addMessage(final String message) {
messages.add(message); messages.add(message);
} }
public void setMessage(final List<String> messages) { public void setMessage(final List<String> messages) {
this.messages = messages; this.messages = messages;
} }
@Override @Override
public String toString() { public String toString() {
final StringWriter strWriter = new StringWriter(); final StringWriter strWriter = new StringWriter();
final PrintWriter writer = new PrintWriter(strWriter); final PrintWriter writer = new PrintWriter(strWriter);
writer.printf("%24s: %s\n", "title", title); writer.printf("%24s: %s\n", "title", title);
writer.printf("%24s: %s\n", "type", type); writer.printf("%24s: %s\n", "type", type);
writer.printf("%24s: %b\n", "Already in database", alreadyInDatabase); 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) { if (!successful) {
writer.printf("Import failed. Messages from importer:\n "); writer.printf("Import failed. Messages from importer:\n ");
for(String message : messages) { for (String message : messages) {
writer.printf("%s\n", message); writer.printf("%s\n", message);
} }
return strWriter.toString(); return strWriter.toString();
} }
writer.printf("Authors:"); writer.printf("%24s", "Authors:\n");
for(AuthorImportReport author: authors) { for (AuthorImportReport author : authors) {
writer.printf("%s\n", author.toString()); writer.printf("%s\n", author.toString());
} }
if (publisher != null) { if (publisher != null) {
@ -170,20 +170,21 @@ public class PublicationImportReport {
if (proceedings != null) { if (proceedings != null) {
writer.printf("Proceedings:\n%s\n", proceedings.toString()); writer.printf("Proceedings:\n%s\n", proceedings.toString());
} }
for(FieldImportReport field : fields) { for (FieldImportReport field : fields) {
writer.printf("%s\n", field.toString()); writer.printf("%s\n", field.toString());
} }
for(OrganizationalUnitImportReport orgaUnit : orgaUnits) { for (OrganizationalUnitImportReport orgaUnit : orgaUnits) {
writer.printf("%s\n", orgaUnit.toString()); writer.printf("%s\n", orgaUnit.toString());
} }
writer.printf("Messages:\n"); if (!messages.isEmpty()) {
for(String message : messages) { writer.printf("Messages:\n");
writer.printf("%s\n", message); for (String message : messages) {
writer.printf("%s\n", message);
}
} }
return strWriter.toString(); return strWriter.toString();
} }
} }

View File

@ -27,7 +27,6 @@ import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.Session; import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager; import com.arsdigita.persistence.SessionManager;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**

View File

@ -6,6 +6,7 @@ import com.arsdigita.cms.contenttypes.Publication;
import com.arsdigita.cms.contenttypes.PublicationBundle; import com.arsdigita.cms.contenttypes.PublicationBundle;
import com.arsdigita.cms.lifecycle.LifecycleDefinition; import com.arsdigita.cms.lifecycle.LifecycleDefinition;
import com.arsdigita.cms.lifecycle.LifecycleDefinitionCollection; 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.FieldImportReport;
import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport; import com.arsdigita.cms.scipublications.importer.report.PublicationImportReport;
import com.arsdigita.cms.scipublications.importer.util.AuthorData; import com.arsdigita.cms.scipublications.importer.util.AuthorData;
@ -66,6 +67,8 @@ abstract class AbstractPublicationImporter<T extends Publication> {
final LifecycleDefinition lifecycleDef = lifecycles.getLifecycleDefinition(); final LifecycleDefinition lifecycleDef = lifecycles.getLifecycleDefinition();
publication.publish(lifecycleDef, now.getTime()); publication.publish(lifecycleDef, now.getTime());
} }
report.setSuccessful(true);
} }
@ -159,8 +162,10 @@ abstract class AbstractPublicationImporter<T extends Publication> {
private void processAuthors(final T publication) { private void processAuthors(final T publication) {
final List<AuthorData> authorsData = parseAuthors(data.getAuthors()); final List<AuthorData> authorsData = parseAuthors(data.getAuthors());
AuthorImportReport authorReport;
for (AuthorData authorData : authorsData) { for (AuthorData authorData : authorsData) {
importerUtil.processAuthor(publication, authorData); authorReport = importerUtil.processAuthor(publication, authorData);
report.addAuthor(authorReport);
} }
} }

View File

@ -105,7 +105,7 @@ public class PublicationsImporter implements SciPublicationsImporter {
lineNumber++; lineNumber++;
} }
} catch (Exception ex) { } catch (Exception ex) {
tctx.abortTxn(); tctx.abortTxn();
throw new SciPublicationsImportException(ex); throw new SciPublicationsImportException(ex);
} }