use of java.util.Map in project camel by apache.
the class ElasticsearchActionRequestConverter method toSearchRequest.
@Converter
public static SearchRequest toSearchRequest(Object queryObject, Exchange exchange) {
SearchRequest searchRequest = new SearchRequest(exchange.getIn().getHeader(ElasticsearchConstants.PARAM_INDEX_NAME, String.class)).types(exchange.getIn().getHeader(ElasticsearchConstants.PARAM_INDEX_TYPE, String.class));
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
String queryText = null;
if (queryObject instanceof Map<?, ?>) {
Map<String, Object> mapQuery = (Map<String, Object>) queryObject;
// Remove 'query' prefix from the query object for backward compatibility
if (mapQuery.containsKey(ElasticsearchConstants.ES_QUERY_DSL_PREFIX)) {
mapQuery = (Map<String, Object>) mapQuery.get(ElasticsearchConstants.ES_QUERY_DSL_PREFIX);
}
try {
XContentBuilder contentBuilder = XContentFactory.contentBuilder(XContentType.JSON);
queryText = contentBuilder.map(mapQuery).string();
} catch (IOException e) {
LOG.error(e.getMessage());
}
} else if (queryObject instanceof String) {
queryText = (String) queryObject;
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode jsonTextObject = mapper.readValue(queryText, JsonNode.class);
JsonNode parentJsonNode = jsonTextObject.get(ElasticsearchConstants.ES_QUERY_DSL_PREFIX);
if (parentJsonNode != null) {
queryText = parentJsonNode.toString();
}
} catch (IOException e) {
LOG.error(e.getMessage());
}
} else {
// Cannot convert the queryObject into SearchRequest
return null;
}
searchSourceBuilder.query(QueryBuilders.wrapperQuery(queryText));
searchRequest.source(searchSourceBuilder);
return searchRequest;
}
use of java.util.Map in project camel by apache.
the class FlatpackFixedLengthDataFormatTest method testMarshalWithDefinition.
@Test
public void testMarshalWithDefinition() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:marshal");
// by default we get on big message
mock.expectedMessageCount(1);
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
Map<String, Object> row = new LinkedHashMap<String, Object>();
row.put("FIRSTNAME", "JOHN");
row.put("LASTNAME", "DOE");
row.put("ADDRESS", "1234 CIRCLE CT");
row.put("CITY", "ELYRIA");
row.put("STATE", "OH");
row.put("ZIP", "44035");
data.add(row);
template.sendBody("direct:marshal", data);
assertMockEndpointsSatisfied();
String s = mock.getExchanges().get(0).getIn().getBody(String.class);
assertTrue(s.startsWith("JOHN DOE"));
}
use of java.util.Map in project camel by apache.
the class NoSplitRowsTest method testHeaderAndTrailer.
@Test
public void testHeaderAndTrailer() throws Exception {
results.expectedMessageCount(1);
results.message(0).body().isInstanceOf(List.class);
results.message(0).header("camelFlatpackCounter").isEqualTo(6);
results.assertIsSatisfied();
List<Map<String, String>> data = CastUtils.cast(results.getExchanges().get(0).getIn().getBody(List.class));
// assert header
Map<String, String> header = data.get(0);
assertEquals("HBT", header.get("INDICATOR"));
assertEquals("20080817", header.get("DATE"));
// assert body
int counter = 0;
for (Map<String, String> row : data.subList(1, 5)) {
assertEquals("FIRSTNAME", expectedFirstName[counter], row.get("FIRSTNAME"));
LOG.info("Result: " + counter + " = " + row);
counter++;
}
// assert trailer
Map<String, String> trailer = data.get(5);
assertEquals("FBT", trailer.get("INDICATOR"));
assertEquals("SUCCESS", trailer.get("STATUS"));
}
use of java.util.Map in project camel by apache.
the class FlatpackDelimitedDataFormatTest method testMarshalWithDefinition.
@Test
public void testMarshalWithDefinition() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:marshal");
// by default we get on big message
mock.expectedMessageCount(1);
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
Map<String, Object> row = new LinkedHashMap<String, Object>();
row.put("ITEM_DESC", "SOME VALVE");
row.put("IN_STOCK", "2");
row.put("PRICE", "5.00");
row.put("LAST_RECV_DT", "20050101");
data.add(row);
Map<String, Object> row2 = new LinkedHashMap<String, Object>();
row2.put("ITEM_DESC", "AN ENGINE");
row2.put("IN_STOCK", "100");
row2.put("PRICE", "1000.00");
row2.put("LAST_RECV_DT", "20040601");
data.add(row2);
template.sendBody("direct:marshal", data);
assertMockEndpointsSatisfied();
}
use of java.util.Map in project camel by apache.
the class FreemarkerTest method testFreemarkerDataModel.
@Test
public void testFreemarkerDataModel() throws Exception {
Exchange exchange = template.request("direct:a", new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
exchange.getIn().setBody("");
exchange.getIn().setHeader("name", "Christian");
Map<String, Object> variableMap = new HashMap<String, Object>();
Map<String, Object> headersMap = new HashMap<String, Object>();
headersMap.put("name", "Willem");
variableMap.put("headers", headersMap);
variableMap.put("body", "Monday");
variableMap.put("exchange", exchange);
exchange.getIn().setHeader(FreemarkerConstants.FREEMARKER_DATA_MODEL, variableMap);
exchange.setProperty("item", "7");
}
});
assertEquals("Dear Willem. You ordered item 7 on Monday.", exchange.getOut().getBody());
assertEquals("Christian", exchange.getOut().getHeader("name"));
}
Aggregations