Korrekturen an der Generierung der Namen (URLs) der importieren ContentItems.

git-svn-id: https://svn.libreccm.org/ccm/trunk@787 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-03-16 12:44:16 +00:00
parent 6a9658125a
commit 41bd8e8983
3 changed files with 67 additions and 58 deletions

View File

@ -2086,11 +2086,13 @@ public class DaBInImporter extends Program {
System.out.printf("\tde: %s...", departmentData.getNameDe()); System.out.printf("\tde: %s...", departmentData.getNameDe());
departmentDe = new SciDepartment(); departmentDe = new SciDepartment();
departmentDe.setTitle(departmentData.getNameDe()); departmentDe.setTitle(departmentData.getNameDe());
departmentDe.setName(departmentData.getNameDe(). /*departmentDe.setName(departmentData.getNameDe().
replace(",", ""). replace(",", "").
replace("/", ""). replace("/", "").
replaceAll("\\s\\s+", " "). replaceAll("\\s\\s+", " ").
replace(' ', '-').toLowerCase()); replace(' ', '-').toLowerCase());*/
departmentDe.setName(DaBInImporter.normalizeString(departmentData.
getNameDe()));
departmentDe.setLanguage("de"); departmentDe.setLanguage("de");
departmentDe.setLifecycle(createLifecycle(lifecycle)); departmentDe.setLifecycle(createLifecycle(lifecycle));
departmentDe.setContentSection(section); departmentDe.setContentSection(section);
@ -2101,11 +2103,13 @@ public class DaBInImporter extends Program {
departmentData.getNameEn()); departmentData.getNameEn());
departmentEn = new SciDepartment(); departmentEn = new SciDepartment();
departmentEn.setTitle(departmentData.getNameEn()); departmentEn.setTitle(departmentData.getNameEn());
departmentEn.setName(departmentData.getNameEn(). /*departmentEn.setName(departmentData.getNameEn().
replace(",", ""). replace(",", "").
replace("/", ""). replace("/", "").
replaceAll("\\s\\s+", " "). replaceAll("\\s\\s+", " ").
replace(' ', '-').toLowerCase()); replace(' ', '-').toLowerCase());*/
departmentEn.setName(DaBInImporter.normalizeString(departmentData.
getNameDe()));
departmentEn.setLanguage("en"); departmentEn.setLanguage("en");
departmentEn.setLifecycle(createLifecycle(lifecycle)); departmentEn.setLifecycle(createLifecycle(lifecycle));
departmentEn.setContentSection(section); departmentEn.setContentSection(section);
@ -2203,15 +2207,17 @@ public class DaBInImporter extends Program {
&& (projectData.getNameDe().length() > 0)) { && (projectData.getNameDe().length() > 0)) {
projectDe = new SciProject(); projectDe = new SciProject();
projectDe.setTitle(projectData.getNameDe()); projectDe.setTitle(projectData.getNameDe());
String projectNameDe = projectData.getNameDe(). /*String projectNameDe = projectData.getNameDe().
replace(",", ""). replace(",", "").
replace("/", ""). replace("/", "").
replaceAll("\\s\\s+", " "). replaceAll("\\s\\s+", " ").
replace(' ', '-').toLowerCase(); replace(' ', '-').toLowerCase();*/
if (projectNameDe.length() > 200) { String projectName = DaBInImporter.normalizeString(projectData.
projectNameDe = projectNameDe.substring(0, 200); getNameDe());
if (projectName.length() > 200) {
projectName = projectName.substring(0, 200);
} }
projectDe.setName(projectNameDe); projectDe.setName(projectName);
projectDe.setProjectDescription(projectData.getDescDe()); projectDe.setProjectDescription(projectData.getDescDe());
projectDe.setFunding(projectData.getFundingDe()); projectDe.setFunding(projectData.getFundingDe());
if (projectData.getBegin() != null) { if (projectData.getBegin() != null) {
@ -2234,15 +2240,12 @@ public class DaBInImporter extends Program {
&& (projectData.getNameEn().length() > 0)) { && (projectData.getNameEn().length() > 0)) {
projectEn = new SciProject(); projectEn = new SciProject();
projectEn.setTitle(projectData.getNameEn()); projectEn.setTitle(projectData.getNameEn());
String projectNameEn = projectData.getNameEn(). String projectName = DaBInImporter.normalizeString(projectData.
replace(",", ""). getNameDe());
replace("/", ""). if (projectName.length() > 200) {
replaceAll("\\s\\s+", " "). projectName = projectName.substring(0, 200);
replace(' ', '-').toLowerCase();
if (projectNameEn.length() > 200) {
projectNameEn = projectNameEn.substring(0, 200);
} }
projectEn.setName(projectNameEn); projectEn.setName(projectName);
projectEn.setProjectDescription(projectData.getDescEn()); projectEn.setProjectDescription(projectData.getDescEn());
projectEn.setFunding(projectData.getFundingEn()); projectEn.setFunding(projectData.getFundingEn());
if (projectData.getBegin() != null) { if (projectData.getBegin() != null) {
@ -2903,16 +2906,13 @@ public class DaBInImporter extends Program {
workingPaperData.getYear()); workingPaperData.getYear());
workingPaperDe = new WorkingPaper(); workingPaperDe = new WorkingPaper();
workingPaperDe.setTitle(workingPaperData.getTitleDe()); workingPaperDe.setTitle(workingPaperData.getTitleDe());
String workingPaperNameDe = workingPaperData.getTitleDe(). String workingPaperName = DaBInImporter.normalizeString(
replace(",", ""). workingPaperData.getTitleDe());
replace("/", ""). if (workingPaperName.length() > 200) {
replaceAll("\\s\\s+", " "). workingPaperName =
replace(' ', '-').toLowerCase(); workingPaperName.substring(0, 200);
if (workingPaperNameDe.length() > 200) {
workingPaperNameDe =
workingPaperNameDe.substring(0, 200);
} }
workingPaperDe.setName(workingPaperNameDe); workingPaperDe.setName(workingPaperName);
if (workingPaperData.getDescDe().length() > 8000) { if (workingPaperData.getDescDe().length() > 8000) {
workingPaperDe.setAbstract(workingPaperData.getDescDe(). workingPaperDe.setAbstract(workingPaperData.getDescDe().
substring(0, 8000)); substring(0, 8000));
@ -2940,16 +2940,13 @@ public class DaBInImporter extends Program {
workingPaperData.getYear()); workingPaperData.getYear());
workingPaperEn = new WorkingPaper(); workingPaperEn = new WorkingPaper();
workingPaperEn.setTitle(workingPaperData.getTitleEn()); workingPaperEn.setTitle(workingPaperData.getTitleEn());
String workingPaperNameEn = workingPaperData.getTitleEn(). String workingPaperName = DaBInImporter.normalizeString(
replace(",", ""). workingPaperData.getTitleDe());
replace("/", ""). if (workingPaperName.length() > 200) {
replaceAll("\\s\\s+", " "). workingPaperName =
replace(' ', '-').toLowerCase(); workingPaperName.substring(0, 200);
if (workingPaperNameEn.length() > 200) {
workingPaperNameEn =
workingPaperNameEn.substring(0, 200);
} }
workingPaperEn.setName(workingPaperNameEn); workingPaperEn.setName(workingPaperName);
if (workingPaperData.getDescEn().length() > 4096) { if (workingPaperData.getDescEn().length() > 4096) {
System.out.println( System.out.println(
"***Warning: Value of DaBIn field abstract too long for abstracts (max: 4096 characters). Truncating."); "***Warning: Value of DaBIn field abstract too long for abstracts (max: 4096 characters). Truncating.");
@ -3219,11 +3216,8 @@ public class DaBInImporter extends Program {
getPlace()); getPlace());
publisherDe = new Publisher(); publisherDe = new Publisher();
publisherDe.setTitle(publisherData.getName()); publisherDe.setTitle(publisherData.getName());
publisherDe.setName(publisherData.getName(). publisherDe.setName(DaBInImporter.normalizeString(publisherData.
replace(",", ""). getName()));
replace("/", "").
replaceAll("\\s\\s+", " ").
replace(' ', '-').toLowerCase());
publisherDe.setPlace(publisherData.getPlace()); publisherDe.setPlace(publisherData.getPlace());
publisherDe.setLanguage("de"); publisherDe.setLanguage("de");
publisherDe.setLifecycle(createLifecycle(publicationsLifecycle)); publisherDe.setLifecycle(createLifecycle(publicationsLifecycle));
@ -3235,11 +3229,8 @@ public class DaBInImporter extends Program {
getPlace()); getPlace());
publisherEn = new Publisher(); publisherEn = new Publisher();
publisherEn.setTitle(publisherData.getName()); publisherEn.setTitle(publisherData.getName());
publisherEn.setName(publisherData.getName(). publisherEn.setName(DaBInImporter.normalizeString(publisherData.
replace(",", ""). getName()));
replace("/", "").
replaceAll("\\s\\s+", " ").
replace(' ', '-').toLowerCase());
publisherEn.setPlace(publisherData.getPlace()); publisherEn.setPlace(publisherData.getPlace());
publisherEn.setLanguage("en"); publisherEn.setLanguage("en");
publisherEn.setLifecycle(createLifecycle(publicationsLifecycle)); publisherEn.setLifecycle(createLifecycle(publicationsLifecycle));
@ -3654,6 +3645,15 @@ public class DaBInImporter extends Program {
return lifecycle; return lifecycle;
} }
public static String normalizeString(final String str) {
return str.replace("ä", "ae").replace("ö", "oe").replace("ü", "ue").
replace(
"Ä", "Ae").replace("Ü", "Ue").replace("Ö", "Oe").replace("ß",
"ss").
replace(" ", "-").
replaceAll("[^a-zA-Z0-9\\-]", "").toLowerCase();
}
public static void main(String[] args) { public static void main(String[] args) {
new DaBInImporter().run(args); new DaBInImporter().run(args);
} }

View File

@ -85,6 +85,15 @@ public class PublicationData {
public String getUrl() { public String getUrl() {
if (name.length() < 200) { if (name.length() < 200) {
return DaBInImporter.normalizeString(name);
} else {
System.out.println(
"\t***WARNING: Title of publication is too long for URL. Triming to title to a length of 200 characters for URL.");
return DaBInImporter.normalizeString(name.substring(
0, 200));
}
/* if (name.length() < 200) {
return name.replace(",", ""). return name.replace(",", "").
replace("/", ""). replace("/", "").
replaceAll("\\s\\s+", " "). replaceAll("\\s\\s+", " ").
@ -97,7 +106,7 @@ public class PublicationData {
replace("/", ""). replace("/", "").
replaceAll("\\s\\s+", " "). replaceAll("\\s\\s+", " ").
replace(' ', '-').toLowerCase(); replace(' ', '-').toLowerCase();
} }*/
} }
public String getPublicationDaBInId() { public String getPublicationDaBInId() {

View File

@ -36,7 +36,7 @@
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false); ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey"); ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("title");
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(20); ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(20);
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setSpecializeObjects(true); ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setSpecializeObjects(true);