.addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")); .persistenceUnit(null) .auditPersistenceUnit("") .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.CustomSystemOutWorkItemHandler()"));
.addTaskEventListener(new ObjectModel("org.jbpm.runtime.manager.impl.deploy" + ".RuntimeManagerWithDescriptorTest$TestTaskEventListener")) .addWorkItemHandler(new NamedObjectModel("Manual Task", "org.jbpm.runtime.manager.impl.deploy" + ".RuntimeManagerWithDescriptorTest$TestWorkItemHandler")); resources.put("src/main/resources/" + DeploymentDescriptor.META_INF_LOCATION, customDescriptor.toXml());
builder.addWorkItemHandler(model);
protected DeploymentDescriptor createDeploymentDescriptor() { //add this listener by default listenerMvelDefinitions.add("new org.jbpm.casemgmt.impl.util.TrackingCaseEventListener()"); DeploymentDescriptor customDescriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); DeploymentDescriptorBuilder ddBuilder = customDescriptor.getBuilder().runtimeStrategy(RuntimeStrategy.PER_CASE).addMarshalingStrategy(new ObjectModel("mvel", "org.jbpm.casemgmt.impl.marshalling.CaseMarshallerFactory.builder().withDoc().get()")).addWorkItemHandler(new NamedObjectModel("mvel", "StartCaseInstance", "new org.jbpm.casemgmt.impl.wih.StartCaseWorkItemHandler(ksession)")); listenerMvelDefinitions.forEach(listenerDefinition -> ddBuilder.addEventListener(new ObjectModel("mvel", listenerDefinition))); getProcessListeners().forEach(listener -> ddBuilder.addEventListener(listener)); getWorkItemHandlers().forEach(listener -> ddBuilder.addWorkItemHandler(listener)); return customDescriptor; }
protected void addAsyncHandler(final KModuleDeploymentUnit unit, final InternalKieContainer kieContainer) { // add async only when the executor component is not disabled if (isExecutorAvailable && executorService != null) { final DeploymentDescriptor descriptor = getDeploymentDescriptor(unit, kieContainer); descriptor.getBuilder() .addWorkItemHandler(new NamedObjectModel("mvel", "async", "new org.jbpm.executor.impl.wih.AsyncWorkItemHandler(org.jbpm.executor.ExecutorServiceFactory.newExecutorService(null),\"org.jbpm.executor.commands.PrintOutCommand\")")); unit.setDeploymentDescriptor(descriptor); } }
@Test public void testPrintDescriptor() { DeploymentDescriptor descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); descriptor.getBuilder() .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")) .addWorkItemHandler(new NamedObjectModel("mvel", "WebService", "new org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler(ksession)")) .addWorkItemHandler(new NamedObjectModel("mvel", "Rest", "new org.jbpm.process.workitem.rest.RESTWorkItemHandler()")) .addWorkItemHandler(new NamedObjectModel("mvel", "Service Task", "new org.jbpm.process.workitem.bpmn2.ServiceTaskHandler(ksession)")); logger.debug(descriptor.toXml()); }
@Test public void testPrintDescriptor() { DeploymentDescriptor descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); descriptor.getBuilder() .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")) .addWorkItemHandler(new NamedObjectModel("mvel", "WebService", "new org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler(ksession)")) .addWorkItemHandler(new NamedObjectModel("mvel", "Rest", "new org.jbpm.process.workitem.rest.RESTWorkItemHandler()")) .addWorkItemHandler(new NamedObjectModel("mvel", "Service Task", "new org.jbpm.process.workitem.bpmn2.ServiceTaskHandler(ksession)")); logger.debug(descriptor.toXml()); }
protected void addAsyncHandler(KModuleDeploymentUnit unit) { // add async only when the executor component is not disabled if (isExecutorAvailable) { DeploymentDescriptor descriptor = unit.getDeploymentDescriptor(); if (descriptor == null) { descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); } descriptor.getBuilder() .addWorkItemHandler(new TransientNamedObjectModel("ejb", "async", "org.jbpm.executor.impl.wih.AsyncWorkItemHandler", new Object[]{EXECUTOR_EJB_JNDI_NAME, "org.jbpm.executor.commands.PrintOutCommand"})); unit.setDeploymentDescriptor(descriptor); } }
@Override protected DeploymentDescriptor createDeploymentDescriptor() { if (createDescriptor()) { DeploymentDescriptor customDescriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); DeploymentDescriptorBuilder ddBuilder = customDescriptor.getBuilder(); for (ObjectModel listener : getProcessListeners()) { ddBuilder.addEventListener(listener); } for (ObjectModel listener : getTaskListeners()) { ddBuilder.addTaskEventListener(listener); } for (NamedObjectModel listener : getWorkItemHandlers()) { ddBuilder.addWorkItemHandler(listener); } return customDescriptor; } return null; }
@Test public void testWriteDeploymentDescriptorXmlWithDuplicateNamedObjects() { DeploymentDescriptor descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); descriptor.getBuilder() .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")) .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.CustomSystemOutWorkItemHandler()")) .addRequiredRole("experts"); String deploymentDescriptorXml = descriptor.toXml(); assertNotNull(deploymentDescriptorXml); logger.info(deploymentDescriptorXml); ByteArrayInputStream stream = new ByteArrayInputStream(deploymentDescriptorXml.getBytes()); DeploymentDescriptor fromXml = DeploymentDescriptorIO.fromXml(stream); assertNotNull(fromXml); assertEquals("org.jbpm.domain", fromXml.getPersistenceUnit()); assertEquals("org.jbpm.domain", fromXml.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, fromXml.getAuditMode()); assertEquals(PersistenceMode.JPA, fromXml.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, fromXml.getRuntimeStrategy()); assertEquals(0, fromXml.getMarshallingStrategies().size()); assertEquals(0, fromXml.getConfiguration().size()); assertEquals(0, fromXml.getEnvironmentEntries().size()); assertEquals(0, fromXml.getEventListeners().size()); assertEquals(0, fromXml.getGlobals().size()); assertEquals(0, fromXml.getTaskEventListeners().size()); assertEquals(1, fromXml.getWorkItemHandlers().size()); assertEquals(1, fromXml.getRequiredRoles().size()); }
@Test public void testWriteDeploymentDescriptorXmlWithDuplicateNamedObjects() { DeploymentDescriptor descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); descriptor.getBuilder() .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")) .addWorkItemHandler(new NamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.CustomSystemOutWorkItemHandler()")) .addRequiredRole("experts"); String deploymentDescriptorXml = descriptor.toXml(); assertNotNull(deploymentDescriptorXml); logger.info(deploymentDescriptorXml); ByteArrayInputStream stream = new ByteArrayInputStream(deploymentDescriptorXml.getBytes()); DeploymentDescriptor fromXml = DeploymentDescriptorIO.fromXml(stream); assertNotNull(fromXml); assertEquals("org.jbpm.domain", fromXml.getPersistenceUnit()); assertEquals("org.jbpm.domain", fromXml.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, fromXml.getAuditMode()); assertEquals(PersistenceMode.JPA, fromXml.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, fromXml.getRuntimeStrategy()); assertEquals(0, fromXml.getMarshallingStrategies().size()); assertEquals(0, fromXml.getConfiguration().size()); assertEquals(0, fromXml.getEnvironmentEntries().size()); assertEquals(0, fromXml.getEventListeners().size()); assertEquals(0, fromXml.getGlobals().size()); assertEquals(0, fromXml.getTaskEventListeners().size()); assertEquals(1, fromXml.getWorkItemHandlers().size()); assertEquals(1, fromXml.getRequiredRoles().size()); }
@Test public void testWriteDeploymentDescriptorXmlWithTransientElements() { DeploymentDescriptor descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); descriptor.getBuilder() .addMarshalingStrategy(new TransientObjectModel("org.jbpm.testCustomStrategy", new Object[]{ new ObjectModel("java.lang.String", new Object[]{"param1"}), "param2"})) .addWorkItemHandler(new TransientNamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")) .addRequiredRole("experts"); String deploymentDescriptorXml = descriptor.toXml(); assertNotNull(deploymentDescriptorXml); logger.info(deploymentDescriptorXml); ByteArrayInputStream stream = new ByteArrayInputStream(deploymentDescriptorXml.getBytes()); DeploymentDescriptor fromXml = DeploymentDescriptorIO.fromXml(stream); assertNotNull(fromXml); assertEquals("org.jbpm.domain", fromXml.getPersistenceUnit()); assertEquals("org.jbpm.domain", fromXml.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, fromXml.getAuditMode()); assertEquals(PersistenceMode.JPA, fromXml.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, fromXml.getRuntimeStrategy()); assertEquals(0, fromXml.getMarshallingStrategies().size()); assertEquals(0, fromXml.getConfiguration().size()); assertEquals(0, fromXml.getEnvironmentEntries().size()); assertEquals(0, fromXml.getEventListeners().size()); assertEquals(0, fromXml.getGlobals().size()); assertEquals(0, fromXml.getTaskEventListeners().size()); assertEquals(0, fromXml.getWorkItemHandlers().size()); assertEquals(1, fromXml.getRequiredRoles().size()); }
@Test public void testWriteDeploymentDescriptorXmlWithTransientElements() { DeploymentDescriptor descriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); descriptor.getBuilder() .addMarshalingStrategy(new TransientObjectModel("org.jbpm.testCustomStrategy", new Object[]{ new ObjectModel("java.lang.String", new Object[]{"param1"}), "param2"})) .addWorkItemHandler(new TransientNamedObjectModel("mvel", "Log", "new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()")) .addRequiredRole("experts"); String deploymentDescriptorXml = descriptor.toXml(); assertNotNull(deploymentDescriptorXml); logger.info(deploymentDescriptorXml); ByteArrayInputStream stream = new ByteArrayInputStream(deploymentDescriptorXml.getBytes()); DeploymentDescriptor fromXml = DeploymentDescriptorIO.fromXml(stream); assertNotNull(fromXml); assertEquals("org.jbpm.domain", fromXml.getPersistenceUnit()); assertEquals("org.jbpm.domain", fromXml.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, fromXml.getAuditMode()); assertEquals(PersistenceMode.JPA, fromXml.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, fromXml.getRuntimeStrategy()); assertEquals(0, fromXml.getMarshallingStrategies().size()); assertEquals(0, fromXml.getConfiguration().size()); assertEquals(0, fromXml.getEnvironmentEntries().size()); assertEquals(0, fromXml.getEventListeners().size()); assertEquals(0, fromXml.getGlobals().size()); assertEquals(0, fromXml.getTaskEventListeners().size()); assertEquals(0, fromXml.getWorkItemHandlers().size()); assertEquals(1, fromXml.getRequiredRoles().size()); }
builder.addWorkItemHandler(model);