@Test public void testDeployWithDefaultDeploymentDescriptor() throws Exception { KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId("org.jbpm.test.dd", "kjar-with-dd", "1.0.0"); String processString = IOUtils.toString(this.getClass().getResourceAsStream("/BPMN2-ScriptTask.bpmn2"), "UTF-8"); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/BPMN2-ScriptTask.bpmn2", processString); InternalKieModule kJar1 = createKieJar(ks, releaseId, resources); installKjar(releaseId, kJar1); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(releaseId) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); InternalRuntimeManager internalManager = (InternalRuntimeManager) manager; DeploymentDescriptor descriptor = internalManager.getDeploymentDescriptor(); assertNotNull(descriptor); RegisterableItemsFactory factory = internalManager.getEnvironment().getRegisterableItemsFactory(); assertNotNull(factory); assertTrue(factory instanceof InternalRegisterableItemsFactory); assertNotNull(((InternalRegisterableItemsFactory) factory).getRuntimeManager()); String descriptorFromKjar = descriptor.toXml(); DeploymentDescriptorManager ddManager = new DeploymentDescriptorManager(); String defaultDescriptor = ddManager.getDefaultDescriptor().toXml(); assertEquals(defaultDescriptor, descriptorFromKjar); }
resources.put("src/main/resources/simple.drl", SIMPLE_DRL); resources.put("src/main/resources/META-INF/kie-deployment-descriptor.xml", descriptor.toXml());
resourcesDep.put("src/main/resources/simple.drl", SIMPLE_DRL); resourcesDep.put("src/main/resources/META-INF/kie-deployment-descriptor.xml", descriptorDep.toXml()); resources.put("src/main/resources/simple.drl", SIMPLE_DRL); resources.put("src/main/resources/META-INF/kie-deployment-descriptor.xml", descriptor.toXml());
resources.put("src/main/resources/" + DeploymentDescriptor.META_INF_LOCATION, customDescriptor.toXml());
resourcesDep.put("src/main/resources/simple.drl", SIMPLE_DRL); resourcesDep.put("src/main/resources/META-INF/kie-deployment-descriptor.xml", descriptorDep.toXml()); resources.put("src/main/resources/simple.drl", SIMPLE_DRL); resources.put("src/main/resources/META-INF/kie-deployment-descriptor.xml", descriptor.toXml());
.addWorkItemHandler(new NamedObjectModel("Manual Task", "org.jbpm.runtime.manager.impl.deploy" + ".RuntimeManagerWithDescriptorTest$TestWorkItemHandler")); resources.put("src/main/resources/" + DeploymentDescriptor.META_INF_LOCATION, customDescriptor.toXml());
.auditMode(AuditMode.JMS); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/" + DeploymentDescriptor.META_INF_LOCATION, customDescriptor.toXml());
@Override public String toSource(Path path, DeploymentDescriptorModel model) { try { return unmarshal(path, model).toXml(); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override public String toSource(Path path, DeploymentDescriptorModel model) { try { return unmarshal(path, model).toXml(); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override public List<ValidationMessage> validate(Path path, DeploymentDescriptorModel content) { final List<ValidationMessage> validationMessages = new ArrayList<ValidationMessage>(); try { DeploymentDescriptor dd = unmarshal(path, content); // validate the content of the descriptor validationMessages.addAll(validateObjectModels(path, dd.getConfiguration())); validationMessages.addAll(validateObjectModels(path, dd.getEnvironmentEntries())); validationMessages.addAll(validateObjectModels(path, dd.getEventListeners())); validationMessages.addAll(validateObjectModels(path, dd.getGlobals())); validationMessages.addAll(validateObjectModels(path, dd.getMarshallingStrategies())); validationMessages.addAll(validateObjectModels(path, dd.getTaskEventListeners())); validationMessages.addAll(validateObjectModels(path, dd.getWorkItemHandlers())); // validate its structure dd.toXml(); } catch (Exception e) { final ValidationMessage msg = new ValidationMessage(); msg.setPath(path); msg.setLevel(Level.ERROR); msg.setText(e.getMessage()); validationMessages.add(msg); } return validationMessages; }
public void createDeploymentDescriptor( @Observes NewProjectEvent newProjectEvent ) { KieProject project = (KieProject) newProjectEvent.getProject(); URI projectRootURI = URI.create( project.getRootPath().toURI() ); String repositoryAlias = projectRootURI.getHost(); String metaInfPath = Paths.convert( project.getKModuleXMLPath() ).getParent().toUri().toString(); String separator = Paths.convert( project.getRootPath() ).getFileSystem().getSeparator(); String deploymentDescriptorPath = metaInfPath + separator + "kie-deployment-descriptor.xml"; Path ddVFSPath = ioService.get( URI.create( deploymentDescriptorPath ) ); if ( !ioService.exists( ddVFSPath ) ) { DeploymentDescriptor dd = new DeploymentDescriptorManager( "org.jbpm.domain" ).getDefaultDescriptor(); Set<String> groups = new HashSet<String>( project.getGroups() ); Repository repo = repositoryService.getRepository( repositoryAlias ); if ( repo != null ) { groups.addAll( repo.getGroups() ); } dd.getBuilder().setRequiredRoles( new ArrayList<String>( groups ) ); String xmlDescriptor = dd.toXml(); ioService.write( ddVFSPath, xmlDescriptor ); } }
protected static void deployKjar() { KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION); List<String> processes = new ArrayList<String>(); processes.add("processes/EmptyHumanTask.bpmn"); processes.add("processes/humanTask.bpmn"); processes.add("processes/SimpleHTProcess.bpmn2"); DeploymentDescriptor customDescriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); customDescriptor.getBuilder() .addRequiredRole("view:managers"); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/" + DeploymentDescriptor.META_INF_LOCATION, customDescriptor.toXml()); InternalKieModule kJar1 = createKieJar(ks, releaseId, processes, resources); File pom = new File("target/kmodule", "pom.xml"); pom.getParentFile().mkdir(); try { FileOutputStream fs = new FileOutputStream(pom); fs.write(getPom(releaseId).getBytes()); fs.close(); } catch (Exception e) { } KieMavenRepository repository = getKieMavenRepository(); repository.installArtifact(releaseId, kJar1, pom); }
@Override public void createIfNotExists(Path path) { org.uberfire.java.nio.file.Path converted = Paths.convert(path); if (!ioService.exists(converted)) { // create descriptor DeploymentDescriptor dd = new DeploymentDescriptorManager("org.jbpm.domain").getDefaultDescriptor(); if (configUpdaterHelper.hasPersistenceFile(path)) { //if current project has a persistence.xml file configured add the JPAMarshalling strategy. configUpdaterHelper.addJPAMarshallingStrategy(dd, path); } String xmlDescriptor = dd.toXml(); ioService.write(converted, xmlDescriptor); } }
@Before public void prepare() { KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION); List<String> processes = new ArrayList<String>(); processes.add("repo/processes/support/support.bpmn"); DeploymentDescriptor customDescriptor = new DeploymentDescriptorImpl("org.jbpm.domain"); customDescriptor.getBuilder() .addTaskEventListener(new ObjectModel("org.jbpm.services.cdi.test.ext.DebugTaskLifeCycleEventListener")); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/" + DeploymentDescriptor.META_INF_LOCATION, customDescriptor.toXml()); InternalKieModule kJar1 = createKieJar(ks, releaseId, processes, resources); File pom = new File("target/kmodule", "pom.xml"); pom.getParentFile().mkdir(); try { FileOutputStream fs = new FileOutputStream(pom); fs.write(getPom(releaseId).getBytes()); fs.close(); } catch (Exception e) { } KieMavenRepository repository = getKieMavenRepository(); repository.deployArtifact(releaseId, kJar1, pom); }
@Override public void createIfNotExists(Path path) { org.uberfire.java.nio.file.Path converted = Paths.convert(path); if (!ioService.exists(converted)) { // create descriptor DeploymentDescriptor dd = new DeploymentDescriptorManager("org.jbpm.domain").getDefaultDescriptor(); if (configUpdaterHelper.hasPersistenceFile(path)) { //if current project has a persistence.xml file configured add the JPAMarshalling strategy. configUpdaterHelper.addJPAMarshallingStrategy(dd, path); } String xmlDescriptor = dd.toXml(); ioService.write(converted, xmlDescriptor); } }
public Path save(Path path, DeploymentDescriptorModel content, Metadata metadata, CommentedOption commentedOption) { try { String deploymentContent = unmarshal(path, content).toXml(); Metadata currentMetadata = metadataService.getMetadata(path); ioService.write(Paths.convert(path), deploymentContent, metadataService.setUpAttributes(path, metadata), commentedOption); fireMetadataSocialEvents(path, currentMetadata, metadata); return path; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
public Path save(Path path, DeploymentDescriptorModel content, Metadata metadata, CommentedOption commentedOption) { try { String deploymentContent = unmarshal(path, content).toXml(); Metadata currentMetadata = metadataService.getMetadata(path); ioService.write(Paths.convert(path), deploymentContent, metadataService.setUpAttributes(path, metadata), commentedOption); fireMetadataSocialEvents(path, currentMetadata, metadata); return path; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@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()); }
@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()); }