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 [36/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/solrj/src/java/org/apache/solr/common/params/SolrParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/java/org/apache/solr/common/params/SolrParams.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/java/org/apache/solr/common/params/SolrParams.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/java/org/apache/solr/common/params/SolrParams.java Sun Feb 8 23:53:14 2015
@@ -17,17 +17,17 @@
package org.apache.solr.common.params;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.SimpleOrderedMap;
+import org.apache.solr.common.util.StrUtils;
+
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.common.util.StrUtils;
-
/** SolrParams hold request parameters.
*
*
@@ -282,7 +282,6 @@ public abstract class SolrParams impleme
}
}
- @SuppressWarnings({"deprecation"})
public static SolrParams wrapDefaults(SolrParams params, SolrParams defaults) {
if (params == null)
return defaults;
@@ -291,13 +290,12 @@ public abstract class SolrParams impleme
return new DefaultSolrParams(params,defaults);
}
- @SuppressWarnings({"deprecation"})
public static SolrParams wrapAppended(SolrParams params, SolrParams defaults) {
if (params == null)
return defaults;
if (defaults == null)
return params;
- return new AppendedSolrParams(params,defaults);
+ return AppendedSolrParams.wrapAppended(params,defaults);
}
/** Create a Map<String,String> from a NamedList given no keys are repeated */
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/multicore/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/multicore/solr.xml?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/multicore/solr.xml (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/multicore/solr.xml Sun Feb 8 23:53:14 2015
@@ -16,25 +16,7 @@
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="false">
+<solr>
+
- <!--
- adminPath: RequestHandler path to manage cores.
- If 'null' (or absent), cores will not be manageable via request handler
- -->
- <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
- <core name="core0" instanceDir="core0" />
- <core name="core1" instanceDir="core1" />
-
- <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
- <str name="urlScheme">${urlScheme:}</str>
- </shardHandlerFactory>
- </cores>
-
</solr>
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/shared/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/shared/solr.xml?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/shared/solr.xml (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/shared/solr.xml Sun Feb 8 23:53:14 2015
@@ -16,20 +16,45 @@
limitations under the License.
-->
+<solr>
+
+ <str name="shareSchema">${shareSchema:false}</str>
+ <str name="configSetBaseDir">${configSetBaseDir:../configsets}</str>
+ <str name="coreRootDirectory">${coreRootDirectory:.}</str>
+
+ <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
+ <str name="urlScheme">${urlScheme:}</str>
+ <int name="socketTimeout">${socketTimeout:90000}</int>
+ <int name="connTimeout">${connTimeout:15000}</int>
+ </shardHandlerFactory>
+
+ <solrcloud>
+ <str name="host">127.0.0.1</str>
+ <int name="hostPort">${hostPort:8983}</int>
+ <str name="hostContext">${hostContext:solr}</str>
+ <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
+ <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
+ <int name="leaderVoteWait">0</int>
+ <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:45000}</int>
+ <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:340000}</int>
+ </solrcloud>
+
+</solr>
+
<!--
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="false">
<property name="version" value="1.3"/>
<property name="lang" value="english, french"/>
- <!--
+
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via REST
- -->
+
<cores adminPath="/admin/cores" defaultCoreName="core0" host="127.0.0.1" hostPort="${hostPort:8983}" hostContext="${hostContext:solr}" zkClientTimeout="8000" genericCoreNodeNames="${genericCoreNodeNames:true}" configSetBaseDir="${configSetBase:configsets}">
<core name="collection1" instanceDir="." />
<core name="core0" instanceDir="${theInstanceDir:./}" dataDir="${dataDir1}" collection="${collection:acollection}">
@@ -46,3 +71,4 @@
</core>
</cores>
</solr>
+-->
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/solr.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/solr.xml?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/solr.xml (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test-files/solrj/solr/solr.xml Sun Feb 8 23:53:14 2015
@@ -16,24 +16,52 @@
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>
+
+ <str name="shareSchema">${shareSchema:false}</str>
+ <str name="configSetBaseDir">${configSetBaseDir:configsets}</str>
+ <str name="coreRootDirectory">${coreRootDirectory:.}</str>
+
+ <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
+ <str name="urlScheme">${urlScheme:}</str>
+ <int name="socketTimeout">${socketTimeout:90000}</int>
+ <int name="connTimeout">${connTimeout:15000}</int>
+ </shardHandlerFactory>
+
+ <solrcloud>
+ <str name="host">127.0.0.1</str>
+ <int name="hostPort">${hostPort:8983}</int>
+ <str name="hostContext">${hostContext:solr}</str>
+ <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int>
+ <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
+ <int name="leaderVoteWait">0</int>
+ <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:45000}</int>
+ <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:340000}</int>
+ </solrcloud>
+
+</solr>
+
+
+ <!--
+ 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="false">
- <!--
- 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}" shareSchema="${shareSchema:false}"
genericCoreNodeNames="${genericCoreNodeNames:true}" leaderVoteWait="0"
distribUpdateConnTimeout="${distribUpdateConnTimeout:45000}" distribUpdateSoTimeout="${distribUpdateSoTimeout:340000}">
<core name="collection1" instanceDir="collection1" shard="${shard:}" collection="${collection:collection1}" />
- <!--config="${solrconfig:solrconfig.xml}" schema="${schema:schema.xml}"/-->
+
<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
<str name="urlScheme">${urlScheme:}</str>
<int name="socketTimeout">${socketTimeout:90000}</int>
@@ -41,3 +69,4 @@
</shardHandlerFactory>
</cores>
</solr>
+-->
\ No newline at end of file
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java Sun Feb 8 23:53:14 2015
@@ -118,7 +118,7 @@ public abstract class LargeVolumeTestBas
log.info("Caught benign exception during commit: " + e.getMessage());
}
if (!(client instanceof EmbeddedSolrServer)) {
- client.shutdown();
+ client.close();
}
} catch (Exception e) {
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java Sun Feb 8 23:53:14 2015
@@ -213,13 +213,13 @@ abstract public class SolrExampleTests e
if (jetty != null) {
// check system wide system handler + "/admin/info/system"
String url = jetty.getBaseUrl().toString();
- HttpSolrClient adminClient = new HttpSolrClient(url);
- SolrQuery q = new SolrQuery();
- q.set("qt", "/admin/info/system");
- QueryResponse rsp = adminClient.query(q);
- assertNotNull(rsp.getResponse().get("mode"));
- assertNotNull(rsp.getResponse().get("lucene"));
- adminClient.shutdown();
+ try (HttpSolrClient adminClient = new HttpSolrClient(url)) {
+ SolrQuery q = new SolrQuery();
+ q.set("qt", "/admin/info/system");
+ QueryResponse rsp = adminClient.query(q);
+ assertNotNull(rsp.getResponse().get("mode"));
+ assertNotNull(rsp.getResponse().get("lucene"));
+ }
}
}
@@ -256,7 +256,7 @@ abstract public class SolrExampleTests e
SolrQuery query = new SolrQuery();
query.setQuery( "*:*" );
- query.addSortField( "price", SolrQuery.ORDER.asc );
+ query.addSort(new SolrQuery.SortClause("price", SolrQuery.ORDER.asc));
QueryResponse rsp = client.query( query );
assertEquals(2, rsp.getResults().getNumFound());
@@ -495,7 +495,7 @@ abstract public class SolrExampleTests e
SolrQuery query = new SolrQuery();
query.setQuery( "*:*" );
query.set( CommonParams.FL, "id,price,[docid],[explain style=nl],score,aaa:[value v=aaa],ten:[value v=10 t=int]" );
- query.addSortField( "price", SolrQuery.ORDER.asc );
+ query.addSort(new SolrQuery.SortClause("price", SolrQuery.ORDER.asc));
QueryResponse rsp = client.query( query );
SolrDocumentList out = rsp.getResults();
@@ -547,7 +547,7 @@ abstract public class SolrExampleTests e
if (!(client instanceof EmbeddedSolrServer)) {
/* Do not close in case of using EmbeddedSolrServer,
* as that would close the CoreContainer */
- client.shutdown();
+ client.close();
}
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTestsBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTestsBase.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTestsBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTestsBase.java Sun Feb 8 23:53:14 2015
@@ -258,12 +258,14 @@ abstract public class SolrExampleTestsBa
assertEquals(10, cnt.get());
}
- protected void assertNumFound(String query, int num)
+ protected QueryResponse assertNumFound(String query, int num)
throws SolrServerException, IOException {
QueryResponse rsp = getSolrClient().query(new SolrQuery(query));
if (num != rsp.getResults().getNumFound()) {
fail("expected: " + num + " but had: " + rsp.getResults().getNumFound()
+ " :: " + rsp.getResults());
}
+ return rsp;
+
}
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExceptionTest.java Sun Feb 8 23:53:14 2015
@@ -17,7 +17,7 @@
package org.apache.solr.client.solrj;
-import org.apache.http.client.HttpClient;
+import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
@@ -34,15 +34,16 @@ public class SolrExceptionTest extends L
// this is a very simple test and most of the test should be considered verified
// if the compiler won't let you by without the try/catch
boolean gotExpectedError = false;
+ CloseableHttpClient httpClient = null;
try {
// switched to a local address to avoid going out on the net, ns lookup issues, etc.
// set a 1ms timeout to let the connection fail faster.
- HttpClient httpClient = HttpClientUtil.createClient(null);
+ httpClient = HttpClientUtil.createClient(null);
HttpClientUtil.setConnectionTimeout(httpClient, 1);
SolrClient client = new HttpSolrClient("http://[ff01::114]:11235/solr/", httpClient);
SolrQuery query = new SolrQuery("test123");
client.query(query);
- client.shutdown();
+ httpClient.close();
} catch (SolrServerException sse) {
gotExpectedError = true;
/***
@@ -50,6 +51,8 @@ public class SolrExceptionTest extends L
//If one is using OpenDNS, then you don't get UnknownHostException, instead you get back that the query couldn't execute
|| (sse.getRootCause().getClass() == SolrException.class && ((SolrException) sse.getRootCause()).code() == 302 && sse.getMessage().equals("Error executing query")));
***/
+ } finally {
+ if (httpClient != null) HttpClientUtil.close(httpClient);
}
assertTrue(gotExpectedError);
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java Sun Feb 8 23:53:14 2015
@@ -70,14 +70,14 @@ public class SolrQueryTest extends Lucen
b = q.removeFacetQuery("a:b");
Assert.assertEquals(null, q.getFacetQuery());
- q.addSortField("price", SolrQuery.ORDER.asc);
- q.addSortField("date", SolrQuery.ORDER.desc);
- q.addSortField("qty", SolrQuery.ORDER.desc);
- q.removeSortField("date", SolrQuery.ORDER.desc);
- Assert.assertEquals(2, q.getSortFields().length);
- q.removeSortField("price", SolrQuery.ORDER.asc);
- q.removeSortField("qty", SolrQuery.ORDER.desc);
- Assert.assertEquals(null, q.getSortFields());
+ q.addSort("price", SolrQuery.ORDER.asc);
+ q.addSort("date", SolrQuery.ORDER.desc);
+ q.addSort("qty", SolrQuery.ORDER.desc);
+ q.removeSort(new SortClause("date", SolrQuery.ORDER.desc));
+ Assert.assertEquals(2, q.getSorts().size());
+ q.removeSort(new SortClause("price", SolrQuery.ORDER.asc));
+ q.removeSort(new SortClause("qty", SolrQuery.ORDER.desc));
+ Assert.assertEquals(0, q.getSorts().size());
q.addHighlightField("hl1");
q.addHighlightField("hl2");
@@ -103,21 +103,6 @@ public class SolrQueryTest extends Lucen
// System.out.println(q);
}
-
- /*
- * Verifies that the old (deprecated) sort methods
- * allows mix-and-match between the raw field and
- * the itemized apis.
- */
- public void testSortFieldRawStringAndMethods() {
- SolrQuery q = new SolrQuery("dog");
- q.set("sort", "price asc,date desc,qty desc");
- q.removeSortField("date", SolrQuery.ORDER.desc);
- Assert.assertEquals(2, q.getSortFields().length);
- q.set("sort", "price asc, date desc, qty desc");
- q.removeSortField("date", SolrQuery.ORDER.desc);
- Assert.assertEquals(2, q.getSortFields().length);
- }
/*
* Verifies that you can use removeSortField() twice, which
@@ -125,13 +110,13 @@ public class SolrQueryTest extends Lucen
*/
public void testSortFieldRemoveAfterRemove() {
SolrQuery q = new SolrQuery("dog");
- q.addSortField("price", SolrQuery.ORDER.asc);
- q.addSortField("date", SolrQuery.ORDER.desc);
- q.addSortField("qty", SolrQuery.ORDER.desc);
- q.removeSortField("date", SolrQuery.ORDER.desc);
- Assert.assertEquals(2, q.getSortFields().length);
- q.removeSortField("qty", SolrQuery.ORDER.desc);
- Assert.assertEquals(1, q.getSortFields().length);
+ q.addSort("price", SolrQuery.ORDER.asc);
+ q.addSort("date", SolrQuery.ORDER.desc);
+ q.addSort("qty", SolrQuery.ORDER.desc);
+ q.removeSort("date");
+ Assert.assertEquals(2, q.getSorts().size());
+ q.removeSort("qty");
+ Assert.assertEquals(1, q.getSorts().size());
}
/*
@@ -140,9 +125,9 @@ public class SolrQueryTest extends Lucen
*/
public void testSortFieldRemoveLast() {
SolrQuery q = new SolrQuery("dog");
- q.addSortField("date", SolrQuery.ORDER.desc);
- q.addSortField("qty", SolrQuery.ORDER.desc);
- q.removeSortField("qty", SolrQuery.ORDER.desc);
+ q.addSort("date", SolrQuery.ORDER.desc);
+ q.addSort("qty", SolrQuery.ORDER.desc);
+ q.removeSort("qty");
Assert.assertEquals("date desc", q.getSortField());
}
@@ -276,9 +261,9 @@ public class SolrQueryTest extends Lucen
public void testFacetSortLegacy() {
SolrQuery q = new SolrQuery("dog");
- assertTrue("expected default value to be true", q.getFacetSort());
- q.setFacetSort(false);
- assertFalse("expected set value to be false", q.getFacetSort());
+ assertEquals("expected default value to be SORT_COUNT", FacetParams.FACET_SORT_COUNT, q.getFacetSortString());
+ q.setFacetSort(FacetParams.FACET_SORT_INDEX);
+ assertEquals("expected set value to be SORT_INDEX", FacetParams.FACET_SORT_INDEX, q.getFacetSortString());
}
public void testFacetNumericRange() {
@@ -343,7 +328,7 @@ public class SolrQueryTest extends Lucen
assertEquals("foo", q.setFacetPrefix("foo").get( FacetParams.FACET_PREFIX, null ) );
assertEquals("foo", q.setFacetPrefix("a", "foo").getFieldParam( "a", FacetParams.FACET_PREFIX, null ) );
- assertEquals( Boolean.TRUE, q.setMissing(Boolean.TRUE.toString()).getBool( FacetParams.FACET_MISSING ) );
+ assertEquals( Boolean.TRUE, q.setFacetMissing(Boolean.TRUE).getBool( FacetParams.FACET_MISSING ) );
assertEquals( Boolean.FALSE, q.setFacetMissing( Boolean.FALSE ).getBool( FacetParams.FACET_MISSING ) );
assertEquals( "true", q.setParam( "xxx", true ).getParams( "xxx" )[0] );
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java Sun Feb 8 23:53:14 2015
@@ -25,6 +25,8 @@ import org.apache.http.entity.InputStrea
import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
import org.apache.solr.client.solrj.impl.BinaryResponseParser;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.response.QueryResponse;
+import org.apache.solr.common.SolrDocument;
import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -34,7 +36,11 @@ import org.slf4j.LoggerFactory;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.OutputStreamWriter;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
import java.util.Properties;
+import java.util.Set;
public class SolrSchemalessExampleTest extends SolrExampleTestsBase {
private static Logger log = LoggerFactory.getLogger(SolrSchemalessExampleTest.class);
@@ -83,6 +89,46 @@ public class SolrSchemalessExampleTest e
assertNumFound("*:*", 2);
}
+ @Test
+ public void testFieldMutating() throws Exception {
+ HttpSolrClient client = (HttpSolrClient) getSolrClient();
+ client.deleteByQuery("*:*");
+ client.commit();
+ assertNumFound("*:*", 0); // make sure it got in
+ // two docs, one with uniqueKey, another without it
+ String json = "{\"name one\": \"name\"} " +
+ "{\"name two\" : \"name\"}" +
+ "{\"first-second\" : \"name\"}" +
+ "{\"x+y\" : \"name\"}" +
+ "{\"p%q\" : \"name\"}" +
+ "{\"p.q\" : \"name\"}" +
+ "{\"a&b\" : \"name\"}"
+ ;
+ HttpClient httpClient = client.getHttpClient();
+ HttpPost post = new HttpPost(client.getBaseURL() + "/update/json/docs");
+ post.setHeader("Content-Type", "application/json");
+ post.setEntity(new InputStreamEntity(new ByteArrayInputStream(json.getBytes("UTF-8")), -1));
+ HttpResponse response = httpClient.execute(post);
+ assertEquals(200, response.getStatusLine().getStatusCode());
+ client.commit();
+ List<String> expected = Arrays.asList(
+ "name_one",
+ "name__two",
+ "first-second",
+ "a_b",
+ "p_q",
+ "p.q",
+ "x_y");
+ HashSet set = new HashSet();
+ QueryResponse rsp = assertNumFound("*:*", expected.size());
+ for (SolrDocument doc : rsp.getResults()) set.addAll(doc.getFieldNames());
+ for (String s : expected) {
+ assertTrue(s+" not created "+ rsp ,set.contains(s) );
+ }
+
+ }
+
+
@Override
public SolrClient createNewSolrClient() {
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java Sun Feb 8 23:53:14 2015
@@ -18,8 +18,9 @@
package org.apache.solr.client.solrj;
import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.bio.SocketConnector;
+import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.webapp.WebAppContext;
/**
@@ -32,9 +33,9 @@ public class StartSolrJetty
//System.setProperty("solr.solr.home", "../../../example/solr");
Server server = new Server();
- SocketConnector connector = new SocketConnector();
+ ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory());
// Set some timeout options to make debugging easier.
- connector.setMaxIdleTime(1000 * 60 * 60);
+ connector.setIdleTimeout(1000 * 60 * 60);
connector.setSoLingerTime(-1);
connector.setPort(8983);
server.setConnectors(new Connector[] { connector });
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java Sun Feb 8 23:53:14 2015
@@ -20,7 +20,7 @@ package org.apache.solr.client.solrj;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import junit.framework.Assert;
import org.apache.commons.io.FileUtils;
-import org.apache.http.client.HttpClient;
+import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.QuickPatchThreadsFilter;
@@ -41,6 +41,7 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -61,7 +62,7 @@ public class TestLBHttpSolrClient extend
private static final Logger log = LoggerFactory.getLogger(TestLBHttpSolrClient.class);
SolrInstance[] solr = new SolrInstance[3];
- HttpClient httpClient;
+ CloseableHttpClient httpClient;
// TODO: fix this test to not require FSDirectory
static String savedFactory;
@@ -104,16 +105,13 @@ public class TestLBHttpSolrClient extend
doc.addField("name", solrInstance.name);
docs.add(doc);
}
- HttpSolrClient client = new HttpSolrClient(solrInstance.getUrl(), httpClient);
SolrResponseBase resp;
- try {
+ try (HttpSolrClient client = new HttpSolrClient(solrInstance.getUrl(), httpClient)) {
resp = client.add(docs);
assertEquals(0, resp.getStatus());
resp = client.commit();
- } finally {
- client.shutdown();
+ assertEquals(0, resp.getStatus());
}
- assertEquals(0, resp.getStatus());
}
@Override
@@ -123,7 +121,7 @@ public class TestLBHttpSolrClient extend
aSolr.tearDown();
}
}
- httpClient.getConnectionManager().shutdown();
+ httpClient.close();
super.tearDown();
}
@@ -205,23 +203,26 @@ public class TestLBHttpSolrClient extend
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(HttpClientUtil.PROP_CONNECTION_TIMEOUT, 250);
params.set(HttpClientUtil.PROP_SO_TIMEOUT, 250);
- HttpClient myHttpClient = HttpClientUtil.createClient(params);
-
- LBHttpSolrClient client = new LBHttpSolrClient(myHttpClient, s);
- client.setAliveCheckInterval(500);
-
- // Kill a server and test again
- solr[1].jetty.stop();
- solr[1].jetty = null;
-
- // query the servers
- for (String value : s)
- client.query(new SolrQuery("*:*"));
-
- // Start the killed server once again
- solr[1].startJetty();
- // Wait for the alive check to complete
- waitForServer(30000, client, 3, "solr1");
+ CloseableHttpClient myHttpClient = HttpClientUtil.createClient(params);
+ try {
+ LBHttpSolrClient client = new LBHttpSolrClient(myHttpClient, s);
+ client.setAliveCheckInterval(500);
+
+ // Kill a server and test again
+ solr[1].jetty.stop();
+ solr[1].jetty = null;
+
+ // query the servers
+ for (String value : s)
+ client.query(new SolrQuery("*:*"));
+
+ // Start the killed server once again
+ solr[1].startJetty();
+ // Wait for the alive check to complete
+ waitForServer(30000, client, 3, "solr1");
+ } finally {
+ myHttpClient.close();
+ }
}
// wait maximum ms for serverName to come back up
@@ -263,7 +264,7 @@ public class TestLBHttpSolrClient extend
}
public String getUrl() {
- return buildUrl(port, "/solr");
+ return buildUrl(port, "/solr/collection1");
}
public String getSchemaFile() {
@@ -298,6 +299,7 @@ public class TestLBHttpSolrClient extend
FileUtils.copyFile(SolrTestCaseJ4.getFile(getSolrConfigFile()), f);
f = new File(confDir, "schema.xml");
FileUtils.copyFile(SolrTestCaseJ4.getFile(getSchemaFile()), f);
+ Files.createFile(homeDir.toPath().resolve("collection1/core.properties"));
}
public void tearDown() throws Exception {
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java Sun Feb 8 23:53:14 2015
@@ -28,8 +28,9 @@ import org.apache.solr.SolrJettyTestBase
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.util.ExternalPaths;
import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.bio.SocketConnector;
+import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.session.HashSessionIdManager;
import org.eclipse.jetty.webapp.WebAppContext;
import org.junit.Rule;
@@ -71,8 +72,8 @@ public class JettyWebappTest extends Sol
server.setSessionIdManager(new HashSessionIdManager(new Random(random().nextLong())));
new WebAppContext(server, path, context );
- SocketConnector connector = new SocketConnector();
- connector.setMaxIdleTime(1000 * 60 * 60);
+ ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory());
+ connector.setIdleTimeout(1000 * 60 * 60);
connector.setSoLingerTime(-1);
connector.setPort(0);
server.setConnectors(new Connector[]{connector});
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java Sun Feb 8 23:53:14 2015
@@ -76,30 +76,30 @@ public class SolrExampleStreamingTest ex
public void testWaitOptions() throws Exception {
// SOLR-3903
final List<Throwable> failures = new ArrayList<>();
- ConcurrentUpdateSolrClient concurrentClient = new ConcurrentUpdateSolrClient
+ try (ConcurrentUpdateSolrClient concurrentClient = new ConcurrentUpdateSolrClient
(jetty.getBaseUrl().toString() + "/collection1", 2, 2) {
@Override
public void handleError(Throwable ex) {
failures.add(ex);
}
- };
-
- int docId = 42;
- for (UpdateRequest.ACTION action : EnumSet.allOf(UpdateRequest.ACTION.class)) {
- for (boolean waitSearch : Arrays.asList(true, false)) {
- for (boolean waitFlush : Arrays.asList(true, false)) {
- UpdateRequest updateRequest = new UpdateRequest();
- SolrInputDocument document = new SolrInputDocument();
- document.addField("id", docId++ );
- updateRequest.add(document);
- updateRequest.setAction(action, waitSearch, waitFlush);
- concurrentClient.request(updateRequest);
+ }) {
+
+ int docId = 42;
+ for (UpdateRequest.ACTION action : EnumSet.allOf(UpdateRequest.ACTION.class)) {
+ for (boolean waitSearch : Arrays.asList(true, false)) {
+ for (boolean waitFlush : Arrays.asList(true, false)) {
+ UpdateRequest updateRequest = new UpdateRequest();
+ SolrInputDocument document = new SolrInputDocument();
+ document.addField("id", docId++);
+ updateRequest.add(document);
+ updateRequest.setAction(action, waitSearch, waitFlush);
+ concurrentClient.request(updateRequest);
+ }
}
}
+ concurrentClient.commit();
+ concurrentClient.blockUntilFinished();
}
- concurrentClient.commit();
- concurrentClient.blockUntilFinished();
- concurrentClient.shutdown();
if (0 != failures.size()) {
assertEquals(failures.size() + " Unexpected Exception, starting with...",
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServer.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServer.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServer.java Sun Feb 8 23:53:14 2015
@@ -17,12 +17,8 @@ package org.apache.solr.client.solrj.emb
* limitations under the License.
*/
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
+import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
import junit.framework.Assert;
-
import org.apache.solr.core.SolrCore;
import org.junit.Rule;
import org.junit.rules.RuleChain;
@@ -30,7 +26,10 @@ import org.junit.rules.TestRule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
public class TestEmbeddedSolrServer extends AbstractEmbeddedSolrServerTestCase {
@@ -55,9 +54,9 @@ public class TestEmbeddedSolrServer exte
Assert.assertEquals(cores, ((EmbeddedSolrServer)getSolrCore1()).getCoreContainer());
}
- public void testShutdown() {
+ public void testClose() throws IOException {
- EmbeddedSolrServer solrServer = (EmbeddedSolrServer)getSolrCore0();
+ EmbeddedSolrServer solrServer = (EmbeddedSolrServer) getSolrCore0();
Assert.assertEquals(3, cores.getCores().size());
List<SolrCore> solrCores = new ArrayList<>();
@@ -66,7 +65,7 @@ public class TestEmbeddedSolrServer exte
solrCores.add(solrCore);
}
- solrServer.shutdown();
+ solrServer.close();
Assert.assertEquals(0, cores.getCores().size());
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java Sun Feb 8 23:53:14 2015
@@ -19,16 +19,14 @@ package org.apache.solr.client.solrj.emb
import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
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.request.AbstractUpdateRequest.ACTION;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.CoreAdminResponse;
import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.core.SolrXMLCoresLocator;
-import org.apache.solr.util.TestHarness;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.RuleChain;
@@ -67,9 +65,6 @@ public class TestSolrProperties extends
@Test
public void testProperties() throws Exception {
- SolrXMLCoresLocator.NonPersistingLocator locator
- = (SolrXMLCoresLocator.NonPersistingLocator) cores.getCoresLocator();
-
UpdateRequest up = new UpdateRequest();
up.setAction(ACTION.COMMIT, true, true);
up.deleteByQuery("*:*");
@@ -139,33 +134,6 @@ public class TestSolrProperties extends
long after = mcr.getStartTime(name).getTime();
assertTrue("should have more recent time: " + after + "," + before, after > before);
- TestHarness.validateXPath(locator.xml,
- "/solr/cores[@defaultCoreName='core0']",
- "/solr/cores[@host='127.0.0.1']",
- "/solr/cores[@hostPort='${hostPort:8983}']",
- "/solr/cores[@zkClientTimeout='8000']",
- "/solr/cores[@hostContext='${hostContext:solr}']",
- "/solr/cores[@genericCoreNodeNames='${genericCoreNodeNames:true}']"
- );
-
- CoreAdminRequest.renameCore(name, "renamed_core", coreadmin);
-
- TestHarness.validateXPath(locator.xml,
- "/solr/cores/core[@name='renamed_core']",
- "/solr/cores/core[@instanceDir='${theInstanceDir:./}']",
- "/solr/cores/core[@collection='${collection:acollection}']"
- );
-
- coreadmin = getRenamedSolrAdmin();
- File dataDir = new File(tempDir,"data3");
- File tlogDir = new File(tempDir,"tlog3");
-
- CoreAdminRequest.createCore("newCore", SOLR_HOME.getAbsolutePath(),
- coreadmin, null, null, dataDir.getAbsolutePath(),
- tlogDir.getAbsolutePath());
-
- TestHarness.validateXPath(locator.xml, "/solr/cores/core[@name='collection1' and @instanceDir='.']");
-
}
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java Sun Feb 8 23:53:14 2015
@@ -20,8 +20,8 @@ package org.apache.solr.client.solrj.imp
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.solr.SolrJettyTestBase;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest;
@@ -158,17 +158,16 @@ public class BasicHttpSolrClientTest ext
@Test
public void testTimeout() throws Exception {
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() +
- "/slow/foo");
+
SolrQuery q = new SolrQuery("*:*");
- client.setSoTimeout(2000);
- try {
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/slow/foo")) {
+ client.setSoTimeout(2000);
QueryResponse response = client.query(q, METHOD.GET);
fail("No exception thrown.");
} catch (SolrServerException e) {
assertTrue(e.getMessage().contains("Timeout"));
}
- client.shutdown();
+
}
/**
@@ -181,9 +180,7 @@ public class BasicHttpSolrClientTest ext
assertEquals(status + " didn't generate an UNKNOWN error code, someone modified the list of valid ErrorCode's w/o changing this test to work a different way",
ErrorCode.UNKNOWN, ErrorCode.getErrorCode(status));
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() +
- "/debug/foo");
- try {
+ try ( HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo")) {
DebugServlet.setErrorCode(status);
try {
SolrQuery q = new SolrQuery("foo");
@@ -194,285 +191,300 @@ public class BasicHttpSolrClientTest ext
assertEquals("Unexpected exception status code", status, e.code());
}
} finally {
- client.shutdown();
DebugServlet.clear();
}
}
@Test
- public void testQuery(){
+ public void testQuery() throws IOException {
DebugServlet.clear();
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo");
- SolrQuery q = new SolrQuery("foo");
- q.setParam("a", "\u1234");
- try {
- client.query(q, METHOD.GET);
- } catch (Throwable t) {}
-
- //default method
- assertEquals("get", DebugServlet.lastMethod);
- //agent
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- //default wt
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
- //default version
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- //agent
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- //keepalive
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
- //content-type
- assertEquals(null, DebugServlet.headers.get("Content-Type"));
- //param encoding
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo")) {
+ SolrQuery q = new SolrQuery("foo");
+ q.setParam("a", "\u1234");
+ try {
+ client.query(q, METHOD.GET);
+ } catch (Throwable t) {
+ }
- //POST
- DebugServlet.clear();
- try {
- client.query(q, METHOD.POST);
- } catch (Throwable t) {}
- assertEquals("post", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
- assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+ //default method
+ assertEquals("get", DebugServlet.lastMethod);
+ //agent
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ //default wt
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ //default version
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ //agent
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ //keepalive
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ //content-type
+ assertEquals(null, DebugServlet.headers.get("Content-Type"));
+ //param encoding
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- //PUT
- DebugServlet.clear();
- try {
- client.query(q, METHOD.PUT);
- } catch (Throwable t) {}
- assertEquals("put", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
- assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+ //POST
+ DebugServlet.clear();
+ try {
+ client.query(q, METHOD.POST);
+ } catch (Throwable t) {
+ }
+ assertEquals("post", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
- //XML/GET
- client.setParser(new XMLResponseParser());
- DebugServlet.clear();
- try {
- client.query(q, METHOD.GET);
- } catch (Throwable t) {}
- assertEquals("get", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ //PUT
+ DebugServlet.clear();
+ try {
+ client.query(q, METHOD.PUT);
+ } catch (Throwable t) {
+ }
+ assertEquals("put", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
- //XML/POST
- client.setParser(new XMLResponseParser());
- DebugServlet.clear();
- try {
- client.query(q, METHOD.POST);
- } catch (Throwable t) {}
- assertEquals("post", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
- assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+ //XML/GET
+ client.setParser(new XMLResponseParser());
+ DebugServlet.clear();
+ try {
+ client.query(q, METHOD.GET);
+ } catch (Throwable t) {
+ }
+ assertEquals("get", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+
+ //XML/POST
+ client.setParser(new XMLResponseParser());
+ DebugServlet.clear();
+ try {
+ client.query(q, METHOD.POST);
+ } catch (Throwable t) {
+ }
+ assertEquals("post", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+
+ client.setParser(new XMLResponseParser());
+ DebugServlet.clear();
+ try {
+ client.query(q, METHOD.PUT);
+ } catch (Throwable t) {
+ }
+ assertEquals("put", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+ }
- client.setParser(new XMLResponseParser());
- DebugServlet.clear();
- try {
- client.query(q, METHOD.PUT);
- } catch (Throwable t) {}
- assertEquals("put", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
- assertEquals("application/x-www-form-urlencoded; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
- client.shutdown();
}
@Test
- public void testDelete(){
+ public void testDelete() throws IOException {
DebugServlet.clear();
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo");
- try {
- client.deleteById("id");
- } catch (Throwable t) {}
-
- //default method
- assertEquals("post", DebugServlet.lastMethod);
- //agent
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- //default wt
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
- //default version
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- //agent
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- //keepalive
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo")) {
+ try {
+ client.deleteById("id");
+ } catch (Throwable t) {
+ }
+
+ //default method
+ assertEquals("post", DebugServlet.lastMethod);
+ //agent
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ //default wt
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ //default version
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ //agent
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ //keepalive
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+
+ //XML
+ client.setParser(new XMLResponseParser());
+ try {
+ client.deleteByQuery("*:*");
+ } catch (Throwable t) {
+ }
+
+ assertEquals("post", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
+ }
- //XML
- client.setParser(new XMLResponseParser());
- try {
- client.deleteByQuery("*:*");
- } catch (Throwable t) {}
-
- assertEquals("post", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals("keep-alive", DebugServlet.headers.get("Connection"));
- client.shutdown();
}
@Test
- public void testUpdate(){
+ public void testUpdate() throws IOException {
DebugServlet.clear();
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo");
- UpdateRequest req = new UpdateRequest();
- req.add(new SolrInputDocument());
- req.setParam("a", "\u1234");
- try {
- client.request(req);
- } catch (Throwable t) {}
-
- //default method
- assertEquals("post", DebugServlet.lastMethod);
- //agent
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- //default wt
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
- //default version
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- //content type
- assertEquals("application/xml; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
- //parameter encoding
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo")) {
+ UpdateRequest req = new UpdateRequest();
+ req.add(new SolrInputDocument());
+ req.setParam("a", "\u1234");
+ try {
+ client.request(req);
+ } catch (Throwable t) {
+ }
+
+ //default method
+ assertEquals("post", DebugServlet.lastMethod);
+ //agent
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ //default wt
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ //default version
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ //content type
+ assertEquals("application/xml; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+ //parameter encoding
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+
+ //XML response
+ client.setParser(new XMLResponseParser());
+ try {
+ client.request(req);
+ } catch (Throwable t) {
+ }
+ assertEquals("post", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals("application/xml; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+
+ //javabin request
+ client.setParser(new BinaryResponseParser());
+ client.setRequestWriter(new BinaryRequestWriter());
+ DebugServlet.clear();
+ try {
+ client.request(req);
+ } catch (Throwable t) {
+ }
+ assertEquals("post", DebugServlet.lastMethod);
+ assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
+ assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
+ assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
+ assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
+ assertEquals("application/javabin", DebugServlet.headers.get("Content-Type"));
+ assertEquals(1, DebugServlet.parameters.get("a").length);
+ assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
+ }
- //XML response
- client.setParser(new XMLResponseParser());
- try {
- client.request(req);
- } catch (Throwable t) {}
- assertEquals("post", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals("application/xml; charset=UTF-8", DebugServlet.headers.get("Content-Type"));
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
-
- //javabin request
- client.setParser(new BinaryResponseParser());
- client.setRequestWriter(new BinaryRequestWriter());
- DebugServlet.clear();
- try {
- client.request(req);
- } catch (Throwable t) {}
- assertEquals("post", DebugServlet.lastMethod);
- assertEquals("Solr[" + HttpSolrClient.class.getName() + "] 1.0", DebugServlet.headers.get("User-Agent"));
- assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length);
- assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]);
- assertEquals(1, DebugServlet.parameters.get(CommonParams.VERSION).length);
- assertEquals(client.getParser().getVersion(), DebugServlet.parameters.get(CommonParams.VERSION)[0]);
- assertEquals("application/javabin", DebugServlet.headers.get("Content-Type"));
- assertEquals(1, DebugServlet.parameters.get("a").length);
- assertEquals("\u1234", DebugServlet.parameters.get("a")[0]);
- client.shutdown();
}
@Test
public void testRedirect() throws Exception {
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/redirect/foo");
- SolrQuery q = new SolrQuery("*:*");
- // default = false
- try {
- QueryResponse response = client.query(q);
- fail("Should have thrown an exception.");
- } catch (SolrServerException e) {
- assertTrue(e.getMessage().contains("redirect"));
- }
- client.setFollowRedirects(true);
- try {
- QueryResponse response = client.query(q);
- } catch (Throwable t) {
- fail("Exception was thrown:" + t);
- }
- //And back again:
- client.setFollowRedirects(false);
- try {
- QueryResponse response = client.query(q);
- fail("Should have thrown an exception.");
- } catch (SolrServerException e) {
- assertTrue(e.getMessage().contains("redirect"));
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/redirect/foo")) {
+ SolrQuery q = new SolrQuery("*:*");
+ // default = false
+ try {
+ QueryResponse response = client.query(q);
+ fail("Should have thrown an exception.");
+ } catch (SolrServerException e) {
+ assertTrue(e.getMessage().contains("redirect"));
+ }
+ client.setFollowRedirects(true);
+ try {
+ QueryResponse response = client.query(q);
+ } catch (Throwable t) {
+ fail("Exception was thrown:" + t);
+ }
+ //And back again:
+ client.setFollowRedirects(false);
+ try {
+ QueryResponse response = client.query(q);
+ fail("Should have thrown an exception.");
+ } catch (SolrServerException e) {
+ assertTrue(e.getMessage().contains("redirect"));
+ }
}
- client.shutdown();
+
}
@Test
public void testCompression() throws Exception {
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo");
- SolrQuery q = new SolrQuery("*:*");
-
- // verify request header gets set
- DebugServlet.clear();
- try {
- client.query(q);
- } catch (Throwable t) {}
- assertNull(DebugServlet.headers.get("Accept-Encoding"));
- client.setAllowCompression(true);
- try {
- client.query(q);
- } catch (Throwable t) {}
- assertNotNull(DebugServlet.headers.get("Accept-Encoding"));
- client.setAllowCompression(false);
- try {
- client.query(q);
- } catch (Throwable t) {}
- assertNull(DebugServlet.headers.get("Accept-Encoding"));
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo")) {
+ SolrQuery q = new SolrQuery("*:*");
+
+ // verify request header gets set
+ DebugServlet.clear();
+ try {
+ client.query(q);
+ } catch (Throwable t) {}
+ assertNull(DebugServlet.headers.get("Accept-Encoding"));
+ client.setAllowCompression(true);
+ try {
+ client.query(q);
+ } catch (Throwable t) {}
+ assertNotNull(DebugServlet.headers.get("Accept-Encoding"));
+ client.setAllowCompression(false);
+ try {
+ client.query(q);
+ } catch (Throwable t) {}
+ assertNull(DebugServlet.headers.get("Accept-Encoding"));
+ }
// verify server compresses output
HttpGet get = new HttpGet(jetty.getBaseUrl().toString() + "/collection1" +
"/select?q=foo&wt=xml");
get.setHeader("Accept-Encoding", "gzip");
- HttpClient httpclient = HttpClientUtil.createClient(null);
+ CloseableHttpClient httpclient = HttpClientUtil.createClient(null);
HttpEntity entity = null;
try {
HttpResponse response = httpclient.execute(get);
@@ -484,46 +496,50 @@ public class BasicHttpSolrClientTest ext
if(entity!=null) {
entity.getContent().close();
}
- httpclient.getConnectionManager().shutdown();
+ httpclient.close();
}
// verify compressed response can be handled
- client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/collection1");
- client.setAllowCompression(true);
- q = new SolrQuery("foo");
- QueryResponse response = client.query(q);
- assertEquals(0, response.getStatus());
- client.shutdown();
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/collection1")) {
+ client.setAllowCompression(true);
+ SolrQuery q = new SolrQuery("foo");
+ QueryResponse response = client.query(q);
+ assertEquals(0, response.getStatus());
+ }
}
@Test
- public void testSetParametersExternalClient(){
- HttpClient httpClient = HttpClientUtil.createClient(null);
- HttpSolrClient solrClient = new HttpSolrClient(jetty.getBaseUrl().toString(),
- httpClient);
- try {
- solrClient.setMaxTotalConnections(1);
- fail("Operation should not succeed.");
- } catch (UnsupportedOperationException e) {}
- try {
- solrClient.setDefaultMaxConnectionsPerHost(1);
- fail("Operation should not succeed.");
- } catch (UnsupportedOperationException e) {}
- solrClient.shutdown();
- httpClient.getConnectionManager().shutdown();
+ public void testSetParametersExternalClient() throws IOException{
+
+ try (CloseableHttpClient httpClient = HttpClientUtil.createClient(null);
+ HttpSolrClient solrClient = new HttpSolrClient(jetty.getBaseUrl().toString(), httpClient)) {
+
+ try {
+ solrClient.setMaxTotalConnections(1);
+ fail("Operation should not succeed.");
+ } catch (UnsupportedOperationException e) {}
+ try {
+ solrClient.setDefaultMaxConnectionsPerHost(1);
+ fail("Operation should not succeed.");
+ } catch (UnsupportedOperationException e) {}
+
+ }
}
@Test
public void testGetRawStream() throws SolrServerException, IOException{
- HttpClient client = HttpClientUtil.createClient(null);
- HttpSolrClient solrClient = new HttpSolrClient(jetty.getBaseUrl().toString() + "/collection1",
- client, null);
- QueryRequest req = new QueryRequest();
- NamedList response = solrClient.request(req);
- InputStream stream = (InputStream)response.get("stream");
- assertNotNull(stream);
- stream.close();
- client.getConnectionManager().shutdown();
+ CloseableHttpClient client = HttpClientUtil.createClient(null);
+ try {
+ HttpSolrClient solrClient = new HttpSolrClient(jetty.getBaseUrl().toString() + "/collection1",
+ client, null);
+ QueryRequest req = new QueryRequest();
+ NamedList response = solrClient.request(req);
+ InputStream stream = (InputStream)response.get("stream");
+ assertNotNull(stream);
+ stream.close();
+ } finally {
+ client.close();
+ }
}
/**
@@ -597,55 +613,55 @@ public class BasicHttpSolrClientTest ext
@Test
public void testQueryString() throws Exception {
- HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() +
- "/debug/foo");
-
- // test without request query params
- DebugServlet.clear();
- client.setQueryParams(setOf("serverOnly"));
- UpdateRequest req = new UpdateRequest();
- setReqParamsOf(req, "serverOnly", "notServer");
- try {
- client.request(req);
- } catch (Throwable t) {}
- verifyServletState(client, req);
- // test without server query params
- DebugServlet.clear();
- client.setQueryParams(setOf());
- req = new UpdateRequest();
- req.setQueryParams(setOf("requestOnly"));
- setReqParamsOf(req, "requestOnly", "notRequest");
- try {
- client.request(req);
- } catch (Throwable t) {}
- verifyServletState(client, req);
-
- // test with both request and server query params
- DebugServlet.clear();
- req = new UpdateRequest();
- client.setQueryParams(setOf("serverOnly", "both"));
- req.setQueryParams(setOf("requestOnly", "both"));
- setReqParamsOf(req, "serverOnly", "requestOnly", "both", "neither");
- try {
- client.request(req);
- } catch (Throwable t) {}
- verifyServletState(client, req);
-
- // test with both request and server query params with single stream
- DebugServlet.clear();
- req = new UpdateRequest();
- req.add(new SolrInputDocument());
- client.setQueryParams(setOf("serverOnly", "both"));
- req.setQueryParams(setOf("requestOnly", "both"));
- setReqParamsOf(req, "serverOnly", "requestOnly", "both", "neither");
- try {
- client.request(req);
- } catch (Throwable t) {}
- // NOTE: single stream requests send all the params
- // as part of the query string. So add "neither" to the request
- // so it passes the verification step.
- req.setQueryParams(setOf("requestOnly", "both", "neither"));
- verifyServletState(client, req);
+ try (HttpSolrClient client = new HttpSolrClient(jetty.getBaseUrl().toString() + "/debug/foo")) {
+ // test without request query params
+ DebugServlet.clear();
+ client.setQueryParams(setOf("serverOnly"));
+ UpdateRequest req = new UpdateRequest();
+ setReqParamsOf(req, "serverOnly", "notServer");
+ try {
+ client.request(req);
+ } catch (Throwable t) {}
+ verifyServletState(client, req);
+
+ // test without server query params
+ DebugServlet.clear();
+ client.setQueryParams(setOf());
+ req = new UpdateRequest();
+ req.setQueryParams(setOf("requestOnly"));
+ setReqParamsOf(req, "requestOnly", "notRequest");
+ try {
+ client.request(req);
+ } catch (Throwable t) {}
+ verifyServletState(client, req);
+
+ // test with both request and server query params
+ DebugServlet.clear();
+ req = new UpdateRequest();
+ client.setQueryParams(setOf("serverOnly", "both"));
+ req.setQueryParams(setOf("requestOnly", "both"));
+ setReqParamsOf(req, "serverOnly", "requestOnly", "both", "neither");
+ try {
+ client.request(req);
+ } catch (Throwable t) {}
+ verifyServletState(client, req);
+
+ // test with both request and server query params with single stream
+ DebugServlet.clear();
+ req = new UpdateRequest();
+ req.add(new SolrInputDocument());
+ client.setQueryParams(setOf("serverOnly", "both"));
+ req.setQueryParams(setOf("requestOnly", "both"));
+ setReqParamsOf(req, "serverOnly", "requestOnly", "both", "neither");
+ try {
+ client.request(req);
+ } catch (Throwable t) {}
+ // NOTE: single stream requests send all the params
+ // as part of the query string. So add "neither" to the request
+ // so it passes the verification step.
+ req.setQueryParams(setOf("requestOnly", "both", "neither"));
+ verifyServletState(client, req);
+ }
}
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientMultiConstructorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientMultiConstructorTest.java?rev=1658277&r1=1658276&r2=1658277&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientMultiConstructorTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientMultiConstructorTest.java Sun Feb 8 23:53:14 2015
@@ -4,6 +4,7 @@ import org.apache.lucene.util.LuceneTest
import org.apache.lucene.util.TestUtil;
import org.junit.Test;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashSet;
@@ -35,7 +36,7 @@ public class CloudSolrClientMultiConstru
Collection<String> hosts;
@Test
- public void testWithChroot() {
+ public void testWithChroot() throws IOException {
boolean setOrList = random().nextBoolean();
int numOfZKServers = TestUtil.nextInt(random(), 1, 5);
boolean withChroot = random().nextBoolean();
@@ -43,7 +44,6 @@ public class CloudSolrClientMultiConstru
final String chroot = "/mychroot";
StringBuilder sb = new StringBuilder();
- CloudSolrClient client;
if(setOrList) {
/*
@@ -62,15 +62,16 @@ public class CloudSolrClientMultiConstru
if(i<numOfZKServers -1) sb.append(",");
}
- if(withChroot) {
+ String clientChroot = null;
+ if (withChroot) {
sb.append(chroot);
- client = new CloudSolrClient(hosts, "/mychroot");
- } else {
- client = new CloudSolrClient(hosts, null);
+ clientChroot = "/mychroot";
+ }
+
+ try (CloudSolrClient client = new CloudSolrClient(hosts, clientChroot)) {
+ assertEquals(sb.toString(), client.getZkHost());
}
- assertEquals(sb.toString(), client.getZkHost());
- client.shutdown();
}
@Test(expected = IllegalArgumentException.class)