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/08 05:30:26 UTC
[5/8] camel git commit: CAMEL-9194
ElasticsearchActionRequestConverter should support more than just map object
for the SearchRequest
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/63437c6b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/63437c6b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/63437c6b
Branch: refs/heads/camel-2.16.x
Commit: 63437c6be480e1dd96ce737d2016c75a36ecab52
Parents: 925265c
Author: Willem Jiang <wi...@gmail.com>
Authored: Tue Oct 6 17:26:32 2015 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Thu Oct 8 11:25:12 2015 +0800
----------------------------------------------------------------------
.../ElasticsearchActionRequestConverter.java | 23 +++++++++++++++-----
1 file changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/63437c6b/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