Repository: nifi-registry
Updated Branches:
  refs/heads/master 51b6c78b6 -> 3d765be3d


NIFIREG-160 Fixing issue where version created event throws an exception when 
comments are not provided

This closes #118.

Signed-off-by: Kevin Doran <[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/3d765be3
Tree: http://git-wip-us.apache.org/repos/asf/nifi-registry/tree/3d765be3
Diff: http://git-wip-us.apache.org/repos/asf/nifi-registry/diff/3d765be3

Branch: refs/heads/master
Commit: 3d765be3d6c1cecba6cd5b96830e3f2f8af34e12
Parents: 51b6c78
Author: Bryan Bende <[email protected]>
Authored: Thu May 24 11:23:16 2018 -0400
Committer: Kevin Doran <[email protected]>
Committed: Thu May 24 11:43:44 2018 -0400

----------------------------------------------------------------------
 .../java/org/apache/nifi/registry/event/EventFactory.java    | 5 ++++-
 .../org/apache/nifi/registry/event/StandardEventField.java   | 2 +-
 .../org/apache/nifi/registry/event/TestEventFactory.java     | 8 ++++++++
 .../apache/nifi/registry/web/api/ApplicationResource.java    | 7 ++++++-
 4 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/3d765be3/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/EventFactory.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/EventFactory.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/EventFactory.java
index ba9e775..b837d6d 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/EventFactory.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/EventFactory.java
@@ -81,13 +81,16 @@ public class EventFactory {
     }
 
     public static Event flowVersionCreated(final VersionedFlowSnapshot 
versionedFlowSnapshot) {
+        final String versionComments = 
versionedFlowSnapshot.getSnapshotMetadata().getComments() == null
+                ? "" : 
versionedFlowSnapshot.getSnapshotMetadata().getComments();
+
         return new StandardEvent.Builder()
                 .eventType(EventType.CREATE_FLOW_VERSION)
                 .addField(EventFieldName.BUCKET_ID, 
versionedFlowSnapshot.getSnapshotMetadata().getBucketIdentifier())
                 .addField(EventFieldName.FLOW_ID, 
versionedFlowSnapshot.getSnapshotMetadata().getFlowIdentifier())
                 .addField(EventFieldName.VERSION, 
String.valueOf(versionedFlowSnapshot.getSnapshotMetadata().getVersion()))
                 .addField(EventFieldName.USER, 
versionedFlowSnapshot.getSnapshotMetadata().getAuthor())
-                .addField(EventFieldName.COMMENT, 
versionedFlowSnapshot.getSnapshotMetadata().getComments())
+                .addField(EventFieldName.COMMENT, versionComments)
                 .build();
     }
 

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/3d765be3/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/StandardEventField.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/StandardEventField.java
 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/StandardEventField.java
index 7ff94c5..21266bb 100644
--- 
a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/StandardEventField.java
+++ 
b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/event/StandardEventField.java
@@ -33,7 +33,7 @@ public class StandardEventField implements EventField {
         this.name = name;
         this.value = value;
         Validate.notNull(this.name);
-        Validate.notBlank(this.value);
+        Validate.notNull(this.value);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/3d765be3/nifi-registry-framework/src/test/java/org/apache/nifi/registry/event/TestEventFactory.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-framework/src/test/java/org/apache/nifi/registry/event/TestEventFactory.java
 
b/nifi-registry-framework/src/test/java/org/apache/nifi/registry/event/TestEventFactory.java
index 95dd6ab..a9ad911 100644
--- 
a/nifi-registry-framework/src/test/java/org/apache/nifi/registry/event/TestEventFactory.java
+++ 
b/nifi-registry-framework/src/test/java/org/apache/nifi/registry/event/TestEventFactory.java
@@ -158,4 +158,12 @@ public class TestEventFactory {
                 event.getField(EventFieldName.COMMENT).getValue());
     }
 
+    @Test
+    public void testFlowVersionedCreatedWhenCommentsMissing() {
+        versionedFlowSnapshot.getSnapshotMetadata().setComments(null);
+        final Event event = 
EventFactory.flowVersionCreated(versionedFlowSnapshot);
+        event.validate();
+        assertEquals("", event.getField(EventFieldName.COMMENT).getValue());
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/3d765be3/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ApplicationResource.java
----------------------------------------------------------------------
diff --git 
a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ApplicationResource.java
 
b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ApplicationResource.java
index 34369d0..776a693 100644
--- 
a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ApplicationResource.java
+++ 
b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ApplicationResource.java
@@ -62,8 +62,13 @@ public class ApplicationResource {
         Validate.notNull(this.eventService);
     }
 
+    // We don't want an error creating/publishing an event to cause the 
overall request to fail, so catch all throwables here
     protected void publish(final Event event) {
-        eventService.publish(event);
+        try {
+            eventService.publish(event);
+        } catch (Throwable t) {
+            logger.error("Unable to publish event: " + t.getMessage(), t);
+        }
     }
 
     protected String generateResourceUri(final String... path) {

Reply via email to