You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jp...@apache.org on 2016/05/06 22:03:54 UTC

[1/2] nifi git commit: NIFI-1814 Extended caught exceptions

Repository: nifi
Updated Branches:
  refs/heads/master 9db1def6c -> e5925ff4b


NIFI-1814 Extended caught exceptions

This closes #382


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/e2bbea1c
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/e2bbea1c
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/e2bbea1c

Branch: refs/heads/master
Commit: e2bbea1c531e7a5240fe9eeded7ec87a28e054f5
Parents: 9db1def
Author: Pierre Villard <pi...@gmail.com>
Authored: Tue Apr 26 22:03:59 2016 +0200
Committer: jpercivall <jo...@yahoo.com>
Committed: Fri May 6 18:00:40 2016 -0400

----------------------------------------------------------------------
 .../processors/standard/HandleHttpResponse.java |  5 +-
 .../standard/TestHandleHttpResponse.java        | 77 ++++++++++++++------
 2 files changed, 56 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/e2bbea1c/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpResponse.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpResponse.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpResponse.java
index ecc05ee..1a24e6e 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpResponse.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpResponse.java
@@ -16,7 +16,6 @@
  */
 package org.apache.nifi.processors.standard;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -155,9 +154,9 @@ public class HandleHttpResponse extends AbstractProcessor {
         try {
             session.exportTo(flowFile, response.getOutputStream());
             response.flushBuffer();
-        } catch (final IOException ioe) {
+        } catch (final Exception e) {
             session.transfer(flowFile, REL_FAILURE);
-            getLogger().error("Failed to respond to HTTP request for {} due to {}", new Object[]{flowFile, ioe});
+            getLogger().error("Failed to respond to HTTP request for {} due to {}", new Object[]{flowFile, e});
             return;
         }
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/e2bbea1c/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpResponse.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpResponse.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpResponse.java
index 9e31a4e..84fb26d 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpResponse.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestHandleHttpResponse.java
@@ -38,6 +38,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.apache.nifi.controller.AbstractControllerService;
 import org.apache.nifi.http.HttpContextMap;
+import org.apache.nifi.processor.exception.FlowFileAccessException;
 import org.apache.nifi.reporting.InitializationException;
 import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
@@ -53,7 +54,7 @@ public class TestHandleHttpResponse {
     public void testEnsureCompleted() throws InitializationException {
         final TestRunner runner = TestRunners.newTestRunner(HandleHttpResponse.class);
 
-        final MockHttpContextMap contextMap = new MockHttpContextMap("my-id");
+        final MockHttpContextMap contextMap = new MockHttpContextMap("my-id", false);
         runner.addControllerService("http-context-map", contextMap);
         runner.enableControllerService(contextMap);
         runner.setProperty(HandleHttpResponse.HTTP_CONTEXT_MAP, "http-context-map");
@@ -80,18 +81,44 @@ public class TestHandleHttpResponse {
         assertTrue(contextMap.headersWithNoValue.isEmpty());
     }
 
+    @Test
+    public void testWithExceptionThrown() throws InitializationException {
+        final TestRunner runner = TestRunners.newTestRunner(HandleHttpResponse.class);
+
+        final MockHttpContextMap contextMap = new MockHttpContextMap("my-id", true);
+        runner.addControllerService("http-context-map", contextMap);
+        runner.enableControllerService(contextMap);
+        runner.setProperty(HandleHttpResponse.HTTP_CONTEXT_MAP, "http-context-map");
+        runner.setProperty(HandleHttpResponse.STATUS_CODE, "${status.code}");
+        runner.setProperty("my-attr", "${my-attr}");
+        runner.setProperty("no-valid-attr", "${no-valid-attr}");
+
+        final Map<String, String> attributes = new HashMap<>();
+        attributes.put(HandleHttpResponse.HTTP_CONTEXT_ID, "my-id");
+        attributes.put("my-attr", "hello");
+        attributes.put("status.code", "201");
+
+        runner.enqueue("hello".getBytes(), attributes);
+
+        runner.run();
+
+        runner.assertAllFlowFilesTransferred(HandleHttpResponse.REL_FAILURE, 1);
+    }
+
     private static class MockHttpContextMap extends AbstractControllerService implements HttpContextMap {
 
         private final String id;
         private final AtomicInteger completedCount = new AtomicInteger(0);
         private final ByteArrayOutputStream baos = new ByteArrayOutputStream();
         private final ConcurrentMap<String, String> headersSent = new ConcurrentHashMap<>();
+        private final boolean shouldThrowException;
         private volatile int statusCode = -1;
 
         private final List<String> headersWithNoValue = new CopyOnWriteArrayList<>();
 
-        public MockHttpContextMap(final String expectedIdentifier) {
+        public MockHttpContextMap(final String expectedIdentifier, final boolean shouldThrowException) {
             this.id = expectedIdentifier;
+            this.shouldThrowException = shouldThrowException;
         }
 
         @Override
@@ -107,31 +134,35 @@ public class TestHandleHttpResponse {
 
             try {
                 final HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
-                Mockito.when(response.getOutputStream()).thenReturn(new ServletOutputStream() {
-                    @Override
-                    public boolean isReady() {
-                        return true;
-                    }
+                if(shouldThrowException) {
+                    Mockito.when(response.getOutputStream()).thenThrow(new FlowFileAccessException("exception"));
+                } else {
+                    Mockito.when(response.getOutputStream()).thenReturn(new ServletOutputStream() {
+                        @Override
+                        public boolean isReady() {
+                            return true;
+                        }
 
-                    @Override
-                    public void setWriteListener(WriteListener writeListener) {
-                    }
+                        @Override
+                        public void setWriteListener(WriteListener writeListener) {
+                        }
 
-                    @Override
-                    public void write(int b) throws IOException {
-                        baos.write(b);
-                    }
+                        @Override
+                        public void write(int b) throws IOException {
+                            baos.write(b);
+                        }
 
-                    @Override
-                    public void write(byte[] b) throws IOException {
-                        baos.write(b);
-                    }
+                        @Override
+                        public void write(byte[] b) throws IOException {
+                            baos.write(b);
+                        }
 
-                    @Override
-                    public void write(byte[] b, int off, int len) throws IOException {
-                        baos.write(b, off, len);
-                    }
-                });
+                        @Override
+                        public void write(byte[] b, int off, int len) throws IOException {
+                            baos.write(b, off, len);
+                        }
+                    });
+                }
 
                 Mockito.doAnswer(new Answer<Object>() {
                     @Override


[2/2] nifi git commit: Fixing contrib check

Posted by jp...@apache.org.
Fixing contrib check


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/e5925ff4
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/e5925ff4
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/e5925ff4

Branch: refs/heads/master
Commit: e5925ff4b33c7768666099ab683e68b8bc2efec4
Parents: e2bbea1
Author: jpercivall <jo...@yahoo.com>
Authored: Fri May 6 18:01:15 2016 -0400
Committer: jpercivall <jo...@yahoo.com>
Committed: Fri May 6 18:02:44 2016 -0400

----------------------------------------------------------------------
 .../http/endpoints/ControllerServiceReferenceEndpointMerger.java | 1 -
 .../src/main/java/org/apache/nifi/services/FlowService.java      | 2 +-
 .../main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java | 4 ++--
 .../src/main/java/org/apache/nifi/web/api/FunnelResource.java    | 1 -
 .../java/org/apache/nifi/web/revision/NaiveRevisionManager.java  | 3 ++-
 .../main/java/org/apache/nifi/web/revision/RevisionManager.java  | 2 +-
 6 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/e5925ff4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/ControllerServiceReferenceEndpointMerger.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/ControllerServiceReferenceEndpointMerger.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/ControllerServiceReferenceEndpointMerger.java
index 1fad628..c299054 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/ControllerServiceReferenceEndpointMerger.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/ControllerServiceReferenceEndpointMerger.java
@@ -26,7 +26,6 @@ import java.util.regex.Pattern;
 import org.apache.nifi.cluster.coordination.http.EndpointResponseMerger;
 import org.apache.nifi.cluster.manager.NodeResponse;
 import org.apache.nifi.cluster.protocol.NodeIdentifier;
-import org.apache.nifi.web.api.dto.ControllerServiceReferencingComponentDTO;
 import org.apache.nifi.web.api.entity.ControllerServiceReferencingComponentEntity;
 import org.apache.nifi.web.api.entity.ControllerServiceReferencingComponentsEntity;
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/e5925ff4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/services/FlowService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/services/FlowService.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/services/FlowService.java
index b6e1e1d..50cb789 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/services/FlowService.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/services/FlowService.java
@@ -117,7 +117,7 @@ public interface FlowService extends LifeCycle {
 
     /**
      * Creates a copy of the current flow and saves it in the configured 'archive' directory
-     * 
+     *
      * @throws IOException if unable to write to the archive directory
      */
     void archiveFlow() throws IOException;

http://git-wip-us.apache.org/repos/asf/nifi/blob/e5925ff4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
index e5b6327..16696e7 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
@@ -477,7 +477,6 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade {
      * @param <C> the Component Type of the updated component
      *
      * @return A ConfigurationSnapshot that represents the new configuration
-     * @throws ExpiredRevisionClaimException
      */
     private <D, C> RevisionUpdate<D> updateComponent(final Revision revision, final Authorizable authorizable, final Supplier<C> daoUpdate, final Function<C, D> dtoCreation) {
         final String modifier = NiFiUserUtils.getNiFiUserName();
@@ -1547,7 +1546,8 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade {
         final RevisionClaim claim = new StandardRevisionClaim(requiredRevisions);
         final String modifier = NiFiUserUtils.getNiFiUserName();
 
-        final RevisionUpdate<ControllerServiceReferencingComponentsEntity> update = revisionManager.updateRevision(claim, modifier, new UpdateRevisionTask<ControllerServiceReferencingComponentsEntity>() {
+        final RevisionUpdate<ControllerServiceReferencingComponentsEntity> update = revisionManager.updateRevision(claim, modifier,
+                new UpdateRevisionTask<ControllerServiceReferencingComponentsEntity>() {
             @Override
             public RevisionUpdate<ControllerServiceReferencingComponentsEntity> update() {
                 final Set<ConfiguredComponent> updated = controllerServiceDAO.updateControllerServiceReferencingComponents(controllerServiceId, scheduledState, controllerServiceState);

http://git-wip-us.apache.org/repos/asf/nifi/blob/e5925ff4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FunnelResource.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FunnelResource.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FunnelResource.java
index 987f544..92b84ee 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FunnelResource.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FunnelResource.java
@@ -43,7 +43,6 @@ import org.apache.nifi.web.NiFiServiceFacade;
 import org.apache.nifi.web.Revision;
 import org.apache.nifi.web.UpdateResult;
 import org.apache.nifi.web.api.dto.FunnelDTO;
-import org.apache.nifi.web.api.dto.RevisionDTO;
 import org.apache.nifi.web.api.entity.FunnelEntity;
 import org.apache.nifi.web.api.request.ClientIdParameter;
 import org.apache.nifi.web.api.request.LongParameter;

http://git-wip-us.apache.org/repos/asf/nifi/blob/e5925ff4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/NaiveRevisionManager.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/NaiveRevisionManager.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/NaiveRevisionManager.java
index c2232a6..768b5f2 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/NaiveRevisionManager.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/NaiveRevisionManager.java
@@ -65,7 +65,8 @@ public class NaiveRevisionManager implements RevisionManager {
      * Constructs a new NaiveRevisionManager that uses the given number of Nanoseconds as the expiration time
      * for a Revision Claims
      *
-     * @param claimNanos the number of nanoseconds that a Revision Claim should last
+     * @param claimExpiration how long a Revision Claim should last
+     * @param timeUnit the TimeUnit of 'claimExpiration'
      */
     public NaiveRevisionManager(final long claimExpiration, final TimeUnit timeUnit) {
         this.claimExpirationNanos = timeUnit.toNanos(claimExpiration);

http://git-wip-us.apache.org/repos/asf/nifi/blob/e5925ff4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/RevisionManager.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/RevisionManager.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/RevisionManager.java
index 0db6828..a8e2f39 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/RevisionManager.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-optimistic-locking/src/main/java/org/apache/nifi/web/revision/RevisionManager.java
@@ -107,7 +107,7 @@ public interface RevisionManager {
      * Returns the current Revision for the component with the given ID. If no Revision yet exists for the
      * component with the given ID, one will be created with a Version of 0 and no Client ID.
      *
-     * @param componentId
+     * @param componentId the ID of the component
      * @return the current Revision for the component with the given ID
      */
     Revision getRevision(String componentId);