LUCENE-3696: fix dictionary construction to work on java5

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1232012 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Muir 2012-01-16 14:50:09 +00:00
parent 49d3605946
commit 354a3be78f
2 changed files with 17 additions and 9 deletions

View File

@ -72,7 +72,7 @@
<delete verbose="true"> <delete verbose="true">
<fileset dir="src/resources/org/apache/lucene/analysis/kuromoji/dict" includes="**/*"/> <fileset dir="src/resources/org/apache/lucene/analysis/kuromoji/dict" includes="**/*"/>
</delete> </delete>
<java fork="true" failonerror="true" maxmemory="512m" classname="org.apache.lucene.analysis.kuromoji.util.DictionaryBuilder"> <java fork="true" failonerror="true" maxmemory="756m" classname="org.apache.lucene.analysis.kuromoji.util.DictionaryBuilder">
<classpath> <classpath>
<path refid="tools.classpath"/> <path refid="tools.classpath"/>
<pathelement path="${build.dir}/classes/tools"/> <pathelement path="${build.dir}/classes/tools"/>

View File

@ -54,7 +54,7 @@ public final class CSVUtil {
String value = sb.toString(); String value = sb.toString();
value = unQuoteUnEscape(value); value = unQuoteUnEscape(value);
result.add(value); result.add(value);
sb = new StringBuilder(); sb.setLength(0);
continue; continue;
} }
@ -75,13 +75,17 @@ public final class CSVUtil {
String result = original; String result = original;
// Unquote // Unquote
Matcher m = QUOTE_REPLACE_PATTERN.matcher(original); if (result.indexOf('\"') >= 0) {
if(m.matches()) { Matcher m = QUOTE_REPLACE_PATTERN.matcher(original);
result = m.group(1); if(m.matches()) {
} result = m.group(1);
}
// Unescape // Unescape
result = result.replaceAll(ESCAPED_QUOTE, "\""); if (result.indexOf(ESCAPED_QUOTE) >= 0) {
result = result.replace(ESCAPED_QUOTE, "\"");
}
}
return result; return result;
@ -92,7 +96,11 @@ public final class CSVUtil {
* @param original * @param original
*/ */
public static String quoteEscape(String original) { public static String quoteEscape(String original) {
String result = original.replaceAll("\"", ESCAPED_QUOTE); String result = original;
if (result.indexOf('\"') >= 0) {
result.replace("\"", ESCAPED_QUOTE);
}
if(result.indexOf(COMMA) >= 0) { if(result.indexOf(COMMA) >= 0) {
result = "\"" + result + "\""; result = "\"" + result + "\"";
} }