From 354a3be78f379d892374a810222e443a65f72194 Mon Sep 17 00:00:00 2001 From: Robert Muir Date: Mon, 16 Jan 2012 14:50:09 +0000 Subject: [PATCH] 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 --- modules/analysis/kuromoji/build.xml | 2 +- .../analysis/kuromoji/util/CSVUtil.java | 24 ++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/modules/analysis/kuromoji/build.xml b/modules/analysis/kuromoji/build.xml index 84c2115ad6a..f1432fde14f 100644 --- a/modules/analysis/kuromoji/build.xml +++ b/modules/analysis/kuromoji/build.xml @@ -72,7 +72,7 @@ - + diff --git a/modules/analysis/kuromoji/src/java/org/apache/lucene/analysis/kuromoji/util/CSVUtil.java b/modules/analysis/kuromoji/src/java/org/apache/lucene/analysis/kuromoji/util/CSVUtil.java index f0ee6ef8cef..1bb1faf7385 100644 --- a/modules/analysis/kuromoji/src/java/org/apache/lucene/analysis/kuromoji/util/CSVUtil.java +++ b/modules/analysis/kuromoji/src/java/org/apache/lucene/analysis/kuromoji/util/CSVUtil.java @@ -54,7 +54,7 @@ public final class CSVUtil { String value = sb.toString(); value = unQuoteUnEscape(value); result.add(value); - sb = new StringBuilder(); + sb.setLength(0); continue; } @@ -75,13 +75,17 @@ public final class CSVUtil { String result = original; // Unquote - Matcher m = QUOTE_REPLACE_PATTERN.matcher(original); - if(m.matches()) { - result = m.group(1); - } + if (result.indexOf('\"') >= 0) { + Matcher m = QUOTE_REPLACE_PATTERN.matcher(original); + if(m.matches()) { + result = m.group(1); + } - // Unescape - result = result.replaceAll(ESCAPED_QUOTE, "\""); + // Unescape + if (result.indexOf(ESCAPED_QUOTE) >= 0) { + result = result.replace(ESCAPED_QUOTE, "\""); + } + } return result; @@ -92,7 +96,11 @@ public final class CSVUtil { * @param 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) { result = "\"" + result + "\""; }