Search in sources :

Example 6 with DeploymentDescriptorImpl

use of org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl in project jbpm by kiegroup.

the class QueryServiceImplTest method prepare.

@Before
public void prepare() {
    System.setProperty("org.jbpm.ht.callback", "custom");
    System.setProperty("org.jbpm.ht.custom.callback", "org.jbpm.kie.services.test.objects.TestUserGroupCallbackImpl");
    this.dataSourceJNDIname = getDataSourceJNDI();
    configureServices();
    logger.debug("Preparing kjar");
    KieServices ks = KieServices.Factory.get();
    ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION);
    List<String> processes = new ArrayList<String>();
    processes.add("repo/processes/general/EmptyHumanTask.bpmn");
    processes.add("repo/processes/general/humanTask.bpmn");
    processes.add("repo/processes/general/BPMN2-UserTask.bpmn2");
    processes.add("repo/processes/general/SimpleHTProcess.bpmn2");
    processes.add("repo/processes/general/AdHocSubProcess.bpmn2");
    processes.add("repo/processes/general/ExcludedOwner.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.deployArtifact(releaseId, kJar1, pom);
    assertNotNull(deploymentService);
    deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);
    deploymentService.deploy(deploymentUnit);
    units.add(deploymentUnit);
    prepareJPAModule(ks, repository);
    assertNotNull(processService);
}
Also used : HashMap(java.util.HashMap) DeploymentDescriptor(org.kie.internal.runtime.conf.DeploymentDescriptor) ArrayList(java.util.ArrayList) DeploymentDescriptorImpl(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl) KieServices(org.kie.api.KieServices) ReleaseId(org.kie.api.builder.ReleaseId) KModuleDeploymentUnit(org.jbpm.kie.services.impl.KModuleDeploymentUnit) ProcessInstanceNotFoundException(org.jbpm.services.api.ProcessInstanceNotFoundException) QueryNotFoundException(org.jbpm.services.api.query.QueryNotFoundException) FileOutputStream(java.io.FileOutputStream) KieMavenRepository.getKieMavenRepository(org.kie.scanner.KieMavenRepository.getKieMavenRepository) KieMavenRepository(org.kie.scanner.KieMavenRepository) File(java.io.File) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) Before(org.junit.Before)

Example 7 with DeploymentDescriptorImpl

use of org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl in project jbpm by kiegroup.

the class RuntimeDataServiceImplSecurityTest method prepare.

@Before
public void prepare() {
    configureServices();
    logger.debug("Preparing kjar");
    KieServices ks = KieServices.Factory.get();
    ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION);
    List<String> processes = new ArrayList<String>();
    processes.add("repo/processes/general/EmptyHumanTask.bpmn");
    processes.add("repo/processes/general/humanTask.bpmn");
    processes.add("repo/processes/general/BPMN2-UserTask.bpmn2");
    processes.add("repo/processes/general/timer-process.bpmn2");
    DeploymentDescriptor customDescriptor = new DeploymentDescriptorImpl("org.jbpm.domain");
    customDescriptor.getBuilder().addEventListener(new ObjectModel("mvel", "org.jbpm.kie.test.util.CountDownListenerFactory.get(\"securityTest\", \"timer\", 1)")).addRequiredRole("view:managers").addRequiredRole("execute:employees");
    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);
    assertNotNull(deploymentService);
    deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);
    deploymentService.deploy(deploymentUnit);
    units.add(deploymentUnit);
    assertNotNull(processService);
    identityProvider.setRoles(Arrays.asList("employees"));
}
Also used : ObjectModel(org.kie.internal.runtime.conf.ObjectModel) HashMap(java.util.HashMap) DeploymentDescriptor(org.kie.internal.runtime.conf.DeploymentDescriptor) ArrayList(java.util.ArrayList) DeploymentDescriptorImpl(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl) KieServices(org.kie.api.KieServices) ReleaseId(org.kie.api.builder.ReleaseId) KModuleDeploymentUnit(org.jbpm.kie.services.impl.KModuleDeploymentUnit) ProcessInstanceNotFoundException(org.jbpm.services.api.ProcessInstanceNotFoundException) FileOutputStream(java.io.FileOutputStream) KieMavenRepository.getKieMavenRepository(org.kie.scanner.KieMavenRepository.getKieMavenRepository) KieMavenRepository(org.kie.scanner.KieMavenRepository) File(java.io.File) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) Before(org.junit.Before)

Example 8 with DeploymentDescriptorImpl

use of org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl in project jbpm by kiegroup.

the class FilteredKModuleDeploymentServiceTest method testSerializationClassesLimitedInDeploymentDescriptor.

@Test
public void testSerializationClassesLimitedInDeploymentDescriptor() {
    String groupId = "org.test";
    String artifactId = "jbpm-kie-services-filter-test-desc";
    String version = VERSION;
    FluentKieModuleDeploymentHelper.newFluentInstance().setGroupId(groupId).setArtifactId(artifactId).setVersion(version).createKieJarAndDeployToMaven();
    configureServices();
    KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(groupId, artifactId, version);
    DeploymentDescriptor depDesc = new DeploymentDescriptorImpl().getBuilder().setLimitSerializationClasses(true).addClass(// interface, no annotations!
    Building.class.getName()).addClass(// @XmlRootElement
    House.class.getName()).addClass(// @XmlRootElement
    Person.class.getName()).addClass(// inherits from Person
    OtherPerson.class.getName()).addClass(// @Remotable
    Thing.class.getName()).get();
    deploymentUnit.setDeploymentDescriptor(depDesc);
    deploymentService.deploy(deploymentUnit);
    units.add(deploymentUnit);
    verifyDeployedUnitContainsCorrectClasses(deploymentUnit);
}
Also used : DeploymentDescriptor(org.kie.internal.runtime.conf.DeploymentDescriptor) OtherPerson(org.jbpm.kie.test.objects.OtherPerson) DeploymentDescriptorImpl(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl) House(org.jbpm.kie.test.objects.House) KModuleDeploymentUnit(org.jbpm.kie.services.impl.KModuleDeploymentUnit) AbstractKieServicesBaseTest(org.jbpm.kie.test.util.AbstractKieServicesBaseTest) Test(org.junit.Test)

Example 9 with DeploymentDescriptorImpl

use of org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl in project jbpm by kiegroup.

the class FilteredKModuleDeploymentServiceTest method testMultipleRemotableInPojoJar.

@Test
public void testMultipleRemotableInPojoJar() {
    String groupId = "org.test";
    String pojoArtifactId = "jbpm-kie-services-filter-test-pojo";
    String projectArtifactId = "jbpm-kie-services-filter-test-project";
    String version = VERSION;
    KieServices ks = KieServices.Factory.get();
    ReleaseId pojoReleaseId = ks.newReleaseId(groupId, pojoArtifactId, VERSION);
    // contains two @Remotable classes MyPojo, MyPojo2
    File pojojar = new File("src/test/resources/multi-remotable/pojo.jar");
    File pojopom = new File(this.getClass().getResource("/multi-remotable/pojo-pom.xml").getFile());
    KieMavenRepository.getKieMavenRepository().installArtifact(pojoReleaseId, pojojar, pojopom);
    FluentKieModuleDeploymentHelper.newFluentInstance().setGroupId(groupId).setArtifactId(projectArtifactId).setVersion(version).addDependencies(groupId + ":" + pojoArtifactId + ":" + version).createKieJarAndDeployToMaven();
    configureServices();
    KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(groupId, projectArtifactId, version);
    DeploymentDescriptor depDesc = new DeploymentDescriptorImpl().getBuilder().setLimitSerializationClasses(true).get();
    deploymentUnit.setDeploymentDescriptor(depDesc);
    deploymentService.deploy(deploymentUnit);
    DeployedUnit deployedUnit = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
    Collection<Class<?>> deployedClasses = deployedUnit.getDeployedClasses();
    ClassLoader classLoader = deploymentUnit.getKieContainer().getClassLoader();
    try {
        assertTrue("MyPojo is not added", deployedClasses.contains(classLoader.loadClass("com.sample.MyPojo")));
        assertTrue("MyPojo2 is not added", deployedClasses.contains(classLoader.loadClass("com.sample.MyPojo2")));
    } catch (ClassNotFoundException e) {
        fail(e.getMessage());
    }
}
Also used : DeploymentDescriptor(org.kie.internal.runtime.conf.DeploymentDescriptor) DeployedUnit(org.jbpm.services.api.model.DeployedUnit) DeploymentDescriptorImpl(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl) KieServices(org.kie.api.KieServices) ReleaseId(org.kie.api.builder.ReleaseId) KModuleDeploymentUnit(org.jbpm.kie.services.impl.KModuleDeploymentUnit) File(java.io.File) AbstractKieServicesBaseTest(org.jbpm.kie.test.util.AbstractKieServicesBaseTest) Test(org.junit.Test)

Example 10 with DeploymentDescriptorImpl

use of org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl in project jbpm by kiegroup.

the class IdentityProviderAwareProcessListenerTest method init.

@Before
public void init() {
    configureServices();
    final KieServices ks = KieServices.Factory.get();
    ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION);
    final List<String> processes = Collections.singletonList("repo/processes/general/humanTask.bpmn");
    final InternalKieModule kJar1 = createKieJar(ks, releaseId, processes);
    final File pom = new File("target/kmodule", "pom.xml");
    pom.getParentFile().mkdir();
    try (FileOutputStream fs = new FileOutputStream(pom)) {
        fs.write(getPom(releaseId).getBytes());
    } catch (Exception e) {
        e.printStackTrace();
    }
    getKieMavenRepository().deployArtifact(releaseId, kJar1, pom);
    deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION);
    final DeploymentDescriptor descriptor = new DeploymentDescriptorImpl();
    descriptor.getBuilder().addEventListener(new NamedObjectModel("mvel", "processIdentity", "new org.jbpm.kie.services.impl.IdentityProviderAwareProcessListener(ksession)"));
    deploymentUnit.setDeploymentDescriptor(descriptor);
    deploymentService.deploy(deploymentUnit);
    final DeployedUnit deployed = deploymentService.getDeployedUnit(deploymentUnit.getIdentifier());
    assertNotNull(deployed);
    assertNotNull(deployed.getDeploymentUnit());
    assertNotNull(runtimeDataService);
    Collection<ProcessDefinition> processDefinitions = runtimeDataService.getProcesses(new QueryContext());
    assertNotNull(processDefinitions);
    assertEquals(1, processDefinitions.size());
}
Also used : DeploymentDescriptor(org.kie.internal.runtime.conf.DeploymentDescriptor) DeployedUnit(org.jbpm.services.api.model.DeployedUnit) DeploymentDescriptorImpl(org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl) KieServices(org.kie.api.KieServices) ProcessDefinition(org.jbpm.services.api.model.ProcessDefinition) ReleaseId(org.kie.api.builder.ReleaseId) QueryContext(org.kie.api.runtime.query.QueryContext) KModuleDeploymentUnit(org.jbpm.kie.services.impl.KModuleDeploymentUnit) NamedObjectModel(org.kie.internal.runtime.conf.NamedObjectModel) FileOutputStream(java.io.FileOutputStream) File(java.io.File) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) Before(org.junit.Before)

Aggregations

DeploymentDescriptorImpl (org.jbpm.runtime.manager.impl.deploy.DeploymentDescriptorImpl)27 DeploymentDescriptor (org.kie.internal.runtime.conf.DeploymentDescriptor)26 KModuleDeploymentUnit (org.jbpm.kie.services.impl.KModuleDeploymentUnit)19 KieServices (org.kie.api.KieServices)15 ReleaseId (org.kie.api.builder.ReleaseId)15 File (java.io.File)14 InternalKieModule (org.drools.compiler.kie.builder.impl.InternalKieModule)14 HashMap (java.util.HashMap)13 FileOutputStream (java.io.FileOutputStream)12 KieMavenRepository (org.kie.scanner.KieMavenRepository)12 KieMavenRepository.getKieMavenRepository (org.kie.scanner.KieMavenRepository.getKieMavenRepository)12 ArrayList (java.util.ArrayList)11 Test (org.junit.Test)11 AbstractKieServicesBaseTest (org.jbpm.kie.test.util.AbstractKieServicesBaseTest)9 Before (org.junit.Before)8 DeployedUnit (org.jbpm.services.api.model.DeployedUnit)7 NamedObjectModel (org.kie.internal.runtime.conf.NamedObjectModel)7 ObjectModel (org.kie.internal.runtime.conf.ObjectModel)7 ProcessInstanceNotFoundException (org.jbpm.services.api.ProcessInstanceNotFoundException)6 ProcessInstance (org.kie.api.runtime.process.ProcessInstance)5