@SuppressWarnings("deprecation") @Override protected void onSetUpInTransaction() throws Exception { super.onSetUpInTransaction(); personService = (PersonService) applicationContext.getBean("PersonService"); person1 = createPerson(USER1); person2 = createPerson(USER2); person3 = createPerson(USER3); BPMEngineRegistry registry = (BPMEngineRegistry) applicationContext.getBean("bpm_engineRegistry"); workflowComponent = registry.getWorkflowComponent(JBPMEngine.ENGINE_ID); taskComponent = registry.getTaskComponent(JBPMEngine.ENGINE_ID); packageComponent = (WorkflowPackageComponent) applicationContext.getBean("workflowPackageImpl"); // deploy test process messages I18NUtil.registerResourceBundle("jbpmresources/test-messages"); // deploy test process definition ClassPathResource processDef = new ClassPathResource("jbpmresources/test_processdefinition.xml"); assertFalse( workflowComponent.isDefinitionDeployed( processDef.getInputStream(), MimetypeMap.MIMETYPE_XML)); WorkflowDeployment deployment = workflowComponent.deployDefinition(processDef.getInputStream(), MimetypeMap.MIMETYPE_XML); testWorkflowDef = deployment.definition; assertNotNull(testWorkflowDef); assertEquals("jbpm$test", testWorkflowDef.name); assertEquals("1", testWorkflowDef.version); assertTrue( workflowComponent.isDefinitionDeployed( processDef.getInputStream(), MimetypeMap.MIMETYPE_XML)); authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName()); }
@Override protected String applyInternal() throws Exception { WorkflowDeployer deployer = (WorkflowDeployer) applicationContext.getBean("workflowPatchDeployer"); WorkflowAdminService workflowAdminService = (WorkflowAdminService) applicationContext.getBean("workflowAdminService"); if (workflowDefinitions != null) { for (Properties props : workflowDefinitions) { props.put(WorkflowDeployer.REDEPLOY, "true"); } deployer.setWorkflowDefinitions(workflowDefinitions); deployer.init(); } int undeployed = 0; StringBuilder errorMessages = new StringBuilder(); if (undeployWorkflowNames != null) { List<String> undeployableWorkflows = new ArrayList<String>(undeployWorkflowNames); for (String workflowName : undeployWorkflowNames) { String engineId = BPMEngineRegistry.getEngineId(workflowName); if (workflowAdminService.isEngineEnabled(engineId)) { undeployableWorkflows.add(workflowName); } else { errorMessages.append( I18NUtil.getMessage(MSG_ERROR_ENGINE_DEACTIVATED, workflowName, engineId)); } } undeployed = deployer.undeploy(undeployableWorkflows); } // done StringBuilder msg = new StringBuilder(); if (workflowDefinitions != null) { msg.append(I18NUtil.getMessage(MSG_DEPLOYED, workflowDefinitions.size())); } if (undeployWorkflowNames != null) { if (msg.length() > 0) { msg.append(' '); } msg.append(I18NUtil.getMessage(MSG_UNDEPLOYED, undeployed)); } if (errorMessages.length() > 0) { msg.append(errorMessages); } return msg.toString(); }