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));
+        }
     }
 
 

Reply via email to