Search in sources :

Example 6 with Map

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;
}
Also used : SearchRequest(org.elasticsearch.action.search.SearchRequest) MultiSearchRequest(org.elasticsearch.action.search.MultiSearchRequest) JsonNode(com.fasterxml.jackson.databind.JsonNode) IOException(java.io.IOException) Map(java.util.Map) XContentBuilder(org.elasticsearch.common.xcontent.XContentBuilder) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) SearchSourceBuilder(org.elasticsearch.search.builder.SearchSourceBuilder) Converter(org.apache.camel.Converter)

Example 7 with Map

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"));
}
Also used : MockEndpoint(org.apache.camel.component.mock.MockEndpoint) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap) Test(org.junit.Test)

Example 8 with Map

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"));
}
Also used : List(java.util.List) Map(java.util.Map) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Test(org.junit.Test)

Example 9 with Map

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();
}
Also used : MockEndpoint(org.apache.camel.component.mock.MockEndpoint) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap) Test(org.junit.Test)

Example 10 with Map

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"));
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Aggregations

Map (java.util.Map)15646 HashMap (java.util.HashMap)9529 ArrayList (java.util.ArrayList)3619 List (java.util.List)2988 Test (org.junit.Test)2558 Set (java.util.Set)1837 HashSet (java.util.HashSet)1646 IOException (java.io.IOException)1486 Iterator (java.util.Iterator)1307 LinkedHashMap (java.util.LinkedHashMap)1284 TreeMap (java.util.TreeMap)1022 ImmutableMap (com.google.common.collect.ImmutableMap)879 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)729 File (java.io.File)662 Collection (java.util.Collection)576 Collectors (java.util.stream.Collectors)436 ConcurrentMap (java.util.concurrent.ConcurrentMap)375 LinkedList (java.util.LinkedList)333 SSOException (com.iplanet.sso.SSOException)294 Collections (java.util.Collections)288