Repository: nifi-registry Updated Branches: refs/heads/master 04cf23220 -> 31fe8434c
NIFIREG-62: Bug fixes; minor wording improvements This closes #53. Signed-off-by: Bryan Bende <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi-registry/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-registry/commit/31fe8434 Tree: http://git-wip-us.apache.org/repos/asf/nifi-registry/tree/31fe8434 Diff: http://git-wip-us.apache.org/repos/asf/nifi-registry/diff/31fe8434 Branch: refs/heads/master Commit: 31fe8434c5ffa0591c0c120c1e242fa6cb92b600 Parents: 04cf232 Author: Mark Payne <[email protected]> Authored: Tue Dec 5 12:19:02 2017 -0500 Committer: Bryan Bende <[email protected]> Committed: Tue Dec 12 15:06:52 2017 -0500 ---------------------------------------------------------------------- .../registry/client/impl/JerseyFlowClient.java | 8 +-- .../client/impl/JerseyNiFiRegistryClient.java | 2 +- .../ConciseEvolvingDifferenceDescriptor.java | 6 +++ .../nifi/registry/flow/diff/DifferenceType.java | 5 -- .../flow/diff/StandardFlowComparator.java | 53 ++++++++++++++------ 5 files changed, 48 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/31fe8434/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyFlowClient.java ---------------------------------------------------------------------- diff --git a/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyFlowClient.java b/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyFlowClient.java index 696394e..a54331b 100644 --- a/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyFlowClient.java +++ b/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyFlowClient.java @@ -52,15 +52,15 @@ public class JerseyFlowClient extends AbstractJerseyClient implements FlowClien @Override public VersionedFlow create(final VersionedFlow flow) throws NiFiRegistryException, IOException { + if (flow == null) { + throw new IllegalArgumentException("VersionedFlow cannot be null"); + } + final String bucketId = flow.getBucketIdentifier(); if (StringUtils.isBlank(bucketId)) { throw new IllegalArgumentException("Bucket Identifier cannot be blank"); } - if (flow == null) { - throw new IllegalArgumentException("VersionedFlow cannot be null"); - } - return executeAction("Error creating flow", () -> { final WebTarget target = bucketFlowsTarget .resolveTemplate("bucketId", bucketId); http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/31fe8434/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyNiFiRegistryClient.java ---------------------------------------------------------------------- diff --git a/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyNiFiRegistryClient.java b/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyNiFiRegistryClient.java index c2eaee5..329a47a 100644 --- a/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyNiFiRegistryClient.java +++ b/nifi-registry-client/src/main/java/org/apache/nifi/registry/client/impl/JerseyNiFiRegistryClient.java @@ -77,7 +77,7 @@ public class JerseyNiFiRegistryClient implements NiFiRegistryClient { } if (baseUrl.endsWith("/")) { - baseUrl = baseUrl.substring(0, baseUrl.length() - 2); + baseUrl = baseUrl.substring(0, baseUrl.length() - 1); } if (!baseUrl.endsWith(NIFI_REGISTRY_CONTEXT)) { http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/31fe8434/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/ConciseEvolvingDifferenceDescriptor.java ---------------------------------------------------------------------- diff --git a/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/ConciseEvolvingDifferenceDescriptor.java b/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/ConciseEvolvingDifferenceDescriptor.java index eb8c874..9efddf3 100644 --- a/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/ConciseEvolvingDifferenceDescriptor.java +++ b/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/ConciseEvolvingDifferenceDescriptor.java @@ -52,6 +52,12 @@ public class ConciseEvolvingDifferenceDescriptor implements DifferenceDescriptor case VARIABLE_REMOVED: description = String.format("Variable '%s' was removed", valueA); break; + case POSITION_CHANGED: + description = "Position was changed"; + break; + case BENDPOINTS_CHANGED: + description = "Connection Bendpoints changed"; + break; case VERSIONED_FLOW_COORDINATES_CHANGED: if (valueA instanceof VersionedFlowCoordinates && valueB instanceof VersionedFlowCoordinates) { final VersionedFlowCoordinates coordinatesA = (VersionedFlowCoordinates) valueA; http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/31fe8434/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/DifferenceType.java ---------------------------------------------------------------------- diff --git a/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/DifferenceType.java b/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/DifferenceType.java index c7a7bc1..42d5838 100644 --- a/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/DifferenceType.java +++ b/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/DifferenceType.java @@ -79,11 +79,6 @@ public enum DifferenceType { SCHEDULING_STRATEGY_CHANGED("Scheduling Strategy Changed"), /** - * The component has a different scheduling period in each of the flows - */ - SCHEDULING_PERIOD_CHANGED("Scheduling Period Changed"), - - /** * The component has a different maximum number of concurrent tasks in each of the flows */ CONCURRENT_TASKS_CHANGED("Concurrent Tasks Changed"), http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/31fe8434/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java ---------------------------------------------------------------------- diff --git a/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java b/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java index 3541ab5..de5f097 100644 --- a/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java +++ b/nifi-registry-flow-diff/src/main/java/org/apache/nifi/registry/flow/diff/StandardFlowComparator.java @@ -146,11 +146,11 @@ public class StandardFlowComparator implements FlowComparator { addIfDifferent(differences, DifferenceType.EXECUTION_MODE_CHANGED, processorA, processorB, VersionedProcessor::getExecutionNode); addIfDifferent(differences, DifferenceType.PENALTY_DURATION_CHANGED, processorA, processorB, VersionedProcessor::getPenaltyDuration); addIfDifferent(differences, DifferenceType.RUN_DURATION_CHANGED, processorA, processorB, VersionedProcessor::getRunDurationMillis); - addIfDifferent(differences, DifferenceType.SCHEDULING_PERIOD_CHANGED, processorA, processorB, VersionedProcessor::getSchedulingPeriod); + addIfDifferent(differences, DifferenceType.RUN_SCHEDULE_CHANGED, processorA, processorB, VersionedProcessor::getSchedulingPeriod); addIfDifferent(differences, DifferenceType.SCHEDULING_STRATEGY_CHANGED, processorA, processorB, VersionedProcessor::getSchedulingStrategy); addIfDifferent(differences, DifferenceType.STYLE_CHANGED, processorA, processorB, VersionedProcessor::getStyle); addIfDifferent(differences, DifferenceType.YIELD_DURATION_CHANGED, processorA, processorB, VersionedProcessor::getYieldDuration); - compareProperties(processorA, processorB, processorA.getProperties(), processorB.getProperties(), processorA.getPropertyDescriptors(), differences); + compareProperties(processorA, processorB, processorA.getProperties(), processorB.getProperties(), processorA.getPropertyDescriptors(), processorB.getPropertyDescriptors(), differences); } @Override @@ -167,12 +167,13 @@ public class StandardFlowComparator implements FlowComparator { addIfDifferent(differences, DifferenceType.ANNOTATION_DATA_CHANGED, serviceA, serviceB, VersionedControllerService::getAnnotationData); addIfDifferent(differences, DifferenceType.BUNDLE_CHANGED, serviceA, serviceB, VersionedControllerService::getBundle); - compareProperties(serviceA, serviceB, serviceA.getProperties(), serviceB.getProperties(), serviceA.getPropertyDescriptors(), differences); + compareProperties(serviceA, serviceB, serviceA.getProperties(), serviceB.getProperties(), serviceA.getPropertyDescriptors(), serviceB.getPropertyDescriptors(), differences); } private void compareProperties(final VersionedComponent componentA, final VersionedComponent componentB, - final Map<String, String> propertiesA, final Map<String, String> propertiesB, final Map<String, VersionedPropertyDescriptor> descriptorsA, + final Map<String, String> propertiesA, final Map<String, String> propertiesB, + final Map<String, VersionedPropertyDescriptor> descriptorsA, final Map<String, VersionedPropertyDescriptor> descriptorsB, final Set<FlowDifference> differences) { propertiesA.entrySet().stream() @@ -180,8 +181,17 @@ public class StandardFlowComparator implements FlowComparator { final String valueA = entry.getValue(); final String valueB = propertiesB.get(entry.getKey()); - final VersionedPropertyDescriptor descriptor = descriptorsA.get(entry.getKey()); - final String displayName = descriptor.getDisplayName() == null ? descriptor.getName() : descriptor.getDisplayName(); + VersionedPropertyDescriptor descriptor = descriptorsA.get(entry.getKey()); + if (descriptor == null) { + descriptor = descriptorsB.get(entry.getKey()); + } + + final String displayName; + if (descriptor == null) { + displayName = entry.getKey(); + } else { + displayName = descriptor.getDisplayName() == null ? descriptor.getName() : descriptor.getDisplayName(); + } if (valueA == null && valueB != null) { differences.add(difference(DifferenceType.PROPERTY_ADDED, componentA, componentB, displayName, displayName)); @@ -214,7 +224,16 @@ public class StandardFlowComparator implements FlowComparator { // If there are any properties for component B that do not exist for Component A, add those as differences as well. if (valueA == null && valueB != null) { - differences.add(difference(DifferenceType.PROPERTY_ADDED, componentA, componentB, entry.getKey(), entry.getKey())); + final VersionedPropertyDescriptor descriptor = descriptorsB.get(entry.getKey()); + + final String displayName; + if (descriptor == null) { + displayName = entry.getKey(); + } else { + displayName = descriptor.getDisplayName() == null ? descriptor.getName() : descriptor.getDisplayName(); + } + + differences.add(difference(DifferenceType.PROPERTY_ADDED, componentA, componentB, displayName, displayName)); } }); } @@ -288,15 +307,17 @@ public class StandardFlowComparator implements FlowComparator { addIfDifferent(differences, DifferenceType.VERSIONED_FLOW_COORDINATES_CHANGED, groupA, groupB, VersionedProcessGroup::getVersionedFlowCoordinates); - differences.addAll(compareComponents(groupA.getConnections(), groupB.getConnections(), this::compare)); - differences.addAll(compareComponents(groupA.getProcessors(), groupB.getProcessors(), this::compare)); - differences.addAll(compareComponents(groupA.getControllerServices(), groupB.getControllerServices(), this::compare)); - differences.addAll(compareComponents(groupA.getFunnels(), groupB.getFunnels(), this::compare)); - differences.addAll(compareComponents(groupA.getInputPorts(), groupB.getInputPorts(), this::compare)); - differences.addAll(compareComponents(groupA.getLabels(), groupB.getLabels(), this::compare)); - differences.addAll(compareComponents(groupA.getOutputPorts(), groupB.getOutputPorts(), this::compare)); - differences.addAll(compareComponents(groupA.getProcessGroups(), groupB.getProcessGroups(), (a, b, diffs) -> compare(a, b, diffs, true))); - differences.addAll(compareComponents(groupA.getRemoteProcessGroups(), groupB.getRemoteProcessGroups(), this::compare)); + if (groupA != null && groupB != null && groupA.getVersionedFlowCoordinates() == null && groupB.getVersionedFlowCoordinates() == null) { + differences.addAll(compareComponents(groupA.getConnections(), groupB.getConnections(), this::compare)); + differences.addAll(compareComponents(groupA.getProcessors(), groupB.getProcessors(), this::compare)); + differences.addAll(compareComponents(groupA.getControllerServices(), groupB.getControllerServices(), this::compare)); + differences.addAll(compareComponents(groupA.getFunnels(), groupB.getFunnels(), this::compare)); + differences.addAll(compareComponents(groupA.getInputPorts(), groupB.getInputPorts(), this::compare)); + differences.addAll(compareComponents(groupA.getLabels(), groupB.getLabels(), this::compare)); + differences.addAll(compareComponents(groupA.getOutputPorts(), groupB.getOutputPorts(), this::compare)); + differences.addAll(compareComponents(groupA.getProcessGroups(), groupB.getProcessGroups(), (a, b, diffs) -> compare(a, b, diffs, true))); + differences.addAll(compareComponents(groupA.getRemoteProcessGroups(), groupB.getRemoteProcessGroups(), this::compare)); + } }
