Author: apevec
Date: 2006-06-10 15:31:10 +0200 (Sat, 10 Jun 2006)
New Revision: 1154
Modified:
trunk/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java
Log:
fix for empty DC keywords
Modified: trunk/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java
===================================================================
--- trunk/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java 2006-06-09 21:04:49 UTC (rev 1153)
+++ trunk/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java 2006-06-10 13:31:10 UTC (rev 1154)
@@ -435,10 +435,13 @@
// append into dcItem.getKeywords()
// NOTE: "DC keywords" metadata is stored as a string, cannot tell which keywords are auto.
// To support that, datamodel change to 1:N mapping table would be required.
- StringTokenizer tok = new StringTokenizer(dcItem.getKeywords(), ";");
- // merge old "DC keywords" into set of new ones
- while (tok.hasMoreTokens()) {
- keywords.add(tok.nextToken().trim());
+ String dcKeywords = dcItem.getKeywords();
+ if (dcKeywords != null) {
+ StringTokenizer tok = new StringTokenizer(dcKeywords, ";");
+ // merge old "DC keywords" into set of new ones
+ while (tok.hasMoreTokens()) {
+ keywords.add(tok.nextToken().trim());
+ }
}
StringBuffer buf = new StringBuffer();
// reconstruct "DC keywords" and store them
@@ -449,12 +452,12 @@
for (; i.hasNext();) {
buf.append(' ').append(';').append(i.next());
}
- String keywords = buf.toString();
+ dcKeywords = buf.toString();
if (isVerbose) {
- out("ASSIGN keywords \""+keywords+"\"");
+ out("ASSIGN DC keywords \""+dcKeywords+"\"");
}
if (persistChanges) {
- dcItem.setKeywords(keywords);
+ dcItem.setKeywords(dcKeywords);
}
}
} // if qName
|