private Set<String> getUpdatedVariables(final ProcessGroup group, final Map<String, String> newVariableValues) { final Set<String> updatedVariableNames = new HashSet<>(); final ComponentVariableRegistry registry = group.getVariableRegistry(); for (final Map.Entry<String, String> entry : newVariableValues.entrySet()) { final String varName = entry.getKey(); final String newValue = entry.getValue(); final String curValue = registry.getVariableValue(varName); if (!Objects.equals(newValue, curValue)) { updatedVariableNames.add(varName); } } return updatedVariableNames; }
private void populateReferencedAncestorVariables(final ProcessGroup group, final VersionedProcessGroup versionedGroup) { final Set<String> ancestorVariableNames = new HashSet<>(); populateVariableNames(group.getParent(), ancestorVariableNames); final Map<String, String> implicitlyDefinedVariables = new HashMap<>(); for (final String variableName : ancestorVariableNames) { final boolean isReferenced = !group.getComponentsAffectedByVariable(variableName).isEmpty(); if (isReferenced) { final String value = group.getVariableRegistry().getVariableValue(variableName); implicitlyDefinedVariables.put(variableName, value); } } if (!implicitlyDefinedVariables.isEmpty()) { // Merge the implicit variables with the explicitly defined variables for the Process Group // and set those as the Versioned Group's variables. if (versionedGroup.getVariables() != null) { implicitlyDefinedVariables.putAll(versionedGroup.getVariables()); } versionedGroup.setVariables(implicitlyDefinedVariables); } }
final VariableDTO variableDto = new VariableDTO(); variableDto.setName(variableName); variableDto.setValue(variableRegistry.getVariableValue(variableName)); variableDto.setProcessGroupId(processGroup.getIdentifier());