Korrekturen am DaBinImporter
git-svn-id: https://svn.libreccm.org/ccm/trunk@868 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
481211fe25
commit
792ed56915
|
|
@ -20,6 +20,7 @@
|
||||||
package com.arsdigita.cms.dabin;
|
package com.arsdigita.cms.dabin;
|
||||||
|
|
||||||
import com.arsdigita.cms.ContentBundle;
|
import com.arsdigita.cms.ContentBundle;
|
||||||
|
import com.arsdigita.cms.ContentPage;
|
||||||
import com.arsdigita.cms.ContentSection;
|
import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.FileAsset;
|
import com.arsdigita.cms.FileAsset;
|
||||||
import com.arsdigita.cms.Folder;
|
import com.arsdigita.cms.Folder;
|
||||||
|
|
@ -1602,18 +1603,22 @@ public class DaBInImporter extends Program {
|
||||||
GenericPerson personDe = null;
|
GenericPerson personDe = null;
|
||||||
GenericPerson personEn = null;
|
GenericPerson personEn = null;
|
||||||
|
|
||||||
|
Folder folder = null;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case MEMBER:
|
case MEMBER:
|
||||||
personDe = new SciMember();
|
personDe = new SciMember();
|
||||||
personEn = new SciMember();
|
personEn = new SciMember();
|
||||||
|
folder = members;
|
||||||
break;
|
break;
|
||||||
case AUTHOR:
|
case AUTHOR:
|
||||||
personDe = new SciAuthor();
|
personDe = new SciAuthor();
|
||||||
personEn = new SciAuthor();
|
personEn = new SciAuthor();
|
||||||
|
folder = authors;
|
||||||
break;
|
break;
|
||||||
case OTHER:
|
case OTHER:
|
||||||
personDe = new Person();
|
personDe = new Person();
|
||||||
personEn = new Person();
|
personEn = new Person();
|
||||||
|
folder = persons;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
personDe.setSurname(personData.getSurname());
|
personDe.setSurname(personData.getSurname());
|
||||||
|
|
@ -1646,6 +1651,10 @@ public class DaBInImporter extends Program {
|
||||||
personEn.save();
|
personEn.save();
|
||||||
personEn.setLanguage("en");
|
personEn.setLanguage("en");
|
||||||
|
|
||||||
|
|
||||||
|
resolveDuplicateNameAndTitle(personDe, folder);
|
||||||
|
resolveDuplicateNameAndTitle(personEn, folder);
|
||||||
|
|
||||||
ContentBundle person;
|
ContentBundle person;
|
||||||
person = new ContentBundle(personDe);
|
person = new ContentBundle(personDe);
|
||||||
person.addInstance(personEn);
|
person.addInstance(personEn);
|
||||||
|
|
@ -1657,19 +1666,6 @@ public class DaBInImporter extends Program {
|
||||||
personDe.setContentSection(section);
|
personDe.setContentSection(section);
|
||||||
personEn.setContentSection(section);
|
personEn.setContentSection(section);
|
||||||
|
|
||||||
Folder folder = null;
|
|
||||||
switch (type) {
|
|
||||||
case MEMBER:
|
|
||||||
folder = members;
|
|
||||||
break;
|
|
||||||
case AUTHOR:
|
|
||||||
folder = authors;
|
|
||||||
break;
|
|
||||||
case OTHER:
|
|
||||||
folder = persons;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
folder.addItem(person);
|
folder.addItem(person);
|
||||||
|
|
||||||
StringTokenizer contactData = new StringTokenizer(
|
StringTokenizer contactData = new StringTokenizer(
|
||||||
|
|
@ -1765,40 +1761,41 @@ public class DaBInImporter extends Program {
|
||||||
homepage = value;
|
homepage = value;
|
||||||
homepage = value;
|
homepage = value;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
contactDe.setContentSection(personsSection);
|
contactDe.setContentSection(personsSection);
|
||||||
contactDe.setLifecycle(createLifecycle(personsLifecycle));
|
contactDe.setLifecycle(createLifecycle(personsLifecycle));
|
||||||
contactDe.save();
|
contactDe.save();
|
||||||
contactEn.setContentSection(personsSection);
|
contactEn.setContentSection(personsSection);
|
||||||
contactEn.setLifecycle(createLifecycle(personsLifecycle));
|
contactEn.setLifecycle(createLifecycle(personsLifecycle));
|
||||||
contactEn.save();
|
contactEn.save();
|
||||||
ContentBundle contactBundle = new ContentBundle(contactDe);
|
ContentBundle contactBundle = new ContentBundle(contactDe);
|
||||||
contactBundle.addInstance(contactEn);
|
contactBundle.addInstance(contactEn);
|
||||||
contactBundle.setContentSection(personsSection);
|
contactBundle.setContentSection(personsSection);
|
||||||
contacts.addItem(contactBundle);
|
contacts.addItem(contactBundle);
|
||||||
|
|
||||||
contactDe.setContentSection(personsSection);
|
contactDe.setContentSection(personsSection);
|
||||||
contactEn.setContentSection(personsSection);
|
contactEn.setContentSection(personsSection);
|
||||||
|
|
||||||
if (homepage != null) {
|
if (homepage != null) {
|
||||||
RelatedLink homepageLinkDe;
|
RelatedLink homepageLinkDe;
|
||||||
homepageLinkDe = new RelatedLink();
|
homepageLinkDe = new RelatedLink();
|
||||||
homepageLinkDe.setTitle("Persönliche Homepage");
|
homepageLinkDe.setTitle("Persönliche Homepage");
|
||||||
homepageLinkDe.setTargetType(Link.EXTERNAL_LINK);
|
homepageLinkDe.setTargetType(Link.EXTERNAL_LINK);
|
||||||
homepageLinkDe.setTargetURI(homepage);
|
homepageLinkDe.setTargetURI(homepage);
|
||||||
homepageLinkDe.setLinkListName("");
|
homepageLinkDe.setLinkListName("");
|
||||||
homepageLinkDe.setLinkOwner(personDe);
|
homepageLinkDe.setLinkOwner(personDe);
|
||||||
homepageLinkDe.save();
|
homepageLinkDe.save();
|
||||||
|
|
||||||
|
RelatedLink homepageLinkEn;
|
||||||
|
homepageLinkEn = new RelatedLink();
|
||||||
|
homepageLinkEn.setTitle("Personal homepage");
|
||||||
|
homepageLinkEn.setTargetType(Link.EXTERNAL_LINK);
|
||||||
|
homepageLinkEn.setTargetURI(homepage);
|
||||||
|
homepageLinkEn.setLinkListName("");
|
||||||
|
homepageLinkEn.setLinkOwner(personDe);
|
||||||
|
homepageLinkEn.save();
|
||||||
|
|
||||||
RelatedLink homepageLinkEn;
|
|
||||||
homepageLinkEn = new RelatedLink();
|
|
||||||
homepageLinkEn.setTitle("Personal homepage");
|
|
||||||
homepageLinkEn.setTargetType(Link.EXTERNAL_LINK);
|
|
||||||
homepageLinkEn.setTargetURI(homepage);
|
|
||||||
homepageLinkEn.setLinkListName("");
|
|
||||||
homepageLinkEn.setLinkOwner(personDe);
|
|
||||||
homepageLinkEn.save();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
personsMap.put(personData.getDabinId(), person);
|
personsMap.put(personData.getDabinId(), person);
|
||||||
|
|
@ -2023,10 +2020,12 @@ public class DaBInImporter extends Program {
|
||||||
project.setDefaultLanguage("de");
|
project.setDefaultLanguage("de");
|
||||||
|
|
||||||
if (projectDe != null) {
|
if (projectDe != null) {
|
||||||
|
resolveDuplicateNameAndTitle(projectDe, projects);
|
||||||
projectDe.setContentSection(projectsSection);
|
projectDe.setContentSection(projectsSection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (projectEn != null) {
|
if (projectEn != null) {
|
||||||
|
resolveDuplicateNameAndTitle(projectEn, projects);
|
||||||
projectEn.setContentSection(projectsSection);
|
projectEn.setContentSection(projectsSection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2541,6 +2540,9 @@ public class DaBInImporter extends Program {
|
||||||
createLifecycle(publicationsLifecycle));
|
createLifecycle(publicationsLifecycle));
|
||||||
publicationEn.setContentSection(publicationsSection);
|
publicationEn.setContentSection(publicationsSection);
|
||||||
|
|
||||||
|
resolveDuplicateNameAndTitle(publicationDe, publications);
|
||||||
|
resolveDuplicateNameAndTitle(publicationEn, publications);
|
||||||
|
|
||||||
System.out.println("\tAssigning authors...\n");
|
System.out.println("\tAssigning authors...\n");
|
||||||
int i = 1;
|
int i = 1;
|
||||||
for (Authorship authorship : publicationData.getAuthors()) {
|
for (Authorship authorship : publicationData.getAuthors()) {
|
||||||
|
|
@ -3036,6 +3038,10 @@ public class DaBInImporter extends Program {
|
||||||
"%s %s", publisherData.getName(), publisherData.
|
"%s %s", publisherData.getName(), publisherData.
|
||||||
getPlace())));
|
getPlace())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resolveDuplicateNameAndTitle(publisherDe, publishers);
|
||||||
|
resolveDuplicateNameAndTitle(publisherEn, publishers);
|
||||||
|
|
||||||
publisherEn.setPublisherName(publisherData.getName());
|
publisherEn.setPublisherName(publisherData.getName());
|
||||||
publisherEn.setPlace(publisherData.getPlace());
|
publisherEn.setPlace(publisherData.getPlace());
|
||||||
publisherEn.setLanguage("en");
|
publisherEn.setLanguage("en");
|
||||||
|
|
@ -3375,6 +3381,23 @@ public class DaBInImporter extends Program {
|
||||||
replaceAll("[^a-zA-Z0-9\\-]", "").toLowerCase().trim();
|
replaceAll("[^a-zA-Z0-9\\-]", "").toLowerCase().trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void resolveDuplicateNameAndTitle(final ContentPage page,
|
||||||
|
final Folder folder) {
|
||||||
|
|
||||||
|
String resolvedName = page.getName();
|
||||||
|
String resolvedTitle = page.getTitle();
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
while (folder.getItem(resolvedName, false) != null) {
|
||||||
|
i++;
|
||||||
|
resolvedName = String.format("%s-%d", page.getName(), i);
|
||||||
|
resolvedTitle = String.format("%s (%d)", page.getTitle(), i);
|
||||||
|
}
|
||||||
|
|
||||||
|
page.setName(resolvedName);
|
||||||
|
page.setTitle(resolvedTitle);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new DaBInImporter().run(args);
|
new DaBInImporter().run(args);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue