You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/07/09 16:06:17 UTC

svn commit: r1359181 - in /lucene/dev/branches/lucene4199/solr: core/src/java/org/apache/solr/cloud/ core/src/java/org/apache/solr/highlight/ core/src/test/org/apache/solr/cloud/ core/src/test/org/apache/solr/core/ core/src/test/org/apache/solr/handler...

Author: rmuir
Date: Mon Jul  9 14:06:17 2012
New Revision: 1359181

URL: http://svn.apache.org/viewvc?rev=1359181&view=rev
Log:
LUCENE-4199: fix more default locale/charset violations

Modified:
    lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
    lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java
    lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java
    lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
    lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
    lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/request/TestRemoteStreaming.java
    lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/SolrQuery.java
    lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java
    lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java

Modified: lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java (original)
+++ lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/cloud/SolrZkServer.java Mon Jul  9 14:06:17 2012
@@ -20,8 +20,8 @@ package org.apache.solr.cloud;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.UnknownHostException;
@@ -29,6 +29,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Map.Entry;
 
+import org.apache.lucene.util.IOUtils;
 import org.apache.solr.common.SolrException;
 import org.apache.zookeeper.server.ServerConfig;
 import org.apache.zookeeper.server.ZooKeeperServerMain;
@@ -462,7 +463,7 @@ class SolrZkServerProps extends QuorumPe
             + " file is missing");
       }
 
-      BufferedReader br = new BufferedReader(new FileReader(myIdFile));
+      BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(myIdFile), IOUtils.CHARSET_UTF_8));
       String myIdString;
       try {
         myIdString = br.readLine();

Modified: lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java (original)
+++ lucene/dev/branches/lucene4199/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java Mon Jul  9 14:06:17 2012
@@ -40,22 +40,24 @@ public class BreakIteratorBoundaryScanne
     Locale locale = null;
     if(language != null){
       locale = country == null ? new Locale(language) : new Locale(language, country);
+    } else {
+      locale = Locale.ROOT;
     }
 
     // construct BreakIterator
     String type = params.getFieldParam(fieldName, HighlightParams.BS_TYPE, "WORD").toLowerCase(Locale.ROOT);
     BreakIterator bi = null;
     if(type.equals("character")){
-      bi = locale == null ? BreakIterator.getCharacterInstance() : BreakIterator.getCharacterInstance(locale);
+      bi = BreakIterator.getCharacterInstance(locale);
     }
     else if(type.equals("word")){
-      bi = locale == null ? BreakIterator.getWordInstance() : BreakIterator.getWordInstance(locale);
+      bi = BreakIterator.getWordInstance(locale);
     }
     else if(type.equals("line")){
-      bi = locale == null ? BreakIterator.getLineInstance() : BreakIterator.getLineInstance(locale);
+      bi = BreakIterator.getLineInstance(locale);
     }
     else if(type.equals("sentence")){
-      bi = locale == null ? BreakIterator.getSentenceInstance() : BreakIterator.getSentenceInstance(locale);
+      bi = BreakIterator.getSentenceInstance(locale);
     }
     else
       throw new SolrException(ErrorCode.BAD_REQUEST, type + " is invalid for parameter " + HighlightParams.BS_TYPE);

Modified: lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java (original)
+++ lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java Mon Jul  9 14:06:17 2012
@@ -304,7 +304,7 @@ public class ZkTestServer {
 
           reader =
               new BufferedReader(
-                      new InputStreamReader(sock.getInputStream()));
+                      new InputStreamReader(sock.getInputStream(), "US-ASCII"));
           StringBuilder sb = new StringBuilder();
           String line;
           while((line = reader.readLine()) != null) {

Modified: lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java (original)
+++ lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java Mon Jul  9 14:06:17 2012
@@ -19,14 +19,16 @@ package org.apache.solr.core;
 
 import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.OutputStreamWriter;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.xpath.XPathExpressionException;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.util.IOUtils;
 import org.apache.solr.SolrTestCaseJ4;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -172,7 +174,7 @@ public class TestCoreContainer extends S
     assertTrue("Failed to mkdirs workDir", solrHomeDirectory.mkdirs());
     try {
       File solrXmlFile = new File(solrHomeDirectory, "solr.xml");
-      BufferedWriter out = new BufferedWriter(new FileWriter(solrXmlFile));
+      BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(solrXmlFile), IOUtils.CHARSET_UTF_8));
       out.write(EMPTY_SOLR_XML);
       out.close();
     } catch (IOException e) {

Modified: lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java (original)
+++ lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java Mon Jul  9 14:06:17 2012
@@ -18,11 +18,13 @@ package org.apache.solr.handler;
 
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.net.URL;
 import java.util.regex.Matcher;
@@ -929,8 +931,8 @@ public class TestReplicationHandler exte
    * character copy of file using UTF-8. If port is non-null, will be substituted any time "TEST_PORT" is found.
    */
   private static void copyFile(File src, File dst, Integer port) throws IOException {
-    BufferedReader in = new BufferedReader(new FileReader(src));
-    Writer out = new FileWriter(dst);
+    BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(src), "UTF-8"));
+    Writer out = new OutputStreamWriter(new FileOutputStream(dst), "UTF-8");
 
     for (String line = in.readLine(); null != line; line = in.readLine()) {
 

Modified: lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/request/TestRemoteStreaming.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/request/TestRemoteStreaming.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/request/TestRemoteStreaming.java (original)
+++ lucene/dev/branches/lucene4199/solr/core/src/test/org/apache/solr/request/TestRemoteStreaming.java Mon Jul  9 14:06:17 2012
@@ -33,6 +33,7 @@ import org.junit.Test;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
 import java.net.URL;
@@ -83,7 +84,7 @@ public class TestRemoteStreaming extends
       InputStream inputStream = (InputStream) obj;
       try {
         StringWriter strWriter = new StringWriter();
-        IOUtils.copy(inputStream,strWriter);
+        IOUtils.copy(new InputStreamReader(inputStream, "UTF-8"),strWriter);
         return strWriter.toString();
       } finally {
         IOUtils.closeQuietly(inputStream);

Modified: lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/SolrQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/SolrQuery.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/SolrQuery.java (original)
+++ lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/SolrQuery.java Mon Jul  9 14:06:17 2012
@@ -26,6 +26,7 @@ import org.apache.solr.common.params.Ter
 import org.apache.solr.common.util.DateUtil;
 
 import java.util.Date;
+import java.util.Locale;
 import java.util.regex.Pattern;
 
 
@@ -240,9 +241,9 @@ public class SolrQuery extends Modifiabl
    */
   public SolrQuery addNumericRangeFacet(String field, Number start, Number end, Number gap) {
     add(FacetParams.FACET_RANGE, field);
-    add(String.format("f.%s.%s", field, FacetParams.FACET_RANGE_START), start.toString());
-    add(String.format("f.%s.%s", field, FacetParams.FACET_RANGE_END), end.toString());
-    add(String.format("f.%s.%s", field, FacetParams.FACET_RANGE_GAP), gap.toString());
+    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_START), start.toString());
+    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_END), end.toString());
+    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_GAP), gap.toString());
     this.set(FacetParams.FACET, true);
     return this;
   }
@@ -258,9 +259,9 @@ public class SolrQuery extends Modifiabl
    */
   public SolrQuery addDateRangeFacet(String field, Date start, Date end, String gap) {
     add(FacetParams.FACET_RANGE, field);
-    add(String.format("f.%s.%s", field, FacetParams.FACET_RANGE_START), DateUtil.getThreadLocalDateFormat().format(start));
-    add(String.format("f.%s.%s", field, FacetParams.FACET_RANGE_END), DateUtil.getThreadLocalDateFormat().format(end));
-    add(String.format("f.%s.%s", field, FacetParams.FACET_RANGE_GAP), gap);
+    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_START), DateUtil.getThreadLocalDateFormat().format(start));
+    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_END), DateUtil.getThreadLocalDateFormat().format(end));
+    add(String.format(Locale.ROOT, "f.%s.%s", field, FacetParams.FACET_RANGE_GAP), gap);
     this.set(FacetParams.FACET, true);
     return this;
   }

Modified: lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java (original)
+++ lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrServer.java Mon Jul  9 14:06:17 2012
@@ -20,6 +20,7 @@ package org.apache.solr.client.solrj.imp
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.LinkedList;
+import java.util.Locale;
 import java.util.Queue;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.CountDownLatch;
@@ -158,7 +159,7 @@ public class ConcurrentUpdateSolrServer 
                           fmt = "<commit waitSearcher=\"%s\" waitFlush=\"%s\" />";
                         }
                         if (fmt != null) {
-                          byte[] content = String.format(
+                          byte[] content = String.format(Locale.ROOT,
                               fmt,
                               params.getBool(UpdateParams.WAIT_SEARCHER, false)
                                   + "").getBytes("UTF-8");

Modified: lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java?rev=1359181&r1=1359180&r2=1359181&view=diff
==============================================================================
--- lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java (original)
+++ lucene/dev/branches/lucene4199/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java Mon Jul  9 14:06:17 2012
@@ -20,7 +20,6 @@ package org.apache.solr.common.util;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -30,6 +29,8 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.util.Locale;
 
+import org.apache.lucene.util.IOUtils;
+
 
 /**
  * Three concrete implementations for ContentStream - one for File/URL/String
@@ -126,13 +127,13 @@ public abstract class ContentStreamBase 
 
     /**
      * If an charset is defined (by the contentType) use that, otherwise 
-     * use a file reader
+     * use a UTF-8 reader
      */
     @Override
     public Reader getReader() throws IOException {
       String charset = getCharsetFromContentType( contentType );
       return charset == null 
-        ? new FileReader( file )
+        ? new InputStreamReader(getStream(), IOUtils.CHARSET_UTF_8)
         : new InputStreamReader( getStream(), charset );
     }
   }