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 3ed6f28dc..e9706acf3 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 @@ -218,7 +218,12 @@ public class ImporterUtil { final CollectedVolume collectedVolume = new CollectedVolume(); collectedVolume.setTitle(title); - collectedVolume.setName(normalizeString(title)); + final String name = normalizeString(title); + if (name.length() < 200) { + collectedVolume.setName(name); + } else { + collectedVolume.setName(name.substring(0, 200)); + } collectedVolume.setContentSection(folder.getContentSection()); collectedVolume.setLanguage(Kernel.getConfig().getLanguagesIndependentCode()); collectedVolume.save(); @@ -450,19 +455,21 @@ public class ImporterUtil { getConfig().getOrganizationBundleType()); bundle.setDefaultLanguage(orga.getLanguage()); bundle.setContentType(orga.getContentType()); - bundle.addInstance(orga); + bundle.addInstance(orga); bundle.setName(orga.getName()); + bundle.setParent(folder); + bundle.setContentSection(folder.getContentSection()); bundle.save(); - + publication.setOrganization(orga); - + if (publish) { publishItem(orga); } } - + report.setCreated(true); - + //Special handling for pretend mode if (pretend && createdOrgas.contains(name)) { report.setCreated(false); @@ -477,8 +484,8 @@ public class ImporterUtil { } report.setCreated(false); } - - collection.close(); + + collection.close(); return report; } 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 22d5d4664..57ac14faa 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 @@ -34,9 +34,9 @@ abstract class AbstractPublicationImporter { private final boolean pretend; private final ImporterUtil importerUtil; - public AbstractPublicationImporter(final CsvLine data, - final PublicationImportReport report, - final boolean pretend, + public AbstractPublicationImporter(final CsvLine data, + final PublicationImportReport report, + final boolean pretend, final ImporterUtil importerUtil) { this.data = data; this.report = report; @@ -127,12 +127,20 @@ abstract class AbstractPublicationImporter { bundle.save(); - publication.setAbstract(data.getAbstract()); - publication.setMisc(data.getMisc()); - + if (data.getAbstract().length() < 4096) { + publication.setAbstract(data.getAbstract()); + } else { + publication.setAbstract(data.getAbstract().substring(0, 4096)); + } + if (data.getMisc().length() < 4096) { + publication.setMisc(data.getMisc()); + } else { + publication.setMisc(data.getMisc().substring(0, 4096)); + } + publication.save(); } - + processAuthors(publication); return publication; @@ -150,7 +158,11 @@ abstract class AbstractPublicationImporter { private void processTitleAndName(final T publication) { if (!pretend) { publication.setTitle(data.getTitle()); - publication.setName(normalizeString(data.getTitle())); + String name = normalizeString(data.getTitle()); + if (name.length() > 200) { + name = name.substring(0, 200); + } + publication.setName(name); } report.setTitle(data.getTitle()); } diff --git a/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationWithPublisherImporter.java b/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationWithPublisherImporter.java index 2b70f7e64..d4b36a048 100644 --- a/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationWithPublisherImporter.java +++ b/ccm-sci-publicationscsvimporter/src/com/arsdigita/cms/scipublications/importer/csv/AbstractPublicationWithPublisherImporter.java @@ -24,12 +24,17 @@ abstract class AbstractPublicationWithPublisherImporter { - public ArticleInCollectedVolumeImporter(final CsvLine data, - final PublicationImportReport report, + public ArticleInCollectedVolumeImporter(final CsvLine data, + final PublicationImportReport report, final boolean pretend, final ImporterUtil importerUtil) { super(data, report, pretend, importerUtil); @@ -38,14 +38,16 @@ class ArticleInCollectedVolumeImporter extends AbstractPublicationImporter