You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2015/10/06 11:26:49 UTC

camel git commit: CAMEL-9194 ElasticsearchActionRequestConverter should support more than just map object for the SearchRequest

Repository: camel
Updated Branches:
  refs/heads/master c216b4f9f -> ad4b82aff


CAMEL-9194 ElasticsearchActionRequestConverter should support more than just map object for the SearchRequest


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

Branch: refs/heads/master
Commit: ad4b82aff1614ffd3cff09ee73cbc83e7d8d8088
Parents: c216b4f
Author: Willem Jiang <wi...@gmail.com>
Authored: Tue Oct 6 17:26:32 2015 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Tue Oct 6 17:26:32 2015 +0800

----------------------------------------------------------------------
 .../ElasticsearchActionRequestConverter.java    | 23 +++++++++++++++-----
 1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/ad4b82af/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/converter/ElasticsearchActionRequestConverter.java
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/converter/ElasticsearchActionRequestConverter.java b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/converter/ElasticsearchActionRequestConverter.java
index b19c951..3a804f5 100644
--- a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/converter/ElasticsearchActionRequestConverter.java
+++ b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/converter/ElasticsearchActionRequestConverter.java
@@ -91,12 +91,23 @@ public final class ElasticsearchActionRequestConverter {
 
     @Converter
     public static SearchRequest toSearchRequest(Object queryObject, Exchange exchange) {
-        Map<?, ?> query = exchange.getContext().getTypeConverter().convertTo(Map.class, queryObject);
-        return new SearchRequest(exchange.getIn().getHeader(
-                ElasticsearchConstants.PARAM_INDEX_NAME, String.class))
-                .types(exchange.getIn().getHeader(
-                        ElasticsearchConstants.PARAM_INDEX_TYPE,
-                        String.class)).source(query);
+        SearchRequest searchRequest = new SearchRequest(exchange.getIn()
+                                                        .getHeader(ElasticsearchConstants.PARAM_INDEX_NAME, String.class))
+                                      .types(exchange.getIn().getHeader(ElasticsearchConstants.PARAM_INDEX_TYPE, String.class));
+        // Setup the query object into the search request
+        if (queryObject instanceof byte[]) { 
+            searchRequest.source((byte[]) queryObject);
+        } else if (queryObject instanceof Map) {
+            searchRequest.source((Map<String, Object>) queryObject);
+        } else if (queryObject instanceof String) {
+            searchRequest.source((String) queryObject);
+        } else if (queryObject instanceof XContentBuilder) {
+            searchRequest.source((XContentBuilder) queryObject);
+        } else {
+            // Cannot convert the queryObject into SearchRequest
+            return null;
+        }                                                                          
+        return searchRequest;
     }
 
     @Converter