Search in sources :

Example 46 with HashMap

use of java.util.HashMap in project camel by apache.

the class RemoveHeadersTest method testRemoveHeadersRegEx.

public void testRemoveHeadersRegEx() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:end");
    mock.expectedBodiesReceived("Hello World");
    mock.expectedHeaderReceived("duck", "Donald");
    mock.expectedHeaderReceived("BeerHeineken", "Good");
    Map<String, Object> headers = new HashMap<String, Object>();
    headers.put("dudeCool", "cool");
    headers.put("dudeWicket", "wicket");
    headers.put("duck", "Donald");
    headers.put("BeerCarlsberg", "Great");
    headers.put("BeerTuborg", "Also Great");
    headers.put("BeerHeineken", "Good");
    template.sendBodyAndHeaders("direct:start", "Hello World", headers);
    assertMockEndpointsSatisfied();
    // breadcrumb is a header added as well so we expect 3
    assertEquals(3, mock.getReceivedExchanges().get(0).getIn().getHeaders().size());
}
Also used : MockEndpoint(org.apache.camel.component.mock.MockEndpoint) HashMap(java.util.HashMap)

Example 47 with HashMap

use of java.util.HashMap in project camel by apache.

the class AlbertoAggregatorTest method createRouteBuilder.

@Override
protected RouteBuilder createRouteBuilder() throws Exception {
    return new RouteBuilder() {

        AggregationStrategy surnameAggregator = new AggregationStrategy() {

            @SuppressWarnings("unchecked")
            public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
                debugIn("Surname Aggregator", oldExchange, newExchange);
                Exchange answer = newExchange;
                if (oldExchange != null) {
                    List<String> brothers = oldExchange.getIn().getBody(List.class);
                    brothers.add(newExchange.getIn().getBody(String.class));
                    answer = oldExchange;
                } else {
                    List<String> brothers = new ArrayList<String>();
                    brothers.add(newExchange.getIn().getBody(String.class));
                    newExchange.getIn().setBody(brothers);
                }
                debugOut("Surname Aggregator", answer);
                return answer;
            }
        };

        @SuppressWarnings("unchecked")
        AggregationStrategy brothersAggregator = new AggregationStrategy() {

            public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
                debugIn("Brothers Aggregator", oldExchange, newExchange);
                Exchange answer = newExchange;
                if (oldExchange != null) {
                    Map<String, List<?>> brothers = oldExchange.getIn().getBody(Map.class);
                    brothers.put(newExchange.getIn().getHeader(SURNAME_HEADER, String.class), newExchange.getIn().getBody(List.class));
                    answer = oldExchange;
                } else {
                    Map<String, List<?>> brothers = new HashMap<String, List<?>>();
                    brothers.put(newExchange.getIn().getHeader(SURNAME_HEADER, String.class), newExchange.getIn().getBody(List.class));
                    newExchange.getIn().setBody(brothers);
                }
                debugOut("Brothers Aggregator", answer);
                return answer;
            }
        };

        private void debugIn(String stringId, Exchange oldExchange, Exchange newExchange) {
            if (oldExchange != null) {
                log.debug(stringId + " old headers in: " + oldExchange.getIn().getHeaders());
                log.debug(stringId + " old body in: " + oldExchange.getIn().getBody());
            }
            log.debug(stringId + " new headers in: " + newExchange.getIn().getHeaders());
            log.debug(stringId + " new body in: " + newExchange.getIn().getBody());
        }

        private void debugOut(String stringId, Exchange exchange) {
            log.debug(stringId + " old headers out: " + exchange.getIn().getHeaders());
            log.debug(stringId + " old body out: " + exchange.getIn().getBody());
        }

        @Override
        public void configure() throws Exception {
            from("direct:start").split(bodyAs(String.class).tokenize(",")).process(// header
            new Processor() {

                public void process(Exchange exchange) throws Exception {
                    String[] parts = exchange.getIn().getBody(String.class).split(" ");
                    exchange.getIn().setBody(parts[0]);
                    exchange.getIn().setHeader(SURNAME_HEADER, parts[1]);
                }
            }).to("direct:joinSurnames");
            from("direct:joinSurnames").aggregate(header(SURNAME_HEADER), surnameAggregator).completionTimeout(2000L).setHeader(TYPE_HEADER, constant(BROTHERS_TYPE)).to("direct:joinBrothers");
            // Join all brothers lists and remove surname and type headers
            AggregateDefinition agg = from("direct:joinBrothers").aggregate(header(TYPE_HEADER), brothersAggregator);
            agg.setCompletionTimeout(2000L);
            agg.removeHeader(SURNAME_HEADER).removeHeader(TYPE_HEADER).to("mock:result");
        }
    };
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) RouteBuilder(org.apache.camel.builder.RouteBuilder) List(java.util.List) ArrayList(java.util.ArrayList) AggregateDefinition(org.apache.camel.model.AggregateDefinition) Map(java.util.Map) HashMap(java.util.HashMap) AggregationStrategy(org.apache.camel.processor.aggregate.AggregationStrategy)

Example 48 with HashMap

use of java.util.HashMap in project camel by apache.

the class AlbertoAggregatorTest method testAggregator.

public void testAggregator() throws Exception {
    String allNames = "Harpo Marx,Fiodor Karamazov,Chico Marx,Ivan Karamazov,Groucho Marx,Alexei Karamazov,Dimitri Karamazov";
    List<String> marxBrothers = new ArrayList<String>();
    marxBrothers.add("Harpo");
    marxBrothers.add("Chico");
    marxBrothers.add("Groucho");
    List<String> karamazovBrothers = new ArrayList<String>();
    karamazovBrothers.add("Fiodor");
    karamazovBrothers.add("Ivan");
    karamazovBrothers.add("Alexei");
    karamazovBrothers.add("Dimitri");
    Map<String, List<String>> allBrothers = new HashMap<String, List<String>>();
    allBrothers.put("Marx", marxBrothers);
    allBrothers.put("Karamazov", karamazovBrothers);
    MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
    resultEndpoint.expectedMessageCount(1);
    resultEndpoint.expectedBodiesReceived(allBrothers);
    template.sendBody("direct:start", allNames);
    assertMockEndpointsSatisfied();
}
Also used : HashMap(java.util.HashMap) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList)

Example 49 with HashMap

use of java.util.HashMap in project camel by apache.

the class BatchGetItemsCommand method execute.

@Override
public void execute() {
    BatchGetItemResult result = ddbClient.batchGetItem(new BatchGetItemRequest().withRequestItems(determineBatchItems()));
    Map tmp = new HashMap<>();
    tmp.put(DdbConstants.BATCH_RESPONSE, result.getResponses());
    tmp.put(DdbConstants.UNPROCESSED_KEYS, result.getUnprocessedKeys());
    addToResults(tmp);
}
Also used : BatchGetItemRequest(com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest) BatchGetItemResult(com.amazonaws.services.dynamodbv2.model.BatchGetItemResult) HashMap(java.util.HashMap) Map(java.util.Map) HashMap(java.util.HashMap)

Example 50 with HashMap

use of java.util.HashMap in project camel by apache.

the class ProcessBuilder method findOrCreateActivityDefinition.

// Implementation methods
// -------------------------------------------------------------------------
public ActivityDefinition findOrCreateActivityDefinition(String activityName) {
    ProcessDefinition definition = getProcessDefinition();
    Map<String, Object> params = new HashMap<String, Object>(2);
    params.put("definition", definition);
    params.put("name", activityName);
    List<ActivityDefinition> list = entityManagerTemplate.find(ActivityDefinition.class, "select x from " + QueryUtils.getTypeName(ActivityDefinition.class) + " x where x.processDefinition = :definition and x.name = :name", params);
    if (!list.isEmpty()) {
        return list.get(0);
    } else {
        ActivityDefinition answer = new ActivityDefinition();
        answer.setName(activityName);
        answer.setProcessDefinition(ProcessDefinition.getRefreshedProcessDefinition(entityManagerTemplate, definition));
        entityManagerTemplate.persist(answer);
        return answer;
    }
}
Also used : HashMap(java.util.HashMap) ProcessDefinition(org.apache.camel.bam.model.ProcessDefinition) ActivityDefinition(org.apache.camel.bam.model.ActivityDefinition)

Aggregations

HashMap (java.util.HashMap)24090 ArrayList (java.util.ArrayList)5632 Map (java.util.Map)5586 Test (org.junit.Test)5079 List (java.util.List)2721 HashSet (java.util.HashSet)2103 IOException (java.io.IOException)1780 Set (java.util.Set)1465 File (java.io.File)1206 Iterator (java.util.Iterator)1198 LinkedHashMap (java.util.LinkedHashMap)1138 Test (org.testng.annotations.Test)884 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)680 Date (java.util.Date)545 LinkedList (java.util.LinkedList)494 URI (java.net.URI)415 Properties (java.util.Properties)381 InputStream (java.io.InputStream)343 Collection (java.util.Collection)342 TreeMap (java.util.TreeMap)333