private static List<String> extractProcessDefinitionKeys(List<String> deployableFileNames) { ArrayList<String> keys = new ArrayList<String>(); for (String file : deployableFileNames) { if(file.endsWith(".bpmn") || file.endsWith(".bpmn20.xml")) { BpmnModelInstance modelInstance = Bpmn.readModelFromFile(new File(file)); Collection<Process> processes = modelInstance.getModelElementsByType(Process.class); for (Process process : processes) { if(process.isExecutable()) { keys.add(process.getId()); } } } } return keys; }
/** * Sets the camunda history time to live. * * @param historyTimeToLive value for history time to live, must be either null or non-negative integer. * @return the builder object */ public B camundaHistoryTimeToLive(Integer historyTimeToLive) { element.setCamundaHistoryTimeToLive(historyTimeToLive); return myself; }
/** * Set whenever the process is startable in Tasklist * * @param isStartableInTasklist default value is true * @return the builder object */ public B camundaStartableInTasklist(Boolean isStartableInTasklist) { element.setCamundaIsStartableInTasklist(isStartableInTasklist); return myself; }
protected Set<String> retrieveProcessKeysFromResources(Map<String, ResourceEntity> resources) { Set<String> keys = new HashSet<String>(); for (ResourceEntity resource : resources.values()) { if (isBpmnResource(resource)) { ByteArrayInputStream byteStream = new ByteArrayInputStream(resource.getBytes()); BpmnModelInstance model = Bpmn.readModelFromStream(byteStream); for (Process process : model.getDefinitions().getChildElementsByType(Process.class)) { keys.add(process.getId()); } } else if (isCmmnResource(resource)) { ByteArrayInputStream byteStream = new ByteArrayInputStream(resource.getBytes()); CmmnModelInstance model = Cmmn.readModelFromStream(byteStream); for (Case cmmnCase : model.getDefinitions().getCases()) { keys.add(cmmnCase.getId()); } } } return keys; }
BpmnModelInstance bpmn = engine.getRepositoryService().getBpmnModelInstance(processDefinition.getId()); Process process = bpmn.getModelElementById(processDefinitionKey); Collection<StartEvent> startEvents = process.getChildElementsByType(StartEvent.class); if (startEvents.size() == 1) { defaultStart = startEvents.iterator().next(); bpmn.getModelElementsByType(Process.class).stream().forEach(p -> p.setAttributeValueNs("http://camunda.org/schema/1.0/bpmn", "versionTag", "demo-data-generator")); bpmn.getModelElementsByType(bpmn.getModel().getType(Process.class)).forEach(instance -> tweakedProcessKeys.add((((Process) instance).getId())));
final IGraph graph = new Graph(process.getId()); final Collection<FlowElement> elements = process.getFlowElements(); final Collection<SequenceFlow> flows = new ArrayList<SequenceFlow>(); final Collection<BoundaryEvent> boundaryEvents = new ArrayList<BoundaryEvent>();
private boolean isExecutable(final ModelElementInstance node) { if (node == null) { return false; } if (node instanceof org.camunda.bpm.model.bpmn.instance.Process) { return ((org.camunda.bpm.model.bpmn.instance.Process) node).isExecutable(); } return isExecutable(node.getParentElement()); }
/** * Set the camunda task priority attribute. * The priority is only used for service tasks which have as type value * <code>external</code> * * @param taskPriority the task priority which should used for the external tasks * @return the builder object */ public B camundaTaskPriority(String taskPriority) { element.setCamundaTaskPriority(taskPriority); return myself; }
/** * Set to specify a version tag for the process definition. * * @param versionTag the version of the process definition * @return the builder object */ public B camundaVersionTag(String versionTag) { element.setCamundaVersionTag(versionTag); return myself; } }
/** * Sets this closed. * * @return the builder object */ public B closed() { element.setClosed(true); return myself; }
/** * Sets this executable. * * @return the builder object */ public B executable() { element.setExecutable(true); return myself; }
public B camundaJobPriority(String jobPriority) { element.setCamundaJobPriority(jobPriority); return myself; }
public static ProcessBuilder createProcess() { BpmnModelInstance modelInstance = INSTANCE.doCreateEmptyModel(); Definitions definitions = modelInstance.newInstance(Definitions.class); definitions.setTargetNamespace(BPMN20_NS); definitions.getDomElement().registerNamespace("camunda", CAMUNDA_NS); modelInstance.setDefinitions(definitions); Process process = modelInstance.newInstance(Process.class); definitions.addChildElement(process); BpmnDiagram bpmnDiagram = modelInstance.newInstance(BpmnDiagram.class); BpmnPlane bpmnPlane = modelInstance.newInstance(BpmnPlane.class); bpmnPlane.setBpmnElement(process); bpmnDiagram.addChildElement(bpmnPlane); definitions.addChildElement(bpmnDiagram); return process.builder(); }
protected Set<String> retrieveProcessKeysFromResources(Map<String, ResourceEntity> resources) { Set<String> keys = new HashSet<String>(); for (ResourceEntity resource : resources.values()) { if (isBpmnResource(resource)) { ByteArrayInputStream byteStream = new ByteArrayInputStream(resource.getBytes()); BpmnModelInstance model = Bpmn.readModelFromStream(byteStream); for (Process process : model.getDefinitions().getChildElementsByType(Process.class)) { keys.add(process.getId()); } } else if (isCmmnResource(resource)) { ByteArrayInputStream byteStream = new ByteArrayInputStream(resource.getBytes()); CmmnModelInstance model = Cmmn.readModelFromStream(byteStream); for (Case cmmnCase : model.getDefinitions().getCases()) { keys.add(cmmnCase.getId()); } } } return keys; }
/** * Set the camunda task priority attribute. * The priority is only used for service tasks which have as type value * <code>external</code> * * @param taskPriority the task priority which should used for the external tasks * @return the builder object */ public B camundaTaskPriority(String taskPriority) { element.setCamundaTaskPriority(taskPriority); return myself; }
/** * Set to specify a version tag for the process definition. * * @param versionTag the version of the process definition * @return the builder object */ public B camundaVersionTag(String versionTag) { element.setCamundaVersionTag(versionTag); return myself; } }
/** * Sets this closed. * * @return the builder object */ public B closed() { element.setClosed(true); return myself; }
/** * Sets this executable. * * @return the builder object */ public B executable() { element.setExecutable(true); return myself; }
public B camundaJobPriority(String jobPriority) { element.setCamundaJobPriority(jobPriority); return myself; }
public static ProcessBuilder createProcess() { BpmnModelInstance modelInstance = INSTANCE.doCreateEmptyModel(); Definitions definitions = modelInstance.newInstance(Definitions.class); definitions.setTargetNamespace(BPMN20_NS); definitions.getDomElement().registerNamespace("camunda", CAMUNDA_NS); modelInstance.setDefinitions(definitions); Process process = modelInstance.newInstance(Process.class); definitions.addChildElement(process); BpmnDiagram bpmnDiagram = modelInstance.newInstance(BpmnDiagram.class); BpmnPlane bpmnPlane = modelInstance.newInstance(BpmnPlane.class); bpmnPlane.setBpmnElement(process); bpmnDiagram.addChildElement(bpmnPlane); definitions.addChildElement(bpmnDiagram); return process.builder(); }