You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2017/03/23 11:50:31 UTC
[44/46] lucene-solr:jira/solr-9959: SOLR-9184: Add a static
convenience method ModifiableSolrParams#of(SolrParams) which returns the same
instance if it already is modifiable,
otherwise creates a new ModifiableSolrParams instance.
SOLR-9184: Add a static convenience method ModifiableSolrParams#of(SolrParams) which returns the same instance if it already is modifiable, otherwise creates a new ModifiableSolrParams instance.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/583fec1a
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/583fec1a
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/583fec1a
Branch: refs/heads/jira/solr-9959
Commit: 583fec1a58b41a0562529e6228a29728a790d87c
Parents: eb58777
Author: koji <ko...@apache.org>
Authored: Thu Mar 23 14:57:45 2017 +0900
Committer: koji <ko...@apache.org>
Committed: Thu Mar 23 14:57:45 2017 +0900
----------------------------------------------------------------------
solr/CHANGES.txt | 7 ++++++
.../common/params/ModifiableSolrParams.java | 13 ++++++++++
.../common/params/ModifiableSolrParamsTest.java | 26 ++++++++++++++++++++
3 files changed, 46 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/583fec1a/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 2bfc981..d6aba02 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -116,6 +116,13 @@ New Features
* SOLR-9994: Add support for CollapseQParser with PointFields. (Varun Thacker, Cao Manh Dat)
+Optimizations
+----------------------
+
+* SOLR-9184: Add a static convenience method ModifiableSolrParams#of(SolrParams) which returns the same
+ instance if it already is modifiable, otherwise creates a new ModifiableSolrParams instance.
+ (J�rg Rathlev via Koji)
+
================== 6.5.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/583fec1a/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java b/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
index e3cb499..da6bcf1 100644
--- a/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
+++ b/solr/solrj/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
@@ -54,6 +54,19 @@ public class ModifiableSolrParams extends SolrParams
}
}
+ /**
+ * If the input params are of type MofifiableSolrParams, returns the input, otherwise, constructs a new
+ * ModifiableSolrParams, copying values from the given params. If params is null, returns an empty
+ * ModifiableSolrParams instance.
+ */
+ public static ModifiableSolrParams of(SolrParams params)
+ {
+ if (params instanceof ModifiableSolrParams) {
+ return (ModifiableSolrParams) params;
+ }
+ return new ModifiableSolrParams(params);
+ }
+
public int size() {
return vals == null ? 0 : vals.size();
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/583fec1a/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java b/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
index b65b607..c315b08 100644
--- a/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
+++ b/solr/solrj/src/test/org/apache/solr/common/params/ModifiableSolrParamsTest.java
@@ -18,6 +18,9 @@ package org.apache.solr.common.params;
import org.apache.lucene.util.LuceneTestCase;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* Unit Test Case for {@link org.apache.solr.common.params.ModifiableSolrParams
* ModifiableSolrParams}
@@ -39,6 +42,29 @@ public class ModifiableSolrParamsTest extends LuceneTestCase {
super.tearDown();
}
+ public void testOf() throws Exception
+ {
+ String key = "key";
+ String value = "value";
+
+ // input is not of type ModifiableSolrParams
+ Map<String, String> values = new HashMap<>();
+ values.put(key, value);
+ SolrParams mapParams = new MapSolrParams(values);
+ ModifiableSolrParams result = ModifiableSolrParams.of(mapParams);
+ assertNotSame(mapParams, result);
+ assertEquals(value, result.get(key));
+
+ // input is of type ModifiableSolrParams
+ modifiable.add(key, value);
+ result = ModifiableSolrParams.of(modifiable);
+ assertSame(result, modifiable);
+
+ // input is null
+ result = ModifiableSolrParams.of(null);
+ assertNotNull(result);
+ assertEquals(0, result.size());
+ }
public void testAdd()
{