protected Map<String, WorkItemHandler> getWorkItemHandlersFromDescriptor(RuntimeEngine runtime) { Map<String, WorkItemHandler> defaultHandlers = new HashMap<String, WorkItemHandler>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (NamedObjectModel model : descriptor.getWorkItemHandlers()) { Object hInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (hInstance != null) { defaultHandlers.put(model.getName(), (WorkItemHandler) hInstance); } } } return defaultHandlers; }
@Test public void testDefaultDeploymentDescriptorFromClasspath() { System.setProperty("org.kie.deployment.desc.location", "classpath:/deployment/deployment-descriptor-defaults-and-ms.xml"); DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); DeploymentDescriptor descriptor = manager.getDefaultDescriptor(); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(1, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
@Test public void testDefaultDeploymentDescriptorFromFile() { System.setProperty("org.kie.deployment.desc.location", "file:src/test/resources/deployment/deployment-descriptor-defaults-and-ms.xml"); DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); DeploymentDescriptor descriptor = manager.getDefaultDescriptor(); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(1, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
@Test public void testDefaultDeploymentDescriptor() { DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); DeploymentDescriptor descriptor = manager.getDefaultDescriptor(); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(0, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
@Test public void testDeploymentDescriptorFromKieContainerNoDescInKjar() { DeploymentDescriptorManager manager = new DeploymentDescriptorManager("org.jbpm.domain"); KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/simple.drl", SIMPLE_DRL); InternalKieModule kJar1 = createKieJar(ks, releaseId, resources); installKjar(releaseId, kJar1); KieContainer kieContainer = ks.newKieContainer(releaseId); assertNotNull(kieContainer); List<DeploymentDescriptor> descriptorHierarchy = DeploymentDescriptorManagerUtil.getDeploymentDescriptorHierarchy(manager, kieContainer); assertNotNull(descriptorHierarchy); assertEquals(1, descriptorHierarchy.size()); DeploymentDescriptor descriptor = descriptorHierarchy.get(0); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.SINGLETON, descriptor.getRuntimeStrategy()); assertEquals(0, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); }
assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size());
assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(1, master.getWorkItemHandlers().size()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(1, slave.getWorkItemHandlers().size()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(1, outcome.getWorkItemHandlers().size()); NamedObjectModel model = outcome.getWorkItemHandlers().get(0); assertEquals("Log", model.getName()); assertEquals("new org.jbpm.process.instance.impl.demo.CustomSystemOutWorkItemHandler()", model.getIdentifier());
assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(1, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(1, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(0, master.getWorkItemHandlers().size()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(0, slave.getWorkItemHandlers().size()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size());
assertEquals(1, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getRequiredRoles().size());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(0, master.getWorkItemHandlers().size()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(0, slave.getWorkItemHandlers().size()); assertEquals(0, slave2.getGlobals().size()); assertEquals(0, slave2.getTaskEventListeners().size()); assertEquals(0, slave2.getWorkItemHandlers().size()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(0, master.getWorkItemHandlers().size()); assertTrue(master.getLimitSerializationClasses()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(0, slave.getWorkItemHandlers().size()); ((DeploymentDescriptorImpl) slave).setLimitSerializationClasses(null); assertNull(slave.getLimitSerializationClasses()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size()); assertTrue(outcome.getLimitSerializationClasses());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(0, master.getWorkItemHandlers().size()); assertTrue(master.getLimitSerializationClasses()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(0, slave.getWorkItemHandlers().size()); assertFalse(slave.getLimitSerializationClasses()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size()); assertFalse(outcome.getLimitSerializationClasses());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(0, master.getWorkItemHandlers().size()); assertTrue(master.getLimitSerializationClasses()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(0, slave.getWorkItemHandlers().size()); assertFalse(slave.getLimitSerializationClasses()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size()); assertTrue(outcome.getLimitSerializationClasses());
assertEquals(0, master.getGlobals().size()); assertEquals(0, master.getTaskEventListeners().size()); assertEquals(0, master.getWorkItemHandlers().size()); assertTrue(master.getLimitSerializationClasses()); assertEquals(0, slave.getGlobals().size()); assertEquals(0, slave.getTaskEventListeners().size()); assertEquals(0, slave.getWorkItemHandlers().size()); assertFalse(slave.getLimitSerializationClasses()); assertEquals(0, outcome.getGlobals().size()); assertEquals(0, outcome.getTaskEventListeners().size()); assertEquals(0, outcome.getWorkItemHandlers().size()); assertFalse(outcome.getLimitSerializationClasses());
assertEquals(1, descriptor.getGlobals().size()); assertEquals(1, descriptor.getTaskEventListeners().size()); assertEquals(1, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getRequiredRoles().size());
builder.setMarshalingStrategies(slave.getMarshallingStrategies()); builder.setTaskEventListeners(slave.getTaskEventListeners()); builder.setWorkItemHandlers(slave.getWorkItemHandlers()); builder.setRequiredRoles(slave.getRequiredRoles()); builder.setClasses(slave.getClasses()); builder.addGlobal(model); for (NamedObjectModel model : slave.getWorkItemHandlers()) { builder.addWorkItemHandler(model);
protected Map<String, WorkItemHandler> getWorkItemHandlersFromDescriptor(RuntimeEngine runtime) { Map<String, WorkItemHandler> defaultHandlers = new HashMap<String, WorkItemHandler>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (NamedObjectModel model : descriptor.getWorkItemHandlers()) { Object hInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (hInstance != null) { defaultHandlers.put(model.getName(), (WorkItemHandler) hInstance); } } } return defaultHandlers; }
@Test public void testReadPartialDeploymentDescriptorFromXml() throws Exception { InputStream input = this.getClass().getResourceAsStream("/deployment/partial-deployment-descriptor.xml"); DeploymentDescriptor descriptor = DeploymentDescriptorIO.fromXml(input); assertNotNull(descriptor); assertEquals("org.jbpm.domain", descriptor.getPersistenceUnit()); assertEquals("org.jbpm.domain", descriptor.getAuditPersistenceUnit()); assertEquals(AuditMode.JPA, descriptor.getAuditMode()); assertEquals(PersistenceMode.JPA, descriptor.getPersistenceMode()); assertEquals(RuntimeStrategy.PER_PROCESS_INSTANCE, descriptor.getRuntimeStrategy()); assertEquals(0, descriptor.getMarshallingStrategies().size()); assertEquals(0, descriptor.getConfiguration().size()); assertEquals(0, descriptor.getEnvironmentEntries().size()); assertEquals(0, descriptor.getEventListeners().size()); assertEquals(0, descriptor.getGlobals().size()); assertEquals(0, descriptor.getTaskEventListeners().size()); assertEquals(0, descriptor.getWorkItemHandlers().size()); assertEquals(0, descriptor.getRequiredRoles().size()); }