You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/02/09 00:53:25 UTC

svn commit: r1658277 [16/38] - in /lucene/dev/branches/lucene6005: ./ dev-tools/ dev-tools/idea/solr/contrib/dataimporthandler/ dev-tools/idea/solr/contrib/velocity/ dev-tools/maven/lucene/replicator/ dev-tools/maven/solr/ dev-tools/maven/solr/contrib/...

Modified: lucene/dev/branches/lucene6005/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTest.java Sun Feb  8 23:53:14 2015
@@ -18,6 +18,8 @@ package org.apache.solr.handler.extracti
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
+
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.util.ContentStream;
@@ -41,6 +43,8 @@ public class ExtractingRequestHandlerTes
 
   @BeforeClass
   public static void beforeClass() throws Exception {
+    assumeFalse("This test fails on UNIX with Turkish default locale (https://issues.apache.org/jira/browse/SOLR-6387)",
+        new Locale("tr").getLanguage().equals(Locale.getDefault().getLanguage()));
     initCore("solrconfig.xml", "schema.xml", getFile("extraction/solr").getAbsolutePath());
   }
 
@@ -107,6 +111,8 @@ public class ExtractingRequestHandlerTes
     //assertQ(req("+id:simple2 +t_content_type:[* TO *]"), "//*[@numFound='1']");
     assertQ(req("+id:simple2 +t_href:[* TO *]"), "//*[@numFound='1']");
     assertQ(req("+id:simple2 +t_abcxyz:[* TO *]"), "//*[@numFound='1']");
+    assertQ(req("+id:simple2 +t_content:serif"), "//*[@numFound='0']"); // make sure <style> content is excluded
+    assertQ(req("+id:simple2 +t_content:blur"), "//*[@numFound='0']"); // make sure <script> content is excluded
 
     // load again in the exact same way, but boost one field
     loadLocal("extraction/simple.html",
@@ -123,16 +129,6 @@ public class ExtractingRequestHandlerTes
     assertQ(req("t_href:http"), "//doc[1]/str[.='simple3']");
     assertQ(req("+id:simple3 +t_content_type:[* TO *]"), "//*[@numFound='1']");//test lowercase and then uprefix
 
-    // test capture
-     loadLocal("extraction/simple.html",
-      "literal.id","simple4",
-      "uprefix", "t_",
-      "capture","p",     // capture only what is in the title element
-      "commit", "true"
-    );
-    assertQ(req("+id:simple4 +t_content:Solr"), "//*[@numFound='1']");
-    assertQ(req("+id:simple4 +t_p:\"here is some text\""), "//*[@numFound='1']");
-
     loadLocal("extraction/version_control.xml", "fmap.created", "extractedDate", "fmap.producer", "extractedProducer",
             "fmap.creator", "extractedCreator", "fmap.Keywords", "extractedKeywords",
             "fmap.Author", "extractedAuthor",
@@ -181,8 +177,45 @@ public class ExtractingRequestHandlerTes
             , "//*/arr[@name='stream_name']/str[.='tiny.txt.gz']"
             );
 
+    // compressed file
+    loadLocal("extraction/open-document.odt", 
+              "uprefix", "ignored_",
+              "fmap.content", "extractedContent",
+              "literal.id", "open-document");
+    assertU(commit());
+    assertQ(req("extractedContent:\"Práctica sobre GnuPG\"")
+            , "//*[@numFound='1']"
+            , "//*/arr[@name='stream_name']/str[.='open-document.odt']"
+            );
   }
 
+  @Test
+  public void testCapture() throws Exception {
+    loadLocal("extraction/simple.html",
+        "literal.id","capture1",
+        "uprefix","t_",
+        "capture","div",
+        "fmap.div", "foo_t",
+        "commit", "true"
+    );
+    assertQ(req("+id:capture1 +t_content:Solr"), "//*[@numFound='1']");
+    assertQ(req("+id:capture1 +foo_t:\"here is some text in a div\""), "//*[@numFound='1']");
+
+    loadLocal("extraction/simple.html",
+        "literal.id", "capture2",
+        "captureAttr", "true",
+        "defaultField", "text",
+        "fmap.div", "div_t",
+        "fmap.a", "anchor_t",
+        "capture", "div",
+        "capture", "a",
+        "commit", "true"
+    );
+    assertQ(req("+id:capture2 +text:Solr"), "//*[@numFound='1']");
+    assertQ(req("+id:capture2 +div_t:\"here is some text in a div\""), "//*[@numFound='1']");
+    assertQ(req("+id:capture2 +anchor_t:http\\://www.apache.org"), "//*[@numFound='1']");
+    assertQ(req("+id:capture2 +anchor_t:link"), "//*[@numFound='1']");
+  }
 
   @Test
   public void testDefaultField() throws Exception {
@@ -462,14 +495,25 @@ public class ExtractingRequestHandlerTes
     ExtractingRequestHandler handler = (ExtractingRequestHandler) h.getCore().getRequestHandler("/update/extract");
     assertTrue("handler is null and it shouldn't be", handler != null);
     SolrQueryResponse rsp = loadLocal("extraction/example.html",
-            ExtractingParams.XPATH_EXPRESSION, "/xhtml:html/xhtml:body/xhtml:a/descendant:node()",
+            ExtractingParams.XPATH_EXPRESSION, "/xhtml:html/xhtml:body/xhtml:a/descendant::node()",
             ExtractingParams.EXTRACT_ONLY, "true"
     );
     assertTrue("rsp is null and it shouldn't be", rsp != null);
     NamedList list = rsp.getValues();
     String val = (String) list.get("example.html");
-    val = val.trim();
-    assertTrue(val + " is not equal to " + "linkNews", val.equals("linkNews") == true);//there are two <a> tags, and they get collapesd
+    assertEquals("News", val.trim()); //there is only one matching <a> tag
+
+    loadLocal("extraction/example.html",
+        "literal.id", "example1",
+        "captureAttr", "true",
+        "defaultField", "text",
+        "capture", "div",
+        "fmap.div", "foo_t",
+        "boost.foo_t", "3",
+        "xpath", "/xhtml:html/xhtml:body/xhtml:div//node()",
+        "commit", "true"
+    );
+    assertQ(req("+id:example1 +foo_t:\"here is some text in a div\""), "//*[@numFound='1']");
   }
 
   /** test arabic PDF extraction is functional */

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java Sun Feb  8 23:53:14 2015
@@ -16,6 +16,15 @@
  */
 package org.apache.solr.hadoop;
 
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.TaskID;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
+import org.apache.solr.client.solrj.response.UpdateResponse;
+import org.apache.solr.common.SolrInputDocument;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -26,15 +35,6 @@ import java.util.concurrent.ThreadPoolEx
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.TaskID;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
-import org.apache.solr.client.solrj.response.UpdateResponse;
-import org.apache.solr.common.SolrInputDocument;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /**
  * Enables adding batches of documents to an EmbeddedSolrServer.
  */
@@ -209,7 +209,7 @@ class BatchWriter {
     context.setStatus("Committing Solr Phase 2");
     solr.commit(true, false);
     context.setStatus("Shutting down Solr");
-    solr.shutdown();
+    solr.close();
   }
 
   /**

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java Sun Feb  8 23:53:14 2015
@@ -16,6 +16,15 @@
  */
 package org.apache.solr.hadoop;
 
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.request.CoreAdminRequest;
+import org.apache.solr.hadoop.MapReduceIndexerTool.Options;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -31,15 +40,6 @@ import java.util.concurrent.LinkedBlocki
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
-import org.apache.solr.client.solrj.request.CoreAdminRequest;
-import org.apache.solr.hadoop.MapReduceIndexerTool.Options;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /**
  * The optional (parallel) GoLive phase merges the output shards of the previous
  * phase into a set of live customer facing Solr servers, typically a SolrCloud.
@@ -91,23 +91,14 @@ class GoLive {
             public Request call() {
               Request req = new Request();
               LOG.info("Live merge " + dir.getPath() + " into " + mergeUrl);
-              final HttpSolrClient server = new HttpSolrClient(mergeUrl);
-              try {
+              try (final HttpSolrClient client = new HttpSolrClient(mergeUrl)) {
                 CoreAdminRequest.MergeIndexes mergeRequest = new CoreAdminRequest.MergeIndexes();
                 mergeRequest.setCoreName(name);
                 mergeRequest.setIndexDirs(Arrays.asList(dir.getPath().toString() + "/data/index"));
-                try {
-                  mergeRequest.process(server);
-                  req.success = true;
-                } catch (SolrServerException e) {
-                  req.e = e;
-                  return req;
-                } catch (IOException e) {
-                  req.e = e;
-                  return req;
-                }
-              } finally {
-                server.shutdown();
+                mergeRequest.process(client);
+                req.success = true;
+              } catch (SolrServerException | IOException e) {
+                req.e = e;
               }
               return req;
             }
@@ -149,17 +140,17 @@ class GoLive {
       try {
         LOG.info("Committing live merge...");
         if (options.zkHost != null) {
-          CloudSolrClient server = new CloudSolrClient(options.zkHost);
-          server.setDefaultCollection(options.collection);
-          server.commit();
-          server.shutdown();
+          try (CloudSolrClient server = new CloudSolrClient(options.zkHost)) {
+            server.setDefaultCollection(options.collection);
+            server.commit();
+          }
         } else {
           for (List<String> urls : options.shardUrls) {
             for (String url : urls) {
               // TODO: we should do these concurrently
-              HttpSolrClient server = new HttpSolrClient(url);
-              server.commit();
-              server.shutdown();
+              try (HttpSolrClient server = new HttpSolrClient(url)) {
+                server.commit();
+              }
             }
           }
         }

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineBasicMiniMRTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineBasicMiniMRTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineBasicMiniMRTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineBasicMiniMRTest.java Sun Feb  8 23:53:14 2015
@@ -16,15 +16,13 @@
  */
 package org.apache.solr.hadoop;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.lang.reflect.Array;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
 import org.apache.commons.io.FileUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
@@ -49,13 +47,14 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.lang.reflect.Array;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
 
 @ThreadLeakAction({Action.WARN})
 @ThreadLeakLingering(linger = 0)
@@ -118,8 +117,6 @@ public class MorphlineBasicMiniMRTest ex
         Boolean.parseBoolean(System.getProperty("tests.disableHdfs", "false")));
     
     assumeFalse("FIXME: This test does not work with Windows because of native library requirements", Constants.WINDOWS);
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
     
     AbstractZkTestCase.SOLRHOME = solrHomeDirectory;
     FileUtils.copyDirectory(MINIMR_CONF_DIR, solrHomeDirectory);

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java Sun Feb  8 23:53:14 2015
@@ -16,23 +16,13 @@
  */
 package org.apache.solr.hadoop;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.lang.reflect.Array;
-import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
 import org.apache.commons.io.FileUtils;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -47,9 +37,9 @@ import org.apache.lucene.util.Constants;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
+import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrQuery.ORDER;
-import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
@@ -71,19 +61,26 @@ import org.apache.solr.common.util.Named
 import org.apache.solr.hadoop.hack.MiniMRClientCluster;
 import org.apache.solr.hadoop.hack.MiniMRClientClusterFactory;
 import org.apache.solr.morphlines.solr.AbstractSolrMorphlineTestBase;
-import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.lang.reflect.Array;
+import java.net.URI;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 @ThreadLeakAction({Action.WARN})
 @ThreadLeakLingering(linger = 0)
@@ -120,10 +117,9 @@ public class MorphlineGoLiveMiniMRTest e
     this.inputAvroFile1 = "sample-statuses-20120521-100919.avro";
     this.inputAvroFile2 = "sample-statuses-20120906-141433.avro";
     this.inputAvroFile3 = "sample-statuses-20120906-141433-medium.avro";
-    
-    fixShardCount = true;
+
     sliceCount = TEST_NIGHTLY ? 7 : 3;
-    shardCount = TEST_NIGHTLY ? 7 : 3;
+    fixShardCount(TEST_NIGHTLY ? 7 : 3);
   }
   
   @BeforeClass
@@ -141,8 +137,6 @@ public class MorphlineGoLiveMiniMRTest e
         Boolean.parseBoolean(System.getProperty("tests.disableHdfs", "false")));
     
     assumeFalse("FIXME: This test does not work with Windows because of native library requirements", Constants.WINDOWS);
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
     
     AbstractZkTestCase.SOLRHOME = solrHomeDirectory;
     FileUtils.copyDirectory(MINIMR_INSTANCE_DIR, AbstractZkTestCase.SOLRHOME);
@@ -199,9 +193,8 @@ public class MorphlineGoLiveMiniMRTest e
   }
   
   @Override
-  @Before
-  public void setUp() throws Exception {
-    super.setUp();
+  public void distribSetUp() throws Exception {
+    super.distribSetUp();
     System.setProperty("host", "127.0.0.1");
     System.setProperty("numShards", Integer.toString(sliceCount));
     URI uri = dfsCluster.getFileSystem().getUri();
@@ -210,9 +203,8 @@ public class MorphlineGoLiveMiniMRTest e
   }
   
   @Override
-  @After
-  public void tearDown() throws Exception {
-    super.tearDown();
+  public void distribTearDown() throws Exception {
+    super.distribTearDown();
     System.clearProperty("host");
     System.clearProperty("numShards");
     System.clearProperty("solr.hdfs.home");
@@ -245,12 +237,6 @@ public class MorphlineGoLiveMiniMRTest e
   }
   
   @Test
-  @Override
-  public void testDistribSearch() throws Exception {
-    super.testDistribSearch();
-  }
-  
-  @Test
   public void testBuildShardUrls() throws Exception {
     // 2x3
     Integer numShards = 2;
@@ -352,9 +338,9 @@ public class MorphlineGoLiveMiniMRTest e
     };
     return concat(head, args); 
   }
-  
-  @Override
-  public void doTest() throws Exception {
+
+  @Test
+  public void test() throws Exception {
     
     waitForRecoveriesToFinish(false);
     
@@ -383,143 +369,144 @@ public class MorphlineGoLiveMiniMRTest e
     MapReduceIndexerTool tool;
     int res;
     QueryResponse results;
-    HttpSolrClient server = new HttpSolrClient(cloudJettys.get(0).url);
     String[] args = new String[]{};
-
-    args = new String[] {
-        "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
-        "--output-dir=" + outDir.toString(),
-        "--log4j=" + getFile("log4j.properties").getAbsolutePath(),
-        "--mappers=3",
-        random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),  
-        "--go-live-threads", Integer.toString(random().nextInt(15) + 1),
-        "--verbose",
-        "--go-live"
-    };
-    args = prependInitialArgs(args);
     List<String> argList = new ArrayList<>();
-    getShardUrlArgs(argList);
-    args = concat(args, argList.toArray(new String[0]));
-    
-    if (true) {
-      tool = new MapReduceIndexerTool();
-      res = ToolRunner.run(jobConf, tool, args);
-      assertEquals(0, res);
-      assertTrue(tool.job.isComplete());
-      assertTrue(tool.job.isSuccessful());
-      results = server.query(new SolrQuery("*:*"));
-      assertEquals(20, results.getResults().getNumFound());
-    }    
-    
-    fs.delete(inDir, true);   
-    fs.delete(outDir, true);  
-    fs.delete(dataDir, true); 
-    assertTrue(fs.mkdirs(inDir));
-    INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile2);
 
-    args = new String[] {
-        "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
-        "--output-dir=" + outDir.toString(),
-        "--mappers=3",
-        "--verbose",
-        "--go-live",
-        random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(), 
-        "--go-live-threads", Integer.toString(random().nextInt(15) + 1)
-    };
-    args = prependInitialArgs(args);
-    argList = new ArrayList<>();
-    getShardUrlArgs(argList);
-    args = concat(args, argList.toArray(new String[0]));
-    
-    if (true) {
-      tool = new MapReduceIndexerTool();
-      res = ToolRunner.run(jobConf, tool, args);
-      assertEquals(0, res);
-      assertTrue(tool.job.isComplete());
-      assertTrue(tool.job.isSuccessful());      
-      results = server.query(new SolrQuery("*:*"));
-      
-      assertEquals(22, results.getResults().getNumFound());
-    }    
-    
-    // try using zookeeper
-    String collection = "collection1";
-    if (random().nextBoolean()) {
-      // sometimes, use an alias
-      createAlias("updatealias", "collection1");
-      collection = "updatealias";
-    }
-    
-    fs.delete(inDir, true);   
-    fs.delete(outDir, true);  
-    fs.delete(dataDir, true);    
-    INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile3);
+    try (HttpSolrClient server = new HttpSolrClient(cloudJettys.get(0).url)) {
 
-    cloudClient.deleteByQuery("*:*");
-    cloudClient.commit();
-    assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());      
+      args = new String[]{
+          "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
+          "--output-dir=" + outDir.toString(),
+          "--log4j=" + getFile("log4j.properties").getAbsolutePath(),
+          "--mappers=3",
+          random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
+          "--go-live-threads", Integer.toString(random().nextInt(15) + 1),
+          "--verbose",
+          "--go-live"
+      };
+      args = prependInitialArgs(args);
+      getShardUrlArgs(argList);
+      args = concat(args, argList.toArray(new String[0]));
+
+      if (true) {
+        tool = new MapReduceIndexerTool();
+        res = ToolRunner.run(jobConf, tool, args);
+        assertEquals(0, res);
+        assertTrue(tool.job.isComplete());
+        assertTrue(tool.job.isSuccessful());
+        results = server.query(new SolrQuery("*:*"));
+        assertEquals(20, results.getResults().getNumFound());
+      }
 
-    args = new String[] {
-        "--output-dir=" + outDir.toString(),
-        "--mappers=3",
-        "--reducers=12",
-        "--fanout=2",
-        "--verbose",
-        "--go-live",
-        random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(), 
-        "--zk-host", zkServer.getZkAddress(), 
-        "--collection", collection
-    };
-    args = prependInitialArgs(args);
+      fs.delete(inDir, true);
+      fs.delete(outDir, true);
+      fs.delete(dataDir, true);
+      assertTrue(fs.mkdirs(inDir));
+      INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile2);
+
+      args = new String[]{
+          "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
+          "--output-dir=" + outDir.toString(),
+          "--mappers=3",
+          "--verbose",
+          "--go-live",
+          random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
+          "--go-live-threads", Integer.toString(random().nextInt(15) + 1)
+      };
+      args = prependInitialArgs(args);
+
+      getShardUrlArgs(argList);
+      args = concat(args, argList.toArray(new String[0]));
+
+      if (true) {
+        tool = new MapReduceIndexerTool();
+        res = ToolRunner.run(jobConf, tool, args);
+        assertEquals(0, res);
+        assertTrue(tool.job.isComplete());
+        assertTrue(tool.job.isSuccessful());
+        results = server.query(new SolrQuery("*:*"));
 
-    if (true) {
-      tool = new MapReduceIndexerTool();
-      res = ToolRunner.run(jobConf, tool, args);
-      assertEquals(0, res);
-      assertTrue(tool.job.isComplete());
-      assertTrue(tool.job.isSuccessful());
-      
-      SolrDocumentList resultDocs = executeSolrQuery(cloudClient, "*:*");      
-      assertEquals(RECORD_COUNT, resultDocs.getNumFound());
-      assertEquals(RECORD_COUNT, resultDocs.size());
-      
-      // perform updates
-      for (int i = 0; i < RECORD_COUNT; i++) {
+        assertEquals(22, results.getResults().getNumFound());
+      }
+
+      // try using zookeeper
+      String collection = "collection1";
+      if (random().nextBoolean()) {
+        // sometimes, use an alias
+        createAlias("updatealias", "collection1");
+        collection = "updatealias";
+      }
+
+      fs.delete(inDir, true);
+      fs.delete(outDir, true);
+      fs.delete(dataDir, true);
+      INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile3);
+
+      cloudClient.deleteByQuery("*:*");
+      cloudClient.commit();
+      assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());
+
+      args = new String[]{
+          "--output-dir=" + outDir.toString(),
+          "--mappers=3",
+          "--reducers=12",
+          "--fanout=2",
+          "--verbose",
+          "--go-live",
+          random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
+          "--zk-host", zkServer.getZkAddress(),
+          "--collection", collection
+      };
+      args = prependInitialArgs(args);
+
+      if (true) {
+        tool = new MapReduceIndexerTool();
+        res = ToolRunner.run(jobConf, tool, args);
+        assertEquals(0, res);
+        assertTrue(tool.job.isComplete());
+        assertTrue(tool.job.isSuccessful());
+
+        SolrDocumentList resultDocs = executeSolrQuery(cloudClient, "*:*");
+        assertEquals(RECORD_COUNT, resultDocs.getNumFound());
+        assertEquals(RECORD_COUNT, resultDocs.size());
+
+        // perform updates
+        for (int i = 0; i < RECORD_COUNT; i++) {
           SolrDocument doc = resultDocs.get(i);
           SolrInputDocument update = new SolrInputDocument();
           for (Map.Entry<String, Object> entry : doc.entrySet()) {
-              update.setField(entry.getKey(), entry.getValue());
+            update.setField(entry.getKey(), entry.getValue());
           }
           update.setField("user_screen_name", "Nadja" + i);
           update.removeField("_version_");
           cloudClient.add(update);
-      }
-      cloudClient.commit();
-      
-      // verify updates
-      SolrDocumentList resultDocs2 = executeSolrQuery(cloudClient, "*:*");   
-      assertEquals(RECORD_COUNT, resultDocs2.getNumFound());
-      assertEquals(RECORD_COUNT, resultDocs2.size());
-      for (int i = 0; i < RECORD_COUNT; i++) {
+        }
+        cloudClient.commit();
+
+        // verify updates
+        SolrDocumentList resultDocs2 = executeSolrQuery(cloudClient, "*:*");
+        assertEquals(RECORD_COUNT, resultDocs2.getNumFound());
+        assertEquals(RECORD_COUNT, resultDocs2.size());
+        for (int i = 0; i < RECORD_COUNT; i++) {
           SolrDocument doc = resultDocs.get(i);
           SolrDocument doc2 = resultDocs2.get(i);
           assertEquals(doc.getFirstValue("id"), doc2.getFirstValue("id"));
           assertEquals("Nadja" + i, doc2.getFirstValue("user_screen_name"));
           assertEquals(doc.getFirstValue("text"), doc2.getFirstValue("text"));
-          
+
           // perform delete
-          cloudClient.deleteById((String)doc.getFirstValue("id"));
+          cloudClient.deleteById((String) doc.getFirstValue("id"));
+        }
+        cloudClient.commit();
+
+        // verify deletes
+        assertEquals(0, executeSolrQuery(cloudClient, "*:*").size());
       }
+
+      cloudClient.deleteByQuery("*:*");
       cloudClient.commit();
-      
-      // verify deletes
-      assertEquals(0, executeSolrQuery(cloudClient, "*:*").size());
-    }    
-    
-    cloudClient.deleteByQuery("*:*");
-    cloudClient.commit();
-    assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());      
-    server.shutdown();
+      assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());
+    }
     
     // try using zookeeper with replication
     String replicatedCollection = "replicated_collection";
@@ -693,7 +680,7 @@ public class MorphlineGoLiveMiniMRTest e
   }
 
   private void getShardUrlArgs(List<String> args) {
-    for (int i = 0; i < shardCount; i++) {
+    for (int i = 0; i < getShardCount(); i++) {
       args.add("--shard-url");
       args.add(cloudJettys.get(i).url);
     }
@@ -706,25 +693,24 @@ public class MorphlineGoLiveMiniMRTest e
   }
 
   private void checkConsistency(String replicatedCollection)
-      throws SolrServerException {
+      throws Exception {
     Collection<Slice> slices = cloudClient.getZkStateReader().getClusterState()
         .getSlices(replicatedCollection);
     for (Slice slice : slices) {
       Collection<Replica> replicas = slice.getReplicas();
       long found = -1;
       for (Replica replica : replicas) {
-        HttpSolrClient client = new HttpSolrClient(
-            new ZkCoreNodeProps(replica).getCoreUrl());
-        SolrQuery query = new SolrQuery("*:*");
-        query.set("distrib", false);
-        QueryResponse replicaResults = client.query(query);
-        long count = replicaResults.getResults().getNumFound();
-        if (found != -1) {
-          assertEquals(slice.getName() + " is inconsistent "
-              + new ZkCoreNodeProps(replica).getCoreUrl(), found, count);
+        try (HttpSolrClient client = new HttpSolrClient(new ZkCoreNodeProps(replica).getCoreUrl())) {
+          SolrQuery query = new SolrQuery("*:*");
+          query.set("distrib", false);
+          QueryResponse replicaResults = client.query(query);
+          long count = replicaResults.getResults().getNumFound();
+          if (found != -1) {
+            assertEquals(slice.getName() + " is inconsistent "
+                + new ZkCoreNodeProps(replica).getCoreUrl(), found, count);
+          }
+          found = count;
         }
-        found = count;
-        client.shutdown();
       }
     }
   }

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineMapperTest.java Sun Feb  8 23:53:14 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.solr.hadoop;
 
+import java.net.URLEncoder;
 import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
@@ -34,8 +35,6 @@ public class MorphlineMapperTest extends
   @BeforeClass
   public static void beforeClass() {
     assumeFalse("Does not work on Windows, because it uses UNIX shell commands or POSIX paths", Constants.WINDOWS);
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
   }
   
   @Test
@@ -46,7 +45,9 @@ public class MorphlineMapperTest extends
     Configuration config = mapDriver.getConfiguration();
     setupHadoopConfig(config);
 
-    mapDriver.withInput(new LongWritable(0L), new Text("hdfs://localhost/" + DOCUMENTS_DIR + "/sample-statuses-20120906-141433.avro"));
+    mapDriver.withInput(new LongWritable(0L), new Text("hdfs://localhost/" +
+        URLEncoder.encode(DOCUMENTS_DIR, "UTF-8").replace("+", "%20") +
+        "/sample-statuses-20120906-141433.avro"));
 
     SolrInputDocument sid = new SolrInputDocument();
     sid.addField("id", "uniqueid1");

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineReducerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineReducerTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineReducerTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineReducerTest.java Sun Feb  8 23:53:14 2015
@@ -48,8 +48,6 @@ public class MorphlineReducerTest extend
   @BeforeClass
   public static void beforeClass2() {
     assumeFalse("Does not work on Windows, because it uses UNIX shell commands or POSIX paths", Constants.WINDOWS);
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
     
     System.setProperty("verifyPartitionAssignment", "false");
   }

Modified: lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java Sun Feb  8 23:53:14 2015
@@ -16,11 +16,6 @@
  */
 package org.apache.solr.hadoop;
 
-import static org.junit.Assert.assertEquals;
-
-import java.io.File;
-import java.io.IOException;
-
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -29,6 +24,11 @@ import org.apache.solr.client.solrj.Solr
 import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
 import org.apache.solr.client.solrj.response.QueryResponse;
 
+import java.io.File;
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+
 
 public class UtilsForTests {
   
@@ -40,17 +40,13 @@ public class UtilsForTests {
     for (FileStatus dir : fs.listStatus(outDir)) { // for each shard
       if (dir.getPath().getName().startsWith("part") && dir.isDirectory()) {
         actualShards++;
-        EmbeddedSolrServer solr = SolrRecordWriter.createEmbeddedSolrServer(
-            new Path(solrHomeDir.getAbsolutePath()), fs, dir.getPath());
-        
-        try {
+        try (EmbeddedSolrServer solr
+                 = SolrRecordWriter.createEmbeddedSolrServer(new Path(solrHomeDir.getAbsolutePath()), fs, dir.getPath())) {
           SolrQuery query = new SolrQuery();
           query.setQuery("*:*");
           QueryResponse resp = solr.query(query);
           long numDocs = resp.getResults().getNumFound();
           actualDocs += numDocs;
-        } finally {
-          solr.shutdown();
         }
       }
     }

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/java/org/apache/solr/morphlines/cell/SolrCellBuilder.java Sun Feb  8 23:53:14 2015
@@ -245,11 +245,7 @@ public final class SolrCellBuilder imple
 
         try {
           parser.parse(inputStream, parsingHandler, metadata, parseContext);
-        } catch (IOException e) {
-          throw new MorphlineRuntimeException("Cannot parse", e);
-        } catch (SAXException e) {
-          throw new MorphlineRuntimeException("Cannot parse", e);
-        } catch (TikaException e) {
+        } catch (IOException | TikaException | SAXException e) {
           throw new MorphlineRuntimeException("Cannot parse", e);
         }
       } finally {

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/test/org/apache/solr/morphlines/cell/SolrCellMorphlineTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/test/org/apache/solr/morphlines/cell/SolrCellMorphlineTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/test/org/apache/solr/morphlines/cell/SolrCellMorphlineTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-cell/src/test/org/apache/solr/morphlines/cell/SolrCellMorphlineTest.java Sun Feb  8 23:53:14 2015
@@ -35,7 +35,6 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.apache.lucene.util.LuceneTestCase.AwaitsFix;
 
-@AwaitsFix(bugUrl="https://issues.apache.org/jira/browse/SOLR-6489")
 public class SolrCellMorphlineTest extends AbstractSolrMorphlineTestBase {
 
   private Map<String,Integer> expectedRecords = new HashMap<>();
@@ -140,6 +139,7 @@ public class SolrCellMorphlineTest exten
   }
   
   @Test
+  @AwaitsFix(bugUrl="https://issues.apache.org/jira/browse/SOLR-6489")
   public void testSolrCellJPGCompressed() throws Exception {
     morphline = createMorphline("test-morphlines" + File.separator + "solrCellJPGCompressed");    
     String path = RESOURCES_DIR + File.separator + "test-documents" + File.separator;
@@ -163,6 +163,7 @@ public class SolrCellMorphlineTest exten
   }  
 
   @Test
+  @AwaitsFix(bugUrl="https://issues.apache.org/jira/browse/SOLR-6489")
   public void testSolrCellDocumentTypes() throws Exception {
     AbstractSolrMorphlineTestBase.setupMorphline(tempDir, "test-morphlines/solrCellDocumentTypes", false);
     

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/LoadSolrBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/LoadSolrBuilder.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/LoadSolrBuilder.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/LoadSolrBuilder.java Sun Feb  8 23:53:14 2015
@@ -85,35 +85,27 @@ public final class LoadSolrBuilder imple
         if (event == Notifications.LifecycleEvent.BEGIN_TRANSACTION) {
           try {
             loader.beginTransaction();
-          } catch (SolrServerException e) {
-            throw new MorphlineRuntimeException(e);
-          } catch (IOException e) {
+          } catch (SolrServerException | IOException e) {
             throw new MorphlineRuntimeException(e);
           }
         } else if (event == Notifications.LifecycleEvent.COMMIT_TRANSACTION) {
           try {
             loader.commitTransaction();
-          } catch (SolrServerException e) {
-            throw new MorphlineRuntimeException(e);
-          } catch (IOException e) {
+          } catch (SolrServerException | IOException e) {
             throw new MorphlineRuntimeException(e);
           }
         }
         else if (event == Notifications.LifecycleEvent.ROLLBACK_TRANSACTION) {
           try {
             loader.rollbackTransaction();
-          } catch (SolrServerException e) {
-            throw new MorphlineRuntimeException(e);
-          } catch (IOException e) {
+          } catch (SolrServerException | IOException e) {
             throw new MorphlineRuntimeException(e);
           }
         }
         else if (event == Notifications.LifecycleEvent.SHUTDOWN) {
           try {
             loader.shutdown();
-          } catch (SolrServerException e) {
-            throw new MorphlineRuntimeException(e);
-          } catch (IOException e) {
+          } catch (SolrServerException | IOException e) {
             throw new MorphlineRuntimeException(e);
           }
         }
@@ -127,9 +119,7 @@ public final class LoadSolrBuilder imple
       SolrInputDocument doc = convert(record);
       try {
         loader.load(doc);
-      } catch (IOException e) {
-        throw new MorphlineRuntimeException(e);
-      } catch (SolrServerException e) {
+      } catch (IOException | SolrServerException e) {
         throw new MorphlineRuntimeException(e);
       } finally {
         timerContext.stop();

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java Sun Feb  8 23:53:14 2015
@@ -105,9 +105,9 @@ public class SolrClientDocumentLoader im
   }
 
   @Override
-  public void shutdown() {
+  public void shutdown() throws IOException {
     LOGGER.trace("shutdown");
-    client.shutdown();
+    client.close();
   }
 
   @Override

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrLocator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrLocator.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrLocator.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrLocator.java Sun Feb  8 23:53:14 2015
@@ -140,11 +140,7 @@ public class SolrLocator {
           downloadedSolrHomeDir = Files.createTempDir();
           downloadedSolrHomeDir = zki.downloadConfigDir(zkClient, configName, downloadedSolrHomeDir);
           mySolrHomeDir = downloadedSolrHomeDir.getAbsolutePath();
-        } catch (KeeperException e) {
-          throw new MorphlineCompilationException("Cannot download schema.xml from ZooKeeper", config, e);
-        } catch (InterruptedException e) {
-          throw new MorphlineCompilationException("Cannot download schema.xml from ZooKeeper", config, e);
-        } catch (IOException e) {
+        } catch (KeeperException | InterruptedException | IOException e) {
           throw new MorphlineCompilationException("Cannot download schema.xml from ZooKeeper", config, e);
         } finally {
           zkClient.close();
@@ -161,11 +157,7 @@ public class SolrLocator {
         IndexSchema schema = new IndexSchema(solrConfig, "schema.xml", is);
         validateSchema(schema);
         return schema;
-      } catch (ParserConfigurationException e) {
-        throw new MorphlineRuntimeException(e);
-      } catch (IOException e) {
-        throw new MorphlineRuntimeException(e);
-      } catch (SAXException e) {
+      } catch (ParserConfigurationException | IOException | SAXException e) {
         throw new MorphlineRuntimeException(e);
       }
     } finally {

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/minimr/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/minimr/conf/schema.xml?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/minimr/conf/schema.xml (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/minimr/conf/schema.xml Sun Feb  8 23:53:14 2015
@@ -579,7 +579,7 @@
       http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
     -->
     <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
-        geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
+        geo="true" distErrPct="0.025" maxDistErr="0.001" distanceUnits="kilometers" />
 
    <!-- Money/currency field type. See http://wiki.apache.org/solr/MoneyFieldType
         Parameters:

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/mrunit/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/mrunit/conf/schema.xml?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/mrunit/conf/schema.xml (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/mrunit/conf/schema.xml Sun Feb  8 23:53:14 2015
@@ -579,7 +579,7 @@
       http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
     -->
     <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
-        geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
+        geo="true" distErrPct="0.025" maxDistErr="0.001" distanceUnits="kilometers" />
 
    <!-- Money/currency field type. See http://wiki.apache.org/solr/MoneyFieldType
         Parameters:

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/solr.xml?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/solr.xml (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test-files/solr/solr.xml Sun Feb  8 23:53:14 2015
@@ -16,18 +16,25 @@
  limitations under the License.
 -->
 
-<!--
- All (relative) paths are relative to the installation path
-  
-  persistent: Save changes made via the API to this file
-  sharedLib: path to a lib directory that will be shared across all cores
--->
-<solr persistent="${solr.xml.persist:false}">
+<solr>
+
+  <solrcloud>
+    <int name="hostPort">${hostPort:8983}</int>
+    <str name="hostContext">${hostContext:solr}</str>
+    <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
+    <str name="host">127.0.0.1</str>
+  </solrcloud>
+
+  <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
+    <str name="urlScheme">${urlScheme:}</str>
+    <int name="socketTimeout">${socketTimeout:120000}</int>
+    <int name="connTimeout">${connTimeout:15000}</int>
+  </shardHandlerFactory>
 
   <!--
   adminPath: RequestHandler path to manage cores.  
     If 'null' (or absent), cores will not be manageable via request handler
-  -->
+
   <cores adminPath="/admin/cores" defaultCoreName="collection1" host="127.0.0.1" hostPort="${hostPort:8983}" 
          hostContext="${hostContext:solr}" zkClientTimeout="${solr.zkclienttimeout:30000}" numShards="${numShards:3}" shareSchema="${shareSchema:false}" 
          genericCoreNodeNames="${genericCoreNodeNames:true}" leaderVoteWait="0"
@@ -40,5 +47,6 @@
       <int name="connTimeout">${connTimeout:15000}</int>
     </shardHandlerFactory>
   </cores>
+  -->
   
 </solr>

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java Sun Feb  8 23:53:14 2015
@@ -16,25 +16,14 @@
  */
 package org.apache.solr.morphlines.solr;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TimeZone;
-import java.util.concurrent.atomic.AtomicInteger;
-
+import com.codahale.metrics.MetricRegistry;
+import com.google.common.base.Joiner;
+import com.google.common.io.Files;
+import com.typesafe.config.Config;
 import org.apache.commons.io.FileUtils;
 import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.impl.XMLResponseParser;
@@ -56,10 +45,20 @@ import org.kitesdk.morphline.stdlib.Pipe
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.codahale.metrics.MetricRegistry;
-import com.google.common.base.Joiner;
-import com.google.common.io.Files;
-import com.typesafe.config.Config;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.TimeZone;
+import java.util.concurrent.atomic.AtomicInteger;
 
 public class AbstractSolrMorphlineTestBase extends SolrTestCaseJ4 {
   private static Locale savedLocale;
@@ -123,7 +122,7 @@ public class AbstractSolrMorphlineTestBa
       ((HttpSolrClient) solrClient).setParser(new XMLResponseParser());
     } else {
       if (TEST_WITH_EMBEDDED_SOLR_SERVER) {
-        solrClient = new EmbeddedTestSolrServer(h.getCoreContainer(), "");
+        solrClient = new EmbeddedTestSolrServer(h.getCoreContainer(), DEFAULT_TEST_CORENAME);
       } else {
         throw new RuntimeException("Not yet implemented");
         //solrServer = new TestSolrServer(getSolrClient());
@@ -140,7 +139,7 @@ public class AbstractSolrMorphlineTestBa
   @After
   public void tearDown() throws Exception {
     collector = null;
-    solrClient.shutdown();
+    solrClient.close();
     solrClient = null;
     super.tearDown();
   }

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java Sun Feb  8 23:53:14 2015
@@ -17,11 +17,9 @@
 
 package org.apache.solr.morphlines.solr;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Locale;
-
+import com.codahale.metrics.MetricRegistry;
+import com.google.common.collect.ListMultimap;
+import com.typesafe.config.Config;
 import org.apache.commons.io.FileUtils;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
@@ -29,10 +27,7 @@ import org.apache.solr.cloud.AbstractFul
 import org.apache.solr.cloud.AbstractZkTestCase;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.cloud.SolrZkClient;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Test;
 import org.kitesdk.morphline.api.Collector;
 import org.kitesdk.morphline.api.Command;
 import org.kitesdk.morphline.api.MorphlineContext;
@@ -42,9 +37,10 @@ import org.kitesdk.morphline.base.FaultT
 import org.kitesdk.morphline.base.Notifications;
 import org.kitesdk.morphline.stdlib.PipeBuilder;
 
-import com.codahale.metrics.MetricRegistry;
-import com.google.common.collect.ListMultimap;
-import com.typesafe.config.Config;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Locale;
 
 public abstract class AbstractSolrMorphlineZkTestBase extends AbstractFullDistribZkTestBase {
   private static File solrHomeDirectory;
@@ -62,9 +58,8 @@ public abstract class AbstractSolrMorphl
   }
   
   public AbstractSolrMorphlineZkTestBase() {
-    fixShardCount = true;
     sliceCount = 3;
-    shardCount = 3;
+    fixShardCount(3);
   }
   
   @BeforeClass
@@ -77,9 +72,8 @@ public abstract class AbstractSolrMorphl
   }
   
   @Override
-  @Before
-  public void setUp() throws Exception {
-    super.setUp();
+  public void distribSetUp() throws Exception {
+    super.distribSetUp();
     System.setProperty("host", "127.0.0.1");
     System.setProperty("numShards", Integer.toString(sliceCount));
     uploadConfFiles();
@@ -87,19 +81,12 @@ public abstract class AbstractSolrMorphl
   }
   
   @Override
-  @After
-  public void tearDown() throws Exception {
-    super.tearDown();
+  public void distribTearDown() throws Exception {
+    super.distribTearDown();
     System.clearProperty("host");
     System.clearProperty("numShards");
   }
   
-  @Test
-  @Override
-  public void testDistribSearch() throws Exception {
-    super.testDistribSearch();
-  }
-  
   @Override
   protected void commit() throws Exception {
     Notifications.notifyCommitTransaction(morphline);    
@@ -155,7 +142,8 @@ public abstract class AbstractSolrMorphl
   public JettySolrRunner createJetty(File solrHome, String dataDir,
       String shardList, String solrConfigOverride, String schemaOverride)
       throws Exception {
-    
+
+    writeCoreProperties(solrHome.toPath(), DEFAULT_TEST_CORENAME);
     JettySolrRunner jetty = new JettySolrRunner(solrHome.getAbsolutePath(),
         context, 0, solrConfigOverride, schemaOverride, true, null, sslConfig);
 

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java Sun Feb  8 23:53:14 2015
@@ -34,7 +34,7 @@ public class EmbeddedTestSolrServer exte
   }
 
   @Override
-  public void shutdown() {
+  public void close() {
     ; // NOP
   }
 

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineTest.java Sun Feb  8 23:53:14 2015
@@ -16,25 +16,16 @@
  */
 package org.apache.solr.morphlines.solr;
 
-import java.io.File;
-import java.util.Arrays;
-
-import org.apache.lucene.util.Constants;
-import org.junit.BeforeClass;
 import org.junit.Test;
-
 import org.kitesdk.morphline.api.Record;
 import org.kitesdk.morphline.base.Fields;
 import org.kitesdk.morphline.base.Notifications;
 
+import java.io.File;
+import java.util.Arrays;
+
 public class SolrMorphlineTest extends AbstractSolrMorphlineTestBase {
 
-  @BeforeClass
-  public static void beforeClass2() {
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
-  }
-  
   @Test
   public void testLoadSolrBasic() throws Exception {
     //System.setProperty("ENV_SOLR_HOME", testSolrHome + "/collection1");

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAliasTest.java Sun Feb  8 23:53:14 2015
@@ -16,11 +16,13 @@
  */
 package org.apache.solr.morphlines.solr;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.lucene.util.Constants;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrServerException;
@@ -31,17 +33,14 @@ import org.apache.solr.common.params.Col
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.junit.BeforeClass;
+import org.junit.Test;
 import org.kitesdk.morphline.api.Record;
 import org.kitesdk.morphline.base.Fields;
 import org.kitesdk.morphline.base.Notifications;
 
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
 
 @ThreadLeakAction({Action.WARN})
 @ThreadLeakLingering(linger = 0)
@@ -49,15 +48,10 @@ import com.carrotsearch.randomizedtestin
 @ThreadLeakScope(Scope.NONE)
 @Slow
 public class SolrMorphlineZkAliasTest extends AbstractSolrMorphlineZkTestBase {
-  
-  @BeforeClass
-  public static void beforeClass2() {
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
-  }
-  
-  @Override
-  public void doTest() throws Exception {
+
+
+  @Test
+  public void test() throws Exception {
     
     waitForRecoveriesToFinish(false);
     

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java Sun Feb  8 23:53:14 2015
@@ -16,38 +16,37 @@
  */
 package org.apache.solr.morphlines.solr;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import com.google.common.base.Joiner;
+import com.google.common.base.Preconditions;
+import com.google.common.io.Files;
 import org.apache.avro.Schema.Field;
 import org.apache.avro.file.DataFileReader;
 import org.apache.avro.file.FileReader;
 import org.apache.avro.generic.GenericData;
 import org.apache.avro.generic.GenericDatumReader;
-import org.apache.lucene.util.Constants;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrDocument;
 import org.junit.BeforeClass;
+import org.junit.Test;
 import org.kitesdk.morphline.api.Record;
 import org.kitesdk.morphline.base.Fields;
 import org.kitesdk.morphline.base.Notifications;
 
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
-import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
-import com.google.common.io.Files;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
 
 @ThreadLeakAction({Action.WARN})
 @ThreadLeakLingering(linger = 0)
@@ -55,15 +54,10 @@ import com.google.common.io.Files;
 @ThreadLeakScope(Scope.NONE)
 @Slow
 public class SolrMorphlineZkAvroTest extends AbstractSolrMorphlineZkTestBase {
-  
-  @BeforeClass
-  public static void beforeClass2() {
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
-  }
-  
-  @Override
-  public void doTest() throws Exception {
+
+
+  @Test
+  public void test() throws Exception {
     Joiner joiner = Joiner.on(File.separator);
     File file = new File(joiner.join(RESOURCES_DIR, "test-documents", "sample-statuses-20120906-141433-medium.avro"));
     
@@ -138,7 +132,7 @@ public class SolrMorphlineZkAvroTest ext
     
     Notifications.notifyRollbackTransaction(morphline);
     Notifications.notifyShutdown(morphline);
-    cloudClient.shutdown();
+    cloudClient.close();
   }
   
   private void assertTweetEquals(GenericData.Record expected, Record actual, int i) {

Modified: lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java Sun Feb  8 23:53:14 2015
@@ -16,26 +16,24 @@
  */
 package org.apache.solr.morphlines.solr;
 
-import java.io.File;
-import java.util.Iterator;
-
-import org.apache.lucene.util.Constants;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrDocument;
-import org.junit.BeforeClass;
+import org.junit.Test;
 import org.kitesdk.morphline.api.Record;
 import org.kitesdk.morphline.base.Fields;
 import org.kitesdk.morphline.base.Notifications;
 
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.util.Iterator;
 
 @ThreadLeakAction({Action.WARN})
 @ThreadLeakLingering(linger = 0)
@@ -43,15 +41,10 @@ import com.carrotsearch.randomizedtestin
 @ThreadLeakScope(Scope.NONE)
 @Slow
 public class SolrMorphlineZkTest extends AbstractSolrMorphlineZkTestBase {
-  
-  @BeforeClass
-  public static void beforeClass2() {
-    assumeFalse("FIXME: This test fails under Java 8 due to the Saxon dependency - see SOLR-1301", Constants.JRE_IS_MINIMUM_JAVA8);
-    assumeFalse("FIXME: This test fails under J9 due to the Saxon dependency - see SOLR-1301", System.getProperty("java.vm.info", "<?>").contains("IBM J9"));
-  }
-  
-  @Override
-  public void doTest() throws Exception {
+
+
+  @Test
+  public void test() throws Exception {
     
     waitForRecoveriesToFinish(false);
     
@@ -99,7 +92,7 @@ public class SolrMorphlineZkTest extends
     
     Notifications.notifyRollbackTransaction(morphline);
     Notifications.notifyShutdown(morphline);
-    cloudClient.shutdown();
+    cloudClient.close();
   }
 
 }

Modified: lucene/dev/branches/lucene6005/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java (original)
+++ lucene/dev/branches/lucene6005/solr/contrib/velocity/src/java/org/apache/solr/response/SolrParamResourceLoader.java Sun Feb  8 23:53:14 2015
@@ -31,6 +31,8 @@ import java.util.Iterator;
 import java.util.Map;
 
 public class SolrParamResourceLoader extends ResourceLoader {
+  public static final String TEMPLATE_PARAM_PREFIX = VelocityResponseWriter.TEMPLATE + ".";
+
   private Map<String,String> templates = new HashMap<>();
   public SolrParamResourceLoader(SolrQueryRequest request) {
     super();
@@ -44,8 +46,8 @@ public class SolrParamResourceLoader ext
     while (names.hasNext()) {
       String name = names.next();
       
-      if (name.startsWith("v.template.")) {
-        templates.put(name.substring(11) + ".vm",params.get(name));
+      if (name.startsWith(TEMPLATE_PARAM_PREFIX)) {
+        templates.put(name.substring(TEMPLATE_PARAM_PREFIX.length()) + VelocityResponseWriter.TEMPLATE_EXTENSION,params.get(name));
       }
     }
   }