This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch sandbox/camel-3.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6ec3c4ca50300b9e75e4db5de563cc566a95bbb3 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Fri Nov 16 09:28:34 2018 +0100 Camel-Jbpm: Fixed CS --- .../camel/component/jbpm/JBPMConfiguration.java | 28 ++-- .../apache/camel/component/jbpm/JBPMEndpoint.java | 12 +- .../apache/camel/component/jbpm/JBPMProducer.java | 148 +++++++++++++-------- .../jbpm/server/CamelKieServerExtension.java | 67 +++++----- .../jbpm/JBPMComponentIntegrationTest.java | 41 +++--- 5 files changed, 169 insertions(+), 127 deletions(-) diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java index 9633aaa..b415bfe 100644 --- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java +++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java @@ -30,11 +30,13 @@ import org.kie.api.task.model.Task; @UriParams public class JBPMConfiguration { - @UriPath @Metadata(required = "true") + @UriPath + @Metadata(required = "true") private URL connectionURL; @UriParam(label = "producer", defaultValue = "startProcess") private String operation; - @UriParam @Metadata(required = "true") + @UriParam + @Metadata(required = "true") private String deploymentId; @UriParam private Long processInstanceId; @@ -84,7 +86,7 @@ public class JBPMConfiguration { private Class[] extraJaxbClasses; @UriParam private Boolean emitterSendItems; - + @UriPath private String eventListenerType; @@ -159,7 +161,8 @@ public class JBPMConfiguration { } /** - * the data associated with this event when signalEvent operation is performed + * the data associated with this event when signalEvent operation is + * performed */ public void setEvent(Object event) { this.event = event; @@ -203,7 +206,7 @@ public class JBPMConfiguration { } /** - *the id of the task + * the id of the task */ public void setTaskId(Long taskId) { this.taskId = taskId; @@ -241,7 +244,7 @@ public class JBPMConfiguration { public void setPage(Integer page) { this.page = page; } - + public Integer getPageSize() { return pageSize; } @@ -374,7 +377,6 @@ public class JBPMConfiguration { this.extraJaxbClasses = extraJaxbClasses; } - public String getEventListenerType() { return eventListenerType; } @@ -385,13 +387,14 @@ public class JBPMConfiguration { public void setEventListenerType(String eventListenerType) { this.eventListenerType = eventListenerType; } - + public Boolean getEmitterSendItems() { return emitterSendItems; } /** - * Sets if event produced by emitter should be sent as single items or complete collection + * Sets if event produced by emitter should be sent as single items or + * complete collection */ public void setEmitterSendItems(Boolean emiterSendItems) { this.emitterSendItems = emiterSendItems; @@ -399,6 +402,11 @@ public class JBPMConfiguration { @Override public String toString() { - return "JBPMConfiguration [connectionURL=" + connectionURL + ", operation=" + operation + ", deploymentId=" + deploymentId + ", processInstanceId=" + processInstanceId + ", value=" + value + ", processId=" + processId + ", eventType=" + eventType + ", event=" + event + ", maxNumber=" + maxNumber + ", identifier=" + identifier + ", workItemId=" + workItemId + ", taskId=" + taskId + ", userId=" + userId + ", page=" + page + ", pageSize=" + pageSize + ", targetUserId=" + targetUserI [...] + return "JBPMConfiguration [connectionURL=" + connectionURL + ", operation=" + operation + ", deploymentId=" + deploymentId + ", processInstanceId=" + processInstanceId + + ", value=" + value + ", processId=" + processId + ", eventType=" + eventType + ", event=" + event + ", maxNumber=" + maxNumber + ", identifier=" + identifier + + ", workItemId=" + workItemId + ", taskId=" + taskId + ", userId=" + userId + ", page=" + page + ", pageSize=" + pageSize + ", targetUserId=" + targetUserId + + ", attachmentId=" + attachmentId + ", contentId=" + contentId + ", task=" + task + ", entities=" + entities + ", statuses=" + statuses + ", userName=" + userName + + ", password=" + password + ", timeout=" + timeout + ", parameters=" + parameters + ", extraJaxbClasses=" + Arrays.toString(extraJaxbClasses) + + ", eventListenerType=" + eventListenerType + "]"; } } diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMEndpoint.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMEndpoint.java index 4796336..b6060e8 100644 --- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMEndpoint.java +++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMEndpoint.java @@ -35,7 +35,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * The jbpm component provides integration with jBPM (Business Process Management). + * The jbpm component provides integration with jBPM (Business Process + * Management). */ @UriEndpoint(firstVersion = "2.6.0", scheme = "jbpm", title = "JBPM", syntax = "jbpm:connectionURL", label = "process") public class JBPMEndpoint extends DefaultEndpoint { @@ -50,8 +51,9 @@ public class JBPMEndpoint extends DefaultEndpoint { } public Producer createProducer() throws Exception { - KieServicesConfiguration kieConfiguration = KieServicesFactory.newRestConfiguration(configuration.getConnectionURL().toExternalForm(), configuration.getUserName(), configuration.getPassword()); - + KieServicesConfiguration kieConfiguration = KieServicesFactory.newRestConfiguration(configuration.getConnectionURL().toExternalForm(), configuration.getUserName(), + configuration.getPassword()); + if (configuration.getTimeout() != null) { kieConfiguration.setTimeout(configuration.getTimeout()); } @@ -59,8 +61,8 @@ public class JBPMEndpoint extends DefaultEndpoint { List<Class<?>> classes = Arrays.asList(configuration.getExtraJaxbClasses()); kieConfiguration.addExtraClasses(new LinkedHashSet<>(classes)); } - - KieServicesClient kieServerClient = KieServicesFactory.newKieServicesClient(kieConfiguration); + + KieServicesClient kieServerClient = KieServicesFactory.newKieServicesClient(kieConfiguration); LOGGER.debug("JBPM Producer created with KieServerClient configured for {}", configuration.getConnectionURL()); return new JBPMProducer(this, kieServerClient); } diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMProducer.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMProducer.java index 86571c9..d40c226 100644 --- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMProducer.java +++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMProducer.java @@ -49,15 +49,14 @@ public class JBPMProducer extends DefaultProducer { private static final transient Logger LOGGER = LoggerFactory.getLogger(JBPMProducer.class); private static KieCommands commandsFactory = KieServices.get().getCommands(); - + private JBPMConfiguration configuration; private KieServicesClient kieServicesClient; - public JBPMProducer(JBPMEndpoint endpoint, KieServicesClient kieServicesClient) { super(endpoint); this.configuration = endpoint.getConfiguration(); - this.kieServicesClient = kieServicesClient; + this.kieServicesClient = kieServicesClient; } @Override @@ -69,7 +68,7 @@ public class JBPMProducer extends DefaultProducer { @Override protected void doStop() throws Exception { - super.doStop(); + super.doStop(); } public void process(Exchange exchange) throws Exception { @@ -90,7 +89,7 @@ public class JBPMProducer extends DefaultProducer { enum Operation { - //PROCESS OPERATIONS + // PROCESS OPERATIONS startProcess { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { @@ -98,31 +97,36 @@ public class JBPMProducer extends DefaultProducer { Long processInstance = processClient.startProcess(configuration.getDeploymentId(), getProcessId(configuration, exchange), getParameters(configuration, exchange)); setResult(exchange, processInstance); } - }, abortProcessInstance { + }, + abortProcessInstance { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { ProcessServicesClient processClient = kieServicesClient.getServicesClient(ProcessServicesClient.class); processClient.abortProcessInstance(configuration.getDeploymentId(), safe(getProcessInstanceId(configuration, exchange))); } - }, signalEvent { + }, + signalEvent { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { ProcessServicesClient processClient = kieServicesClient.getServicesClient(ProcessServicesClient.class); Long processInstanceId = getProcessInstanceId(configuration, exchange); if (processInstanceId != null) { - processClient.signalProcessInstance(configuration.getDeploymentId(), processInstanceId, getEventType(configuration, exchange), getEvent(configuration, exchange)); + processClient.signalProcessInstance(configuration.getDeploymentId(), processInstanceId, getEventType(configuration, exchange), + getEvent(configuration, exchange)); } else { processClient.signal(configuration.getDeploymentId(), getEventType(configuration, exchange), getEvent(configuration, exchange)); } } - }, getProcessInstance { + }, + getProcessInstance { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { ProcessServicesClient processClient = kieServicesClient.getServicesClient(ProcessServicesClient.class); ProcessInstance processInstance = processClient.getProcessInstance(configuration.getDeploymentId(), safe(getProcessInstanceId(configuration, exchange))); setResult(exchange, processInstance); } - }, getProcessInstances { + }, + getProcessInstances { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { QueryServicesClient queryClient = kieServicesClient.getServicesClient(QueryServicesClient.class); @@ -131,24 +135,25 @@ public class JBPMProducer extends DefaultProducer { } }, - //RULE OPERATIONS + // RULE OPERATIONS fireAllRules { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { RuleServicesClient ruleClient = kieServicesClient.getServicesClient(RuleServicesClient.class); List<Command<?>> commands = new ArrayList<Command<?>>(); BatchExecutionCommand executionCommand = commandsFactory.newBatchExecution(commands); - + Integer max = getMaxNumber(configuration, exchange); if (max != null) { commands.add(commandsFactory.newFireAllRules(max)); } else { commands.add(commandsFactory.newFireAllRules()); } - ServiceResponse<ExecutionResults> reply = ruleClient.executeCommandsWithResults(configuration.getDeploymentId(), executionCommand); + ServiceResponse<ExecutionResults> reply = ruleClient.executeCommandsWithResults(configuration.getDeploymentId(), executionCommand); setResult(exchange, reply.getResult()); } - }, getGlobal { + }, + getGlobal { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { RuleServicesClient ruleClient = kieServicesClient.getServicesClient(RuleServicesClient.class); @@ -157,10 +162,11 @@ public class JBPMProducer extends DefaultProducer { String identifier = getIdentifier(configuration, exchange); commands.add(commandsFactory.newGetGlobal(identifier, identifier)); - ServiceResponse<ExecutionResults> reply = ruleClient.executeCommandsWithResults(configuration.getDeploymentId(), executionCommand); + ServiceResponse<ExecutionResults> reply = ruleClient.executeCommandsWithResults(configuration.getDeploymentId(), executionCommand); setResult(exchange, reply.getResult().getValue(identifier)); } - }, setGlobal { + }, + setGlobal { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { RuleServicesClient ruleClient = kieServicesClient.getServicesClient(RuleServicesClient.class); @@ -169,165 +175,196 @@ public class JBPMProducer extends DefaultProducer { commands.add(commandsFactory.newSetGlobal(getIdentifier(configuration, exchange), getValue(configuration, exchange))); - ruleClient.executeCommandsWithResults(configuration.getDeploymentId(), executionCommand); + ruleClient.executeCommandsWithResults(configuration.getDeploymentId(), executionCommand); } }, - //WORK ITEM OPERATIONS + // WORK ITEM OPERATIONS abortWorkItem { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { ProcessServicesClient processClient = kieServicesClient.getServicesClient(ProcessServicesClient.class); processClient.abortWorkItem(configuration.getDeploymentId(), safe(getProcessInstanceId(configuration, exchange)), safe(getWorkItemId(configuration, exchange))); } - }, completeWorkItem { + }, + completeWorkItem { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { ProcessServicesClient processClient = kieServicesClient.getServicesClient(ProcessServicesClient.class); - processClient.completeWorkItem(configuration.getDeploymentId(), safe(getProcessInstanceId(configuration, exchange)), safe(getWorkItemId(configuration, exchange)), getParameters(configuration, exchange)); + processClient.completeWorkItem(configuration.getDeploymentId(), safe(getProcessInstanceId(configuration, exchange)), safe(getWorkItemId(configuration, exchange)), + getParameters(configuration, exchange)); } }, - //TASK OPERATIONS + // TASK OPERATIONS activateTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.activateTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, claimTask { + }, + claimTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.claimTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, completeTask { + }, + completeTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - taskClient.completeAutoProgress(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), getParameters(configuration, exchange)); + taskClient.completeAutoProgress(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), + getParameters(configuration, exchange)); } - }, delegateTask { + }, + delegateTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - taskClient.delegateTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), getTargetUserId(configuration, exchange)); + taskClient.delegateTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), + getTargetUserId(configuration, exchange)); } - }, exitTask { + }, + exitTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.exitTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, failTask { + }, + failTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - taskClient.failTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), getParameters(configuration, exchange)); + taskClient.failTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), + getParameters(configuration, exchange)); } - }, getAttachment { + }, + getAttachment { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - TaskAttachment attachment = taskClient.getTaskAttachmentById(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), safe(getAttachmentId(configuration, exchange))); + TaskAttachment attachment = taskClient.getTaskAttachmentById(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), + safe(getAttachmentId(configuration, exchange))); setResult(exchange, attachment); } - }, getTasksAssignedAsBusinessAdministrator { + }, + getTasksAssignedAsBusinessAdministrator { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - List<TaskSummary> taskSummaries = taskClient.findTasksAssignedAsBusinessAdministrator(getUserId(configuration, exchange), getPage(configuration, exchange), getPageSize(configuration, exchange)); + List<TaskSummary> taskSummaries = taskClient.findTasksAssignedAsBusinessAdministrator(getUserId(configuration, exchange), getPage(configuration, exchange), + getPageSize(configuration, exchange)); setResult(exchange, taskSummaries); } - }, getTasksAssignedAsPotentialOwnerByStatus { + }, + getTasksAssignedAsPotentialOwnerByStatus { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - List<TaskSummary> taskSummaries = taskClient.findTasksAssignedAsPotentialOwner(getUserId(configuration, exchange), getStatuses(configuration, exchange), getPage(configuration, exchange), getPageSize(configuration, exchange)); + List<TaskSummary> taskSummaries = taskClient.findTasksAssignedAsPotentialOwner(getUserId(configuration, exchange), getStatuses(configuration, exchange), + getPage(configuration, exchange), getPageSize(configuration, exchange)); setResult(exchange, taskSummaries); } - }, getTaskByWorkItem { + }, + getTaskByWorkItem { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); TaskInstance task = taskClient.findTaskByWorkItemId(safe(getWorkItemId(configuration, exchange))); setResult(exchange, task); } - }, getTaskBy { + }, + getTaskBy { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); TaskInstance task = taskClient.findTaskById(safe(getTaskId(configuration, exchange))); setResult(exchange, task); } - }, getTaskContent { + }, + getTaskContent { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); Map<String, Object> content = taskClient.getTaskOutputContentByTaskId(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange))); setResult(exchange, content); } - }, getTasksByProcessInstance { + }, + getTasksByProcessInstance { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); List<TaskSummary> processInstanceIds = taskClient.findTasksByStatusByProcessInstanceId(safe(getProcessInstanceId(configuration, exchange)), Collections.emptyList(), - getPage(configuration, exchange), getPageSize(configuration, exchange)); + getPage(configuration, exchange), getPageSize(configuration, exchange)); setResult(exchange, processInstanceIds); } - }, getTasksByStatusByProcessInstance { + }, + getTasksByStatusByProcessInstance { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - List<TaskSummary> taskSummaryList = taskClient.findTasksByStatusByProcessInstanceId( - safe(getProcessInstanceId(configuration, exchange)), getStatuses(configuration, exchange), - getPage(configuration, exchange), getPageSize(configuration, exchange)); + List<TaskSummary> taskSummaryList = taskClient.findTasksByStatusByProcessInstanceId(safe(getProcessInstanceId(configuration, exchange)), + getStatuses(configuration, exchange), getPage(configuration, exchange), + getPageSize(configuration, exchange)); setResult(exchange, taskSummaryList); } - }, getTasksOwned { + }, + getTasksOwned { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - List<TaskSummary> summaryList = taskClient.findTasksOwned(getUserId(configuration, exchange), getPage(configuration, exchange), getPageSize(configuration, exchange)); + List<TaskSummary> summaryList = taskClient.findTasksOwned(getUserId(configuration, exchange), getPage(configuration, exchange), + getPageSize(configuration, exchange)); setResult(exchange, summaryList); } - }, nominateTask { + }, + nominateTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); - taskClient.nominateTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), getEntities(configuration, exchange)); + taskClient.nominateTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange), + getEntities(configuration, exchange)); } - }, releaseTask { + }, + releaseTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.releaseTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, resumeTask { + }, + resumeTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.resumeTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, skipTask { + }, + skipTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.skipTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, startTask { + }, + startTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.startTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, stopTask { + }, + stopTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); taskClient.stopTask(configuration.getDeploymentId(), safe(getTaskId(configuration, exchange)), getUserId(configuration, exchange)); } - }, suspendTask { + }, + suspendTask { @Override void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange) { UserTaskServicesClient taskClient = kieServicesClient.getServicesClient(UserTaskServicesClient.class); @@ -382,7 +419,7 @@ public class JBPMProducer extends DefaultProducer { } return page; } - + Integer getPageSize(JBPMConfiguration configuration, Exchange exchange) { Integer pageSize = exchange.getIn().getHeader(JBPMConstants.RESULT_PAGE_SIZE, Integer.class); if (pageSize == null) { @@ -502,4 +539,3 @@ public class JBPMProducer extends DefaultProducer { abstract void execute(KieServicesClient kieServicesClient, JBPMConfiguration configuration, Exchange exchange); } } - diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java index 3a8a0ea..fbc4448 100644 --- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java +++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/server/CamelKieServerExtension.java @@ -36,29 +36,28 @@ import org.kie.server.services.impl.KieServerImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public class CamelKieServerExtension implements KieServerExtension { public static final String EXTENSION_NAME = "Camel"; - private static final Logger logger = LoggerFactory.getLogger(CamelKieServerExtension.class); + private static final Logger LOGGER = LoggerFactory.getLogger(CamelKieServerExtension.class); - private static final Boolean disabled = Boolean.parseBoolean(System.getProperty("org.camel.server.ext.disabled", "false")); + private static final Boolean DISABLED = Boolean.parseBoolean(System.getProperty("org.camel.server.ext.disabled", "false")); protected DefaultCamelContext camel; - + protected boolean managedCamel; protected Map<String, DefaultCamelContext> camelContexts = new HashMap<>(); - + public CamelKieServerExtension() { this.managedCamel = true; } - + public CamelKieServerExtension(DefaultCamelContext camel) { this.camel = camel; this.managedCamel = false; } - + @Override public boolean isInitialized() { return camel != null; @@ -66,7 +65,7 @@ public class CamelKieServerExtension implements KieServerExtension { @Override public boolean isActive() { - return disabled == false; + return !DISABLED; } @Override @@ -74,55 +73,55 @@ public class CamelKieServerExtension implements KieServerExtension { if (this.managedCamel && this.camel == null) { this.camel = new DefaultCamelContext(); this.camel.setName("KIE Server Camel context"); - + try (InputStream is = this.getClass().getResourceAsStream("/global-camel-routes.xml")) { if (is != null) { - - RoutesDefinition routes = camel.loadRoutesDefinition(is); - camel.addRouteDefinitions(routes.getRoutes()); + + RoutesDefinition routes = camel.loadRoutesDefinition(is); + camel.addRouteDefinitions(routes.getRoutes()); } } catch (Exception e) { - logger.error("Error while adding Camel context for KIE Server", e); + LOGGER.error("Error while adding Camel context for KIE Server", e); } } - + ServiceRegistry.get().register("GlobalCamelService", this.camel); } @Override public void destroy(KieServerImpl kieServer, KieServerRegistry registry) { ServiceRegistry.get().remove("GlobalCamelService"); - + if (this.managedCamel && this.camel != null) { try { this.camel.stop(); } catch (Exception e) { - logger.error("Failed at stopping KIE Server extension {}", EXTENSION_NAME); + LOGGER.error("Failed at stopping KIE Server extension {}", EXTENSION_NAME); } } } @Override public void createContainer(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters) { - + ClassLoader classloader = kieContainerInstance.getKieContainer().getClassLoader(); try (InputStream is = classloader.getResourceAsStream("camel-routes.xml")) { if (is != null) { - + DefaultCamelContext context = new DefaultCamelContext(); - context.setName("KIE Server Camel context for container " + kieContainerInstance.getContainerId()); - - RoutesDefinition routes = context.loadRoutesDefinition(is); + context.setName("KIE Server Camel context for container " + kieContainerInstance.getContainerId()); + + RoutesDefinition routes = context.loadRoutesDefinition(is); annotateKJarRoutes(routes, id); context.addRouteDefinitions(routes.getRoutes()); context.start(); camelContexts.put(id, context); - + ServiceRegistry.get().register(id + "_CamelService", this.camel); - + } } catch (Exception e) { - logger.error("Error while adding Camel context for {}", kieContainerInstance.getContainerId(), e); + LOGGER.error("Error while adding Camel context for {}", kieContainerInstance.getContainerId(), e); } } @@ -140,14 +139,14 @@ public class CamelKieServerExtension implements KieServerExtension { @Override public void disposeContainer(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters) { DefaultCamelContext context = camelContexts.get(id); - + if (context != null) { - + ServiceRegistry.get().remove(id + "_CamelService"); try { context.stop(); } catch (Exception e) { - logger.error("Error while removing Camel context for container {}", id, e); + LOGGER.error("Error while removing Camel context for container {}", id, e); } } } @@ -181,18 +180,18 @@ public class CamelKieServerExtension implements KieServerExtension { public Integer getStartOrder() { return 50; } - + @Override public void serverStarted() { if (this.managedCamel && this.camel != null && !this.camel.isStarted()) { try { this.camel.start(); } catch (Exception e) { - logger.error("Failed at start Camel context", e); + LOGGER.error("Failed at start Camel context", e); } } } - + @Override public String toString() { return EXTENSION_NAME + " KIE Server extension"; @@ -200,12 +199,12 @@ public class CamelKieServerExtension implements KieServerExtension { protected void annotateKJarRoutes(RoutesDefinition routes, String deploymentId) { for (RouteDefinition route : routes.getRoutes()) { - + for (FromDefinition from : route.getInputs()) { - + if (from.getUri().startsWith("jbpm:events") && !from.getUri().contains("deploymentId")) { StringBuilder uri = new StringBuilder(from.getUri()); - + String[] split = from.getUri().split("\\?"); if (split.length == 1) { // no query given @@ -217,7 +216,7 @@ public class CamelKieServerExtension implements KieServerExtension { uri.append("deploymentId=").append(deploymentId); from.setUri(uri.toString()); } - + System.out.println(from.getUri()); } } diff --git a/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/JBPMComponentIntegrationTest.java b/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/JBPMComponentIntegrationTest.java index 18e1055..fbab216 100644 --- a/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/JBPMComponentIntegrationTest.java +++ b/components/camel-jbpm/src/test/java/org/apache/camel/component/jbpm/JBPMComponentIntegrationTest.java @@ -29,11 +29,10 @@ import org.junit.Test; import org.kie.server.api.model.instance.TaskSummary; /** - * To run this example you need jBPM to run locally, easiest is to use single zip - * distribution - download from jbpm.org - * - * Next, start it and import Evaluation sample project, build and deploy. - * Once done this test can be ran out of the box. + * To run this example you need jBPM to run locally, easiest is to use single + * zip distribution - download from jbpm.org Next, start it and import + * Evaluation sample project, build and deploy. Once done this test can be ran + * out of the box. */ @Ignore("This is an integration test that needs jBPM running on the local machine") public class JBPMComponentIntegrationTest extends CamelTestSupport { @@ -42,46 +41,46 @@ public class JBPMComponentIntegrationTest extends CamelTestSupport { @Test public void interactsOverRest() throws Exception { getMockEndpoint("mock:result").expectedMessageCount(1); - + // let's start process instance for evaluation process Map<String, Object> params = new HashMap<>(); params.put("employee", "wbadmin"); params.put("reason", "Camel asks for it"); - + Map<String, Object> headers = new HashMap<>(); headers.put(JBPMConstants.PROCESS_ID, "evaluation"); headers.put(JBPMConstants.PARAMETERS, params); - + template.sendBodyAndHeaders("direct:start", null, headers); assertMockEndpointsSatisfied(); - Long processInstanceId = (Long) getMockEndpoint("mock:result").getExchanges().get(0).getIn().getBody(); + Long processInstanceId = (Long)getMockEndpoint("mock:result").getExchanges().get(0).getIn().getBody(); assertNotNull(processInstanceId); - + // now let's collect user tasks - headers = new HashMap<>(); + headers = new HashMap<>(); headers.put(JBPMConstants.OPERATION, JBPMConstants.OPERATION + Operation.getTasksOwned); - + template.sendBodyAndHeaders("direct:start", null, headers); getMockEndpoint("mock:result").expectedMessageCount(2); assertMockEndpointsSatisfied(); - - List<TaskSummary> tasks = (List<TaskSummary>) getMockEndpoint("mock:result").getExchanges().get(1).getIn().getBody(); + + List<TaskSummary> tasks = (List<TaskSummary>)getMockEndpoint("mock:result").getExchanges().get(1).getIn().getBody(); assertEquals(1, tasks.size()); - + // let's complete first user task headers = new HashMap<>(); headers.put(JBPMConstants.TASK_ID, tasks.get(0).getId()); headers.put(JBPMConstants.OPERATION, JBPMConstants.OPERATION + Operation.completeTask); - + template.sendBodyAndHeaders("direct:start", null, headers); getMockEndpoint("mock:result").expectedMessageCount(3); assertMockEndpointsSatisfied(); - + // lastly let's abort process instance we just created headers = new HashMap<>(); headers.put(JBPMConstants.PROCESS_INSTANCE_ID, processInstanceId); headers.put(JBPMConstants.OPERATION, JBPMConstants.OPERATION + Operation.abortProcessInstance); - + template.sendBodyAndHeaders("direct:start", null, headers); getMockEndpoint("mock:result").expectedMessageCount(4); assertMockEndpointsSatisfied(); @@ -92,10 +91,8 @@ public class JBPMComponentIntegrationTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("direct:start") - .to("jbpm:http://localhost:8080/kie-server/services/rest/server?userName=wbadmin&password=wbadmin" - + "&deploymentId=evaluation") - .to("mock:result"); + from("direct:start").to("jbpm:http://localhost:8080/kie-server/services/rest/server?userName=wbadmin&password=wbadmin" + "&deploymentId=evaluation") + .to("mock:result"); } }; }