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());
}
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");
}
};
}
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();
}
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);
}
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;
}
}
Aggregations