You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by er...@apache.org on 2017/07/16 16:10:26 UTC
lucene-solr:branch_7x: SOLR-11075: Refactor handling of params in
CloudSolrStream and FacetStream
Repository: lucene-solr
Updated Branches:
refs/heads/branch_7x 924879ff1 -> dc28374be
SOLR-11075: Refactor handling of params in CloudSolrStream and FacetStream
(cherry picked from commit b17ec14)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/dc28374b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/dc28374b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/dc28374b
Branch: refs/heads/branch_7x
Commit: dc28374bea6592c1ba1f9b3436427bf5d7c9edeb
Parents: 924879f
Author: Erick <er...@apache.org>
Authored: Sun Jul 16 09:05:07 2017 -0700
Committer: Erick <er...@apache.org>
Committed: Sun Jul 16 09:06:50 2017 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 1 +
.../client/solrj/io/stream/CloudSolrStream.java | 22 ++++++--------------
.../client/solrj/io/stream/FacetStream.java | 12 +++++------
3 files changed, 13 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dc28374b/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 452c19c..3cd0cb4 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -70,6 +70,7 @@ Other Changes
* SOLR-10964: Reduce SolrIndexSearcher casting in LTRRescorer. (Christine Poerschke)
+* SOLR-11075: Refactor handling of params in CloudSolrStream and FacetStream (Erick Erickson)
================== 7.0.0 ==================
Versions of Major Components
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dc28374b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
index 7fe98a3..73bceb0 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
@@ -73,7 +73,7 @@ public class CloudSolrStream extends TupleStream implements Expressible {
protected String zkHost;
protected String collection;
- protected SolrParams params;
+ protected ModifiableSolrParams params;
protected Map<String, String> fieldMappings;
protected StreamComparator comp;
private boolean trace;
@@ -172,23 +172,13 @@ public class CloudSolrStream extends TupleStream implements Expressible {
// collection
expression.addParameter(collection);
- ModifiableSolrParams mParams = new ModifiableSolrParams(SolrParams.toMultiMap(params.toNamedList()));
- for (Entry<String, String[]> param : mParams.getMap().entrySet()) {
-
- if(param.getKey().equals("fq")) {
- for(String fqParam : param.getValue()) {
- // See comment below for params containg a " character
- expression.addParameter(new StreamExpressionNamedParameter(param.getKey(),
- fqParam.replace("\"", "\\\"")));
- }
- } else {
- String value = String.join(",", param.getValue());
-
- // SOLR-8409: This is a special case where the params contain a " character
+ for (Entry<String, String[]> param : params.getMap().entrySet()) {
+ for (String val : param.getValue()) {
+ // SOLR-8409: Escaping the " is a special case.
// Do note that in any other BASE streams with parameters where a " might come into play
// that this same replacement needs to take place.
- value = value.replace("\"", "\\\"");
- expression.addParameter(new StreamExpressionNamedParameter(param.getKey(), value));
+ expression.addParameter(new StreamExpressionNamedParameter(param.getKey(),
+ val.replace("\"", "\\\"")));
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dc28374b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
index fb53e84..e11bf02 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
@@ -66,7 +66,7 @@ public class FacetStream extends TupleStream implements Expressible {
private List<Tuple> tuples = new ArrayList<Tuple>();
private int index;
private String zkHost;
- private SolrParams params;
+ private ModifiableSolrParams params;
private String collection;
protected transient SolrClientCache cache;
protected transient CloudSolrClient cloudSolrClient;
@@ -216,7 +216,7 @@ public class FacetStream extends TupleStream implements Expressible {
private void init(String collection, SolrParams params, Bucket[] buckets, FieldComparator[] bucketSorts, Metric[] metrics, int bucketSizeLimit, String zkHost) throws IOException {
this.zkHost = zkHost;
- this.params = params;
+ this.params = new ModifiableSolrParams(params);
this.buckets = buckets;
this.metrics = metrics;
this.bucketSizeLimit = bucketSizeLimit;
@@ -242,11 +242,11 @@ public class FacetStream extends TupleStream implements Expressible {
expression.addParameter(collection);
// parameters
- ModifiableSolrParams tmpParams = new ModifiableSolrParams(params);
- for (Entry<String, String[]> param : tmpParams.getMap().entrySet()) {
- expression.addParameter(new StreamExpressionNamedParameter(param.getKey(),
- String.join(",", param.getValue())));
+ for (Entry<String, String[]> param : params.getMap().entrySet()) {
+ for (String val : param.getValue()) {
+ expression.addParameter(new StreamExpressionNamedParameter(param.getKey(), val));
+ }
}
// buckets