protected boolean deploymentsDiffer(CmmnDeploymentEntity deployment, CmmnDeploymentEntity saved) { if (deployment.getResources() == null || saved.getResources() == null) { return true; } Map<String, EngineResource> resources = deployment.getResources(); Map<String, EngineResource> savedResources = saved.getResources(); for (String resourceName : resources.keySet()) { EngineResource savedResource = savedResources.get(resourceName); if (savedResource == null) { return true; } EngineResource resource = resources.get(resourceName); byte[] bytes = resource.getBytes(); byte[] savedBytes = savedResource.getBytes(); if (!Arrays.equals(bytes, savedBytes)) { return true; } } return false; }
protected boolean deploymentsDiffer(AppDeploymentEntity deployment, AppDeploymentEntity saved) { if (deployment.getResources() == null || saved.getResources() == null) { return true; } Map<String, EngineResource> resources = deployment.getResources(); Map<String, EngineResource> savedResources = saved.getResources(); for (String resourceName : resources.keySet()) { EngineResource savedResource = savedResources.get(resourceName); if (savedResource == null) { return true; } EngineResource resource = resources.get(resourceName); byte[] bytes = resource.getBytes(); byte[] savedBytes = savedResource.getBytes(); if (!Arrays.equals(bytes, savedBytes)) { return true; } } return false; }
protected boolean deploymentsDiffer(DmnDeploymentEntity deployment, DmnDeploymentEntity saved) { if (deployment.getResources() == null || saved.getResources() == null) { return true; } Map<String, EngineResource> resources = deployment.getResources(); Map<String, EngineResource> savedResources = saved.getResources(); for (String resourceName : resources.keySet()) { EngineResource savedResource = savedResources.get(resourceName); if (savedResource == null) return true; EngineResource resource = resources.get(resourceName); byte[] bytes = resource.getBytes(); byte[] savedBytes = savedResource.getBytes(); if (!Arrays.equals(bytes, savedBytes)) { return true; } } return false; } }
protected boolean deploymentsDiffer(DeploymentEntity deployment, DeploymentEntity saved) { if (deployment.getResources() == null || saved.getResources() == null) { return true; } Map<String, EngineResource> resources = deployment.getResources(); Map<String, EngineResource> savedResources = saved.getResources(); for (String resourceName : resources.keySet()) { EngineResource savedResource = savedResources.get(resourceName); if (savedResource == null) return true; if (!savedResource.isGenerated()) { EngineResource resource = resources.get(resourceName); byte[] bytes = resource.getBytes(); byte[] savedBytes = savedResource.getBytes(); if (!Arrays.equals(bytes, savedBytes)) { return true; } } } return false; }
@Override public CmmnParseResult parse(EngineResource resourceEntity) { try (ByteArrayInputStream inputStream = new ByteArrayInputStream(resourceEntity.getBytes())) { CmmnParseResult cmmnParseResult = parse(resourceEntity, new InputStreamSource(inputStream)); processDI(cmmnParseResult.getCmmnModel(), cmmnParseResult.getAllCaseDefinitions()); return cmmnParseResult; } catch (IOException e) { logger.error("Could not read bytes from CMMN resource", e); return new CmmnParseResult(); } }
@Override public void deploy(EngineDeployment deployment, Map<String, Object> deploymentSettings) { LOGGER.debug("Processing app deployment {}", deployment.getName()); ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(); DeploymentManager deploymentManager = processEngineConfiguration.getDeploymentManager(); Object appResourceObject = null; DeploymentEntity deploymentEntity = (DeploymentEntity) deployment; Map<String, EngineResource> resources = deploymentEntity.getResources(); for (String resourceName : resources.keySet()) { if (resourceName.endsWith(".app")) { LOGGER.info("Processing app resource {}", resourceName); EngineResource resourceEntity = resources.get(resourceName); byte[] resourceBytes = resourceEntity.getBytes(); appResourceObject = processEngineConfiguration.getAppResourceConverter().convertAppResourceToModel(resourceBytes); } } if (appResourceObject != null) { deploymentManager.getAppResourceCache().add(deployment.getId(), appResourceObject); } } }
protected BpmnParse createBpmnParseFromResource(EngineResource resource) { String resourceName = resource.getName(); ByteArrayInputStream inputStream = new ByteArrayInputStream(resource.getBytes()); BpmnParse bpmnParse = bpmnParser.createParse() .sourceInputStream(inputStream) .setSourceSystemId(resourceName) .deployment(deployment) .name(resourceName); if (deploymentSettings != null) { // Schema validation if needed if (deploymentSettings.containsKey(DeploymentSettings.IS_BPMN20_XSD_VALIDATION_ENABLED)) { bpmnParse.setValidateSchema((Boolean) deploymentSettings.get(DeploymentSettings.IS_BPMN20_XSD_VALIDATION_ENABLED)); } // Process validation if needed if (deploymentSettings.containsKey(DeploymentSettings.IS_PROCESS_VALIDATION_ENABLED)) { bpmnParse.setValidateProcess((Boolean) deploymentSettings.get(DeploymentSettings.IS_PROCESS_VALIDATION_ENABLED)); } } else { // On redeploy, we assume it is validated at the first deploy bpmnParse.setValidateSchema(false); bpmnParse.setValidateProcess(false); } try { bpmnParse.execute(); } catch (Exception e) { LOGGER.error("Could not parse resource {}", resource.getName(), e); throw e; } return bpmnParse; }
@Override public void deploy(EngineDeployment deployment, Map<String, Object> deploymentSettings) { LOGGER.debug("Processing rules deployment {}", deployment.getName()); KnowledgeBuilder knowledgeBuilder = null; DeploymentManager deploymentManager = CommandContextUtil.getProcessEngineConfiguration().getDeploymentManager(); Map<String, EngineResource> resources = deployment.getResources(); for (String resourceName : resources.keySet()) { if (resourceName.endsWith(".drl")) { // is only parsing .drls sufficient? what about other rule dsl's? (@see ResourceType) LOGGER.info("Processing rules resource {}", resourceName); if (knowledgeBuilder == null) { knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); } EngineResource resourceEntity = resources.get(resourceName); byte[] resourceBytes = resourceEntity.getBytes(); Resource droolsResource = ResourceFactory.newByteArrayResource(resourceBytes); knowledgeBuilder.add(droolsResource, ResourceType.DRL); } } if (knowledgeBuilder != null) { KieBase kieBase = knowledgeBuilder.newKieBase(); deploymentManager.getKnowledgeBaseCache().add(deployment.getId(), kieBase); } } }
protected DmnParse createDmnParseFromResource(EngineResource resource) { String resourceName = resource.getName(); ByteArrayInputStream inputStream = new ByteArrayInputStream(resource.getBytes()); DmnParse dmnParse = dmnParseFactory.createParse() .sourceInputStream(inputStream) .setSourceSystemId(resourceName) .deployment(deployment) .name(resourceName); if (deploymentSettings != null) { // Schema validation if needed if (deploymentSettings.containsKey(DeploymentSettings.IS_DMN_XSD_VALIDATION_ENABLED)) { dmnParse.setValidateSchema((Boolean) deploymentSettings.get(DeploymentSettings.IS_DMN_XSD_VALIDATION_ENABLED)); } } else { // On redeploy, we assume it is validated at the first deploy dmnParse.setValidateSchema(false); } dmnParse.execute(CommandContextUtil.getDmnEngineConfiguration()); return dmnParse; }
@Override public void deploy(EngineDeployment deployment, Map<String, Object> deploymentSettings) { if (!deployment.isNew()) { return; } LOGGER.debug("CmmnDeployer: processing deployment {}", deployment.getName()); CmmnDeploymentBuilder cmmnDeploymentBuilder = null; Map<String, EngineResource> resources = deployment.getResources(); for (String resourceName : resources.keySet()) { if (org.flowable.cmmn.engine.impl.deployer.CmmnDeployer.isCmmnResource(resourceName)) { LOGGER.info("CmmnDeployer: processing resource {}", resourceName); if (cmmnDeploymentBuilder == null) { CmmnRepositoryService cmmnRepositoryService = CommandContextUtil.getCmmnRepositoryService(); cmmnDeploymentBuilder = cmmnRepositoryService.createDeployment().name(deployment.getName()); } cmmnDeploymentBuilder.addBytes(resourceName, resources.get(resourceName).getBytes()); } } if (cmmnDeploymentBuilder != null) { cmmnDeploymentBuilder.parentDeploymentId(deployment.getId()); cmmnDeploymentBuilder.key(deployment.getKey()); if (deployment.getTenantId() != null && deployment.getTenantId().length() > 0) { cmmnDeploymentBuilder.tenantId(deployment.getTenantId()); } cmmnDeploymentBuilder.deploy(); } }
@Override public void deploy(EngineDeployment deployment, Map<String, Object> deploymentSettings) { if (!deployment.isNew()) { return; } LOGGER.debug("BpmnDeployer: processing deployment {}", deployment.getName()); DeploymentBuilder bpmnDeploymentBuilder = null; Map<String, EngineResource> resources = deployment.getResources(); for (String resourceName : resources.keySet()) { if (isBpmnResource(resourceName)) { LOGGER.info("BpmnDeployer: processing resource {}", resourceName); if (bpmnDeploymentBuilder == null) { RepositoryService repositoryService = CommandContextUtil.getProcessEngineConfiguration().getRepositoryService(); bpmnDeploymentBuilder = repositoryService.createDeployment().name(deployment.getName()); } bpmnDeploymentBuilder.addBytes(resourceName, resources.get(resourceName).getBytes()); } } if (bpmnDeploymentBuilder != null) { bpmnDeploymentBuilder.parentDeploymentId(deployment.getId()); bpmnDeploymentBuilder.key(deployment.getKey()); if (deployment.getTenantId() != null && deployment.getTenantId().length() > 0) { bpmnDeploymentBuilder.tenantId(deployment.getTenantId()); } bpmnDeploymentBuilder.deploy(); } }
activiti5ResourceEntity.setBytes(activiti6ResourceEntity.getBytes()); activiti5Resources.put(resourceKey, activiti5ResourceEntity);
byte[] resourceBytes = resourceEntity.getBytes(); appResourceModel = appEngineConfiguration.getAppResourceConverter().convertAppResourceToModel(resourceBytes);