public static Optional<String> readCamundaProperty(BaseElement modelElementInstance, String propertyName) { if (modelElementInstance.getExtensionElements() == null) { return Optional.empty(); } return queryCamundaPropertyValues(modelElementInstance, propertyName).findFirst(); }
public static Collection<String> readCamundaPropertyMulti(BaseElement modelElementInstance, String propertyName) { if (modelElementInstance.getExtensionElements() == null) { return Collections.emptyList(); } return queryCamundaPropertyValues(modelElementInstance, propertyName).collect(Collectors.toList()); }
protected static Stream<String> queryCamundaPropertyValues(BaseElement modelElementInstance, String propertyName) { return modelElementInstance.getExtensionElements().getElementsQuery().filterByType(CamundaProperties.class).list().stream() // .map(CamundaProperties::getCamundaProperties) // .flatMap(Collection::stream) // .filter(property -> property.getCamundaName().equals(propertyName)) // .map(CamundaProperty::getCamundaValue) // .filter(Objects::nonNull) // ; }
private void enableSetVariable(BaseElement element) { CamundaExecutionListener executionListener = element.getModelInstance().newInstance(CamundaExecutionListener.class); executionListener.setCamundaEvent("end"); executionListener.setCamundaClass(VariableSetterDelegate.class.getName()); // extension elements should exist because we have camunda:properties element.getExtensionElements().addChildElement(executionListener); }
/** * Check versions of referenced beans and/or classes * * @return issues */ @Override public Collection<CheckerIssue> check(final BpmnElement element) { final Collection<CheckerIssue> issues = new ArrayList<CheckerIssue>(); final BaseElement baseElement = element.getBaseElement(); // Service Task, Business Task, Send Task issues.addAll(checkCommonTasks(element)); // Script Task issues.addAll(checkScriptTask(element)); // Listener final ExtensionElements extensionElements = baseElement.getExtensionElements(); if (extensionElements != null) { // Execution Listener issues.addAll(checkExecutionListener(element, extensionElements)); // Task Listener issues.addAll(checkTaskListener(element, extensionElements)); } // Message Event Definition issues.addAll(checkMessageEventDefinition(element)); return issues; }
/** * Check for GroovyScript in a ScriptTask And checks for GroovyScript in ExtensionElements * * @return issues */ @Override public Collection<CheckerIssue> check(final BpmnElement element) { final Collection<CheckerIssue> issues = new ArrayList<CheckerIssue>(); final BaseElement baseElement = element.getBaseElement(); issues.addAll(checkScriptTask(element.getProcessdefinition(), element)); final ExtensionElements extensionElements = baseElement.getExtensionElements(); if (extensionElements != null) { issues.addAll( checkExecutionListener(element.getProcessdefinition(), element, baseElement, extensionElements)); issues.addAll( checkTaskListener(element.getProcessdefinition(), element, baseElement, extensionElements)); } return issues; }
private boolean hasProperty(String propertyName, BpmnElement element) { ExtensionElements elements = element.getBaseElement().getExtensionElements(); if (elements == null) { return false; } Query<CamundaProperties> query = elements.getElementsQuery() .filterByType(CamundaProperties.class); if (query.count() == 0) { return false; } Collection<CamundaProperty> properties = query .singleResult() .getCamundaProperties(); return properties.stream().anyMatch(p -> p.getCamundaName() != null && p.getCamundaName().equals(propertyName)); } }
scopeElementId = scopeElement.getAttributeValue(BpmnConstants.ATTR_ID); final ExtensionElements extensionElements = baseElement.getExtensionElements(); if (extensionElements != null) {