From: <ap...@vh...> - 2006-06-10 13:35:26
|
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 |