You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jd...@apache.org on 2012/11/20 20:54:56 UTC
svn commit: r1411825 - in /lucene/dev/branches/branch_4x/solr: ./
contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/
contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/
contrib/dataimporthandler/src/test/or...
Author: jdyer
Date: Tue Nov 20 19:54:54 2012
New Revision: 1411825
URL: http://svn.apache.org/viewvc?rev=1411825&view=rev
Log:
SOLR-1916: DIH - fix remaining forbidden apis & remove build-time exclusion
Modified:
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/solr/build.xml (contents, props changed)
lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/MailEntityProcessor.java
lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java
lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java
lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder2.java
lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Tue Nov 20 19:54:54 2012
@@ -247,7 +247,10 @@ Other Changes
* SOLR-4096: DIH FileDataSource & FieldReaderDataSource default to UTF-8 encoding
if none is specified. These previously used the machine's default.
- (James Dyer)
+ (James Dyer)
+
+* SOLR-1916: DIH to not use Lucene-forbidden Java APIs
+ (default encoding, locale, etc.) (James Dyer, Robert Muir)
================== 4.0.0 ==================
Modified: lucene/dev/branches/branch_4x/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/build.xml?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/build.xml (original)
+++ lucene/dev/branches/branch_4x/solr/build.xml Tue Nov 20 19:54:54 2012
@@ -249,9 +249,7 @@
<include name="executors.txt" />
</apiFileSet>
<fileset dir="${basedir}/build">
- <include name="**/*.class" />
- <!-- exclude DIH for now as it is broken with Locales and Encodings: SOLR-1916 -->
- <exclude name="contrib/solr-dataimporthandler*/**" />
+ <include name="**/*.class" />
</fileset>
</forbidden-apis>
</target>
Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/MailEntityProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/MailEntityProcessor.java?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/MailEntityProcessor.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/MailEntityProcessor.java Tue Nov 20 19:54:54 2012
@@ -85,7 +85,7 @@ public class MailEntityProcessor extends
String s = getStringFromContext("fetchMailsSince", null);
if (s != null)
try {
- fetchMailsSince = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(s);
+ fetchMailsSince = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ROOT).parse(s);
} catch (ParseException e) {
throw new DataImportHandlerException(DataImportHandlerException.SEVERE, "Invalid value for fetchMailSince: " + s, e);
}
Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DebugLogger.java Tue Nov 20 19:54:54 2012
@@ -22,6 +22,7 @@ import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.MessageFormat;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.Stack;
@@ -50,7 +51,7 @@ class DebugLogger {
private static final String LINE = "---------------------------------------------";
private MessageFormat fmt = new MessageFormat(
- "----------- row #{0}-------------");
+ "----------- row #{0}-------------", Locale.ROOT);
boolean enabled = true;
Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DocBuilder.java Tue Nov 20 19:54:54 2012
@@ -701,24 +701,32 @@ public class DocBuilder {
}
private String findMatchingPkColumn(String pk, Map<String, Object> row) {
- if (row.containsKey(pk))
- throw new IllegalArgumentException(
- String.format("deltaQuery returned a row with null for primary key %s", pk));
+ if (row.containsKey(pk)) {
+ throw new IllegalArgumentException(String.format(Locale.ROOT,
+ "deltaQuery returned a row with null for primary key %s", pk));
+ }
String resolvedPk = null;
for (String columnName : row.keySet()) {
if (columnName.endsWith("." + pk) || pk.endsWith("." + columnName)) {
if (resolvedPk != null)
throw new IllegalArgumentException(
- String.format(
+ String.format(Locale.ROOT,
"deltaQuery has more than one column (%s and %s) that might resolve to declared primary key pk='%s'",
resolvedPk, columnName, pk));
resolvedPk = columnName;
}
}
- if (resolvedPk == null)
+ if (resolvedPk == null) {
throw new IllegalArgumentException(
- String.format("deltaQuery has no column to resolve to declared primary key pk='%s'", pk));
- LOG.info(String.format("Resolving deltaQuery column '%s' to match entity's declared pk '%s'", resolvedPk, pk));
+ String
+ .format(
+ Locale.ROOT,
+ "deltaQuery has no column to resolve to declared primary key pk='%s'",
+ pk));
+ }
+ LOG.info(String.format(Locale.ROOT,
+ "Resolving deltaQuery column '%s' to match entity's declared pk '%s'",
+ resolvedPk, pk));
return resolvedPk;
}
Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder2.java?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder2.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestDocBuilder2.java Tue Nov 20 19:54:54 2012
@@ -247,14 +247,14 @@ public class TestDocBuilder2 extends Abs
Map<String, String> params = createMap("baseDir", tmpdir.getAbsolutePath());
- createFile(tmpdir, "a.xml", "a.xml".getBytes(), true);
- createFile(tmpdir, "b.xml", "b.xml".getBytes(), true);
- createFile(tmpdir, "c.props", "c.props".getBytes(), true);
+ createFile(tmpdir, "a.xml", "a.xml".getBytes("UTF-8"), true);
+ createFile(tmpdir, "b.xml", "b.xml".getBytes("UTF-8"), true);
+ createFile(tmpdir, "c.props", "c.props".getBytes("UTF-8"), true);
runFullImport(dataConfigFileList, params);
assertQ(req("*:*"), "//*[@numFound='3']");
// Add a new file after a full index is done
- createFile(tmpdir, "t.xml", "t.xml".getBytes(), false);
+ createFile(tmpdir, "t.xml", "t.xml".getBytes("UTF-8"), false);
runFullImport(dataConfigFileList, params);
// we should find only 1 because by default clean=true is passed
// and this particular import should find only one file t.xml
Modified: lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java?rev=1411825&r1=1411824&r2=1411825&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java (original)
+++ lucene/dev/branches/branch_4x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSimplePropertiesWriter.java Tue Nov 20 19:54:54 2012
@@ -56,7 +56,7 @@ public class TestSimplePropertiesWriter
@Test
public void testSimplePropertiesWriter() throws Exception {
- SimpleDateFormat errMsgFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
+ SimpleDateFormat errMsgFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS", Locale.ROOT);
String[] d = {
"{'ts' ''yyyy-MM-dd HH:mm:ss.SSSSSS''}",