From 551846b173601ea8ee38aa37278ab869ec134f2a Mon Sep 17 00:00:00 2001 From: Gethin James Date: Mon, 10 Jul 2017 17:29:48 +0200 Subject: [PATCH] SEARCH-487: Removing duplicate code --- .../solr/AbstractAlfrescoDistributedTest.java | 65 +++++++++++++------ 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/search-services/alfresco-search/src/test/java/org/alfresco/solr/AbstractAlfrescoDistributedTest.java b/search-services/alfresco-search/src/test/java/org/alfresco/solr/AbstractAlfrescoDistributedTest.java index 687931587..d61e77a04 100644 --- a/search-services/alfresco-search/src/test/java/org/alfresco/solr/AbstractAlfrescoDistributedTest.java +++ b/search-services/alfresco-search/src/test/java/org/alfresco/solr/AbstractAlfrescoDistributedTest.java @@ -4,6 +4,7 @@ import org.alfresco.solr.client.Node; import org.alfresco.solr.client.NodeMetaData; import org.alfresco.solr.client.SOLRAPIQueueClient; import org.alfresco.solr.client.Transaction; +import org.alfresco.solr.stream.AlfrescoStreamHandler; import org.apache.commons.io.FileUtils; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; @@ -18,6 +19,8 @@ import org.apache.solr.client.solrj.embedded.JettyConfig; import org.apache.solr.client.solrj.embedded.JettySolrRunner; import org.apache.solr.client.solrj.embedded.SSLConfig; import org.apache.solr.client.solrj.impl.HttpSolrClient; +import org.apache.solr.client.solrj.io.Tuple; +import org.apache.solr.client.solrj.io.stream.TupleStream; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.client.solrj.response.QueryResponse; @@ -662,6 +665,46 @@ public abstract class AbstractAlfrescoDistributedTest extends SolrTestCaseJ4 params.set("shards", getShardsString()); } + protected List getTuples(TupleStream tupleStream) throws IOException { + List tuples = new ArrayList(); + tupleStream.open(); + try { + while (true) { + Tuple tuple = tupleStream.read(); + if (!tuple.EOF) { + tuples.add(tuple); + } else { + break; + } + } + } + finally + { + try { + tupleStream.close(); + } catch(Exception e2) { + e2.printStackTrace(); + } + } + + return tuples; + } + + protected String getShardsString(List clientList) + { + StringBuilder buf = new StringBuilder(); + for(int i=0; i 0) { + buf.append(","); + } + + buf.append(solrClient.getBaseURL()); + } + return buf.toString(); + } + protected String getShardsString() { if (deadServers == null) @@ -985,30 +1028,11 @@ public abstract class AbstractAlfrescoDistributedTest extends SolrTestCaseJ4 } protected QueryRequest getAlfrescoRequest(String json, SolrParams params) { - QueryRequest request = new AlfrescoQueryRequest(json, params); + QueryRequest request = new AlfrescoStreamHandler.AlfrescoQueryRequest(json, params); request.setMethod(SolrRequest.METHOD.POST); return request; } - public static class AlfrescoQueryRequest extends QueryRequest - { - private static final long serialVersionUID = 103873138415233192L; - private String json; - - public AlfrescoQueryRequest(String json, SolrParams params) - { - super(params); - this.json =json; - } - - public Collection getContentStreams() - { - List streams = new ArrayList(); - streams.add(new ContentStreamBase.StringStream(json)); - return streams; - } - } - /** * Returns the QueryResponse from {@link #queryServer} */ @@ -1578,6 +1602,7 @@ public abstract class AbstractAlfrescoDistributedTest extends SolrTestCaseJ4 handle.put("_original_parameters_", SKIP); } + protected void setupJettySolrHome(String coreName, Path jettyHome) throws IOException { seedSolrHome(jettyHome);