Added the provision to pass Solr Params when pushing SolrInputDocuments.

This change is necessary when you intend to have an update processor chain to 
be trigerred or any such for which parameters are to be passed along with the 
url.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/40da9709
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/40da9709
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/40da9709

Branch: refs/heads/camel-2.18.x
Commit: 40da970914a969b159a852e25b0b26aaf3f96892
Parents: bf6a985
Author: Chirag Anand <[email protected]>
Authored: Mon Apr 24 10:43:08 2017 +0530
Committer: Claus Ibsen <[email protected]>
Committed: Mon Apr 24 10:24:26 2017 +0200

----------------------------------------------------------------------
 .../org/apache/camel/component/solr/SolrProducer.java | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/40da9709/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrProducer.java
 
b/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrProducer.java
index 0052b7d..2a662d6 100644
--- 
a/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrProducer.java
+++ 
b/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrProducer.java
@@ -137,6 +137,13 @@ public class SolrProducer extends DefaultProducer {
                 UpdateRequest updateRequest = new 
UpdateRequest(getRequestHandler());
                 updateRequest.add((SolrInputDocument) body);
 
+                for (Map.Entry<String, Object> entry : 
exchange.getIn().getHeaders().entrySet()) {
+                    if (entry.getKey().startsWith(SolrConstants.PARAM)) {
+                        String paramName = 
entry.getKey().substring(SolrConstants.PARAM.length());
+                        updateRequest.setParam(paramName, 
entry.getValue().toString());
+                    }
+                }
+
                 updateRequest.process(solrServer);
 
             } else if (body instanceof List<?>) {
@@ -146,6 +153,13 @@ public class SolrProducer extends DefaultProducer {
                     UpdateRequest updateRequest = new 
UpdateRequest(getRequestHandler());
                     updateRequest.add((List<SolrInputDocument>) list);
 
+                    for (Map.Entry<String, Object> entry : 
exchange.getIn().getHeaders().entrySet()) {
+                        if (entry.getKey().startsWith(SolrConstants.PARAM)) {
+                            String paramName = 
entry.getKey().substring(SolrConstants.PARAM.length());
+                            updateRequest.setParam(paramName, 
entry.getValue().toString());
+                        }
+                    }
+
                     updateRequest.process(solrServer);
                 } else {
                     invalid = true;

Reply via email to