use of org.apache.camel.Exchange in project Activiti by Activiti.
the class CamelVariableTransferTest method testCamelHeadersAll.
@Deployment(resources = { "org/activiti/camel/variables/CamelVariableTransferTest.testCamelPropertiesAll.bpmn20.xml" })
public void testCamelHeadersAll() throws Exception {
ProducerTemplate tpl = camelContext.createProducerTemplate();
Exchange exchange = camelContext.getEndpoint("direct:startAllProperties").createExchange();
tpl.send("direct:startAllProperties", exchange);
assertNotNull(taskService);
assertNotNull(runtimeService);
assertEquals(1, taskService.createTaskQuery().count());
Task task = taskService.createTaskQuery().singleResult();
assertNotNull(task);
Map<String, Object> variables = runtimeService.getVariables(task.getExecutionId());
assertEquals("sampleValueForProperty1", variables.get("property1"));
assertEquals("sampleValueForProperty2", variables.get("property2"));
assertEquals("sampleValueForProperty3", variables.get("property3"));
}
use of org.apache.camel.Exchange in project Activiti by Activiti.
the class CustomContextTest method testRunProcess.
@Deployment(resources = { "process/custom.bpmn20.xml" })
public void testRunProcess() throws Exception {
CamelContext ctx = applicationContext.getBean(CamelContext.class);
ProducerTemplate tpl = ctx.createProducerTemplate();
service1.expectedBodiesReceived("ala");
Exchange exchange = ctx.getEndpoint("direct:start").createExchange();
exchange.getIn().setBody(Collections.singletonMap("var1", "ala"));
tpl.send("direct:start", exchange);
String instanceId = (String) exchange.getProperty("PROCESS_ID_PROPERTY");
tpl.sendBodyAndProperty("direct:receive", null, ActivitiProducer.PROCESS_ID_PROPERTY, instanceId);
assertProcessEnded(instanceId);
service1.assertIsSatisfied();
@SuppressWarnings("rawtypes") Map m = service2.getExchanges().get(0).getIn().getBody(Map.class);
assertEquals("ala", m.get("var1"));
assertEquals("var2", m.get("var2"));
}
use of org.apache.camel.Exchange in project Activiti by Activiti.
the class EmptyProcessTest method testRunProcessWithHeader.
@Deployment(resources = { "process/empty.bpmn20.xml" })
public void testRunProcessWithHeader() throws Exception {
CamelContext ctx = applicationContext.getBean(CamelContext.class);
ProducerTemplate tpl = camelContext.createProducerTemplate();
String body = "body text";
Exchange exchange = ctx.getEndpoint("direct:startEmptyWithHeader").createExchange();
exchange.getIn().setBody(body);
tpl.send("direct:startEmptyWithHeader", exchange);
String instanceId = (String) exchange.getProperty("PROCESS_ID_PROPERTY");
assertProcessEnded(instanceId);
HistoricVariableInstance var = processEngine.getHistoryService().createHistoricVariableInstanceQuery().variableName("camelBody").singleResult();
assertNotNull(var);
assertEquals(body, var.getValue());
var = processEngine.getHistoryService().createHistoricVariableInstanceQuery().variableName("MyVar").singleResult();
assertNotNull(var);
assertEquals("Foo", var.getValue());
}
use of org.apache.camel.Exchange in project Activiti by Activiti.
the class EmptyProcessTest method testObjectAsVariable.
@Deployment(resources = { "process/empty.bpmn20.xml" })
public void testObjectAsVariable() throws Exception {
CamelContext ctx = applicationContext.getBean(CamelContext.class);
ProducerTemplate tpl = ctx.createProducerTemplate();
Object expectedObj = new Long(99);
Exchange exchange = ctx.getEndpoint("direct:startEmpty").createExchange();
exchange.getIn().setBody(expectedObj);
tpl.send("direct:startEmpty", exchange);
String instanceId = (String) exchange.getProperty("PROCESS_ID_PROPERTY");
assertProcessEnded(instanceId);
HistoricVariableInstance var = processEngine.getHistoryService().createHistoricVariableInstanceQuery().variableName("camelBody").singleResult();
assertNotNull(var);
assertEquals(expectedObj, var.getValue());
}
use of org.apache.camel.Exchange in project Activiti by Activiti.
the class CamelBehaviour method createExchange.
private Exchange createExchange(ActivityExecution activityExecution, ActivitiEndpoint endpoint) {
Exchange ex = new DefaultExchange(getContext(activityExecution));
Map<String, Object> variables = activityExecution.getVariables();
if (endpoint.isCopyVariablesToProperties()) {
for (Map.Entry<String, Object> var : variables.entrySet()) {
ex.setProperty(var.getKey(), var.getValue());
}
}
if (endpoint.isCopyVariablesToBodyAsMap()) {
ex.getIn().setBody(new HashMap<String, Object>(variables));
}
return ex;
}
Aggregations