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$
*/
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<FieldImportReport> 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<AuthorImportReport> 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<OrganizationalUnitImportReport> 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<String> 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();
}
}

View File

@ -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;
/**

View File

@ -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<T extends Publication> {
final LifecycleDefinition lifecycleDef = lifecycles.getLifecycleDefinition();
publication.publish(lifecycleDef, now.getTime());
}
report.setSuccessful(true);
}
@ -159,8 +162,10 @@ abstract class AbstractPublicationImporter<T extends Publication> {
private void processAuthors(final T publication) {
final List<AuthorData> authorsData = parseAuthors(data.getAuthors());
AuthorImportReport authorReport;
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++;
}
} catch (Exception ex) {
tctx.abortTxn();
tctx.abortTxn();
throw new SciPublicationsImportException(ex);
}