private static DeploymentEvent createDeploymentEventWithProcessDefinition() { DeployedUnitImpl deployedUnit = new DeployedUnitImpl(new DeploymentUnit() { @Override public RuntimeStrategy getStrategy() { return RuntimeStrategy.SINGLETON; } @Override public String getIdentifier() { return DEPLOYMENT_ID; } }); ProcessAssetDesc processAsset = new ProcessAssetDesc(); processAsset.getRoles().add(USER); processAsset.setId(PROCESS_ID); processAsset.setDeploymentId(DEPLOYMENT_ID); processAsset.setOriginalPath(BPMN2_FILE_NAME); deployedUnit.addAssetLocation("processDef", processAsset); processAsset = new ProcessAssetDesc(); processAsset.getRoles().add(USER); processAsset.setId(ERROR_PROCESS_ID); processAsset.setDeploymentId(DEPLOYMENT_ID); processAsset.setOriginalPath(ERROR_BPMN2_FILE_NAME); deployedUnit.addAssetLocation("errorProcessDef", processAsset); DeploymentEvent event = new DeploymentEvent(DEPLOYMENT_ID, deployedUnit); return event; }
protected void loadProcesses(VFSDeploymentUnit vfsUnit, RuntimeEnvironmentBuilder builder, DeployedUnitImpl deployedUnit) { Iterable<Path> loadProcessFiles = null; try { Path processFolder = getFs().getPath(vfsUnit.getRepository() + vfsUnit.getRepositoryFolder()); loadProcessFiles = getFs().loadFilesByType(processFolder, ".+bpmn[2]?$"); } catch (FileException ex) { logger.error("Error while loading process files", ex); } for (Path p : loadProcessFiles) { String processString = ""; try { processString = new String(getFs().loadFile(p)); builder.addAsset(ResourceFactory.newByteArrayResource(processString.getBytes()), ResourceType.BPMN2); ProcessAssetDesc process = (ProcessAssetDesc) bpmn2Service.buildProcessDefinition("unknown", processString, null, false); process.setOriginalPath(p.toUri().toString()); process.setDeploymentId(vfsUnit.getIdentifier()); deployedUnit.addAssetLocation(process.getId(), process); } catch (Exception ex) { logger.error("Error while reading process files", ex); } } }
@Override public void deploy(DeploymentUnit unit) { super.deploy(unit); if (!(unit instanceof VFSDeploymentUnit)) { throw new IllegalArgumentException("Invalid deployment unit provided - " + unit.getClass().getName()); } DeployedUnitImpl deployedUnit = new DeployedUnitImpl(unit); VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit) unit; // Create Runtime Manager Based on the Reference RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.getDefault() .entityManagerFactory(getEmf()); AuditEventBuilder auditLoggerBuilder = setupAuditLogger(identityProvider, vfsUnit.getIdentifier()); if (beanManager != null) { builder.registerableItemsFactory(InjectableRegisterableItemsFactory.getFactory(beanManager, auditLoggerBuilder)); } loadProcesses(vfsUnit, builder, deployedUnit); loadRules(vfsUnit, builder, deployedUnit); commonDeploy(vfsUnit, deployedUnit, builder.get(), (KieContainer)builder.get().getEnvironment().get("kieContainer") ); }
assertNotNull(deployed.getRuntimeManager()); assertEquals(0, ((DeployedUnitImpl) deployed).getDeployedClasses().size()); assertNotNull(deployed3.getRuntimeManager()); assertEquals(0, ((DeployedUnitImpl) deployed3).getDeployedClasses().size());
assertTrue(deployed.isActive()); assertEquals(0, ((DeployedUnitImpl) deployed).getDeployedClasses().size());