You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/12/17 22:58:24 UTC

nifi git commit: NIFI-108: - Adding compilation error for IOException from getFlowFile(). - Code clean up. - Javadocs.

Repository: nifi
Updated Branches:
  refs/heads/NIFI-108 b12aba782 -> ab30bf046


NIFI-108:
- Adding compilation error for IOException from getFlowFile().
- Code clean up.
- Javadocs.


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

Branch: refs/heads/NIFI-108
Commit: ab30bf04694e44854f697bd157b73b685807074d
Parents: b12aba7
Author: Matt Gilman <ma...@gmail.com>
Authored: Thu Dec 17 16:58:10 2015 -0500
Committer: Matt Gilman <ma...@gmail.com>
Committed: Thu Dec 17 16:58:10 2015 -0500

----------------------------------------------------------------------
 .../apache/nifi/web/api/ConnectionResource.java | 42 +++++++++++++++-----
 .../org/apache/nifi/web/api/dto/DtoFactory.java | 18 +++++++++
 .../web/dao/impl/StandardConnectionDAO.java     | 19 +++++----
 3 files changed, 62 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/ab30bf04/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ConnectionResource.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/ConnectionResource.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ConnectionResource.java
index 6c9de0e..76dde1a 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ConnectionResource.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ConnectionResource.java
@@ -132,13 +132,33 @@ public class ConnectionResource extends ApplicationResource {
     }
 
     /**
+     * Populate the uri's for the specified flowfile listing.
+     *
+     * @param connectionId connection
+     * @param flowFileListing flowfile listing
+     * @return dto
+     */
+    public ListingRequestDTO populateRemainingFlowFileListingContent(final String connectionId, final ListingRequestDTO flowFileListing) {
+        // uri of the listing
+        flowFileListing.setUri(generateResourceUri("controller", "process-groups", groupId, "connections", connectionId, "listing-requests", flowFileListing.getId()));
+
+        // uri of each flowfile
+        if (flowFileListing.getFlowFileSummaries() != null) {
+            for (FlowFileSummaryDTO flowFile : flowFileListing.getFlowFileSummaries()) {
+                populateRemainingFlowFileContent(connectionId, flowFile);
+            }
+        }
+        return flowFileListing;
+    }
+
+    /**
      * Populate the uri's for the specified flowfile.
      *
      * @param connectionId the connection id
      * @param flowFile the flowfile
      * @return the dto
      */
-    private FlowFileSummaryDTO populateRemainingFlowFileContent(final String connectionId, FlowFileSummaryDTO flowFile) {
+    private FlowFileSummaryDTO populateRemainingFlowFileContent(final String connectionId, final FlowFileSummaryDTO flowFile) {
         flowFile.setUri(generateResourceUri("controller", "process-groups", groupId, "connections", connectionId, "flowfiles", flowFile.getUuid()));
         return flowFile;
     }
@@ -1263,8 +1283,8 @@ public class ConnectionResource extends ApplicationResource {
         }
 
         // submit the listing request
-        final ListingRequestDTO listRequest = serviceFacade.createFlowFileListingRequest(groupId, id, listingRequestId);
-        listRequest.setUri(generateResourceUri("controller", "process-groups", groupId, "connections", id, "listing-requests", listRequest.getId()));
+        final ListingRequestDTO listingRequest = serviceFacade.createFlowFileListingRequest(groupId, id, listingRequestId);
+        populateRemainingFlowFileListingContent(id, listingRequest);
 
         // create the revision
         final RevisionDTO revision = new RevisionDTO();
@@ -1273,10 +1293,10 @@ public class ConnectionResource extends ApplicationResource {
         // create the response entity
         final ListingRequestEntity entity = new ListingRequestEntity();
         entity.setRevision(revision);
-        entity.setListingRequest(listRequest);
+        entity.setListingRequest(listingRequest);
 
         // generate the URI where the response will be
-        final URI location = URI.create(listRequest.getUri());
+        final URI location = URI.create(listingRequest.getUri());
         return Response.status(Status.ACCEPTED).location(location).entity(entity).build();
     }
 
@@ -1333,7 +1353,7 @@ public class ConnectionResource extends ApplicationResource {
 
         // get the listing request
         final ListingRequestDTO listingRequest = serviceFacade.getFlowFileListingRequest(groupId, connectionId, listingRequestId);
-        listingRequest.setUri(generateResourceUri("controller", "process-groups", groupId, "connections", connectionId, "listing-requests", listingRequestId));
+        populateRemainingFlowFileListingContent(connectionId, listingRequest);
 
         // create the revision
         final RevisionDTO revision = new RevisionDTO();
@@ -1406,11 +1426,13 @@ public class ConnectionResource extends ApplicationResource {
         }
 
         // delete the listing request
-        final ListingRequestDTO dropRequest = serviceFacade.deleteFlowFileListingRequest(groupId, connectionId, listingRequestId);
-        dropRequest.setUri(generateResourceUri("controller", "process-groups", groupId, "connections", connectionId, "listing-requests", listingRequestId));
+        final ListingRequestDTO listingRequest = serviceFacade.deleteFlowFileListingRequest(groupId, connectionId, listingRequestId);
 
         // prune the results as they were already received when the listing completed
-        dropRequest.setFlowFileSummaries(null);
+        listingRequest.setFlowFileSummaries(null);
+
+        // populate remaining content
+        populateRemainingFlowFileListingContent(connectionId, listingRequest);
 
         // create the revision
         final RevisionDTO revision = new RevisionDTO();
@@ -1419,7 +1441,7 @@ public class ConnectionResource extends ApplicationResource {
         // create the response entity
         final ListingRequestEntity entity = new ListingRequestEntity();
         entity.setRevision(revision);
-        entity.setListingRequest(dropRequest);
+        entity.setListingRequest(listingRequest);
 
         return generateOkResponse(entity).build();
     }

http://git-wip-us.apache.org/repos/asf/nifi/blob/ab30bf04/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.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/dto/DtoFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
index aa3bbe8..5c3e864 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
@@ -354,6 +354,12 @@ public final class DtoFactory {
         return ListFlowFileState.COMPLETE.equals(state) || ListFlowFileState.CANCELED.equals(state) || ListFlowFileState.FAILURE.equals(state);
     }
 
+    /**
+     * Creates a ListingRequestDTO from the specified ListFlowFileStatus.
+     *
+     * @param listingRequest listingRequest
+     * @return dto
+     */
     public ListingRequestDTO createListingRequestDTO(final ListFlowFileStatus listingRequest) {
         final ListingRequestDTO dto = new ListingRequestDTO();
         dto.setId(listingRequest.getRequestIdentifier());
@@ -383,6 +389,12 @@ public final class DtoFactory {
         return dto;
     }
 
+    /**
+     * Creates a FlowFileSummaryDTO from the specified FlowFileSummary.
+     *
+     * @param summary summary
+     * @return dto
+     */
     public FlowFileSummaryDTO createFlowFileSummaryDTO(final FlowFileSummary summary) {
         final FlowFileSummaryDTO dto = new FlowFileSummaryDTO();
         dto.setUuid(summary.getUuid());
@@ -395,6 +407,12 @@ public final class DtoFactory {
         return dto;
     }
 
+    /**
+     * Creates a FlowFileDTO from the specified FlowFileRecord.
+     *
+     * @param record record
+     * @return dto
+     */
     public FlowFileDTO createFlowFileDTO(final FlowFileRecord record) {
         final FlowFileDTO dto = new FlowFileDTO();
         dto.setUuid(record.getAttribute(CoreAttributes.UUID.key()));

http://git-wip-us.apache.org/repos/asf/nifi/blob/ab30bf04/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java
index 2b51a80..4d5d8e2 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java
@@ -118,15 +118,20 @@ public class StandardConnectionDAO extends ComponentDAO implements ConnectionDAO
 
     @Override
     public FlowFileRecord getFlowFile(String groupId, String id, String flowFileUuid) {
-        final Connection connection = locateConnection(groupId, id);
-        final FlowFileQueue queue = connection.getFlowFileQueue();
-        final FlowFileRecord flowFile = queue.getFlowFile(flowFileUuid);
+        try {
+            final Connection connection = locateConnection(groupId, id);
+            final FlowFileQueue queue = connection.getFlowFileQueue();
+            final FlowFileRecord flowFile = queue.getFlowFile(flowFileUuid);
 
-        if (flowFile == null) {
-            throw new ResourceNotFoundException(String.format("Unable to find FlowFile '%s' in Connection '%s'.", flowFileUuid, id));
-        }
+            if (flowFile == null) {
+                throw new ResourceNotFoundException(String.format("Unable to find FlowFile '%s' in Connection '%s'.", flowFileUuid, id));
+            }
 
-        return flowFile;
+            return flowFile;
+        } catch (final IOException ioe) {
+            logger.error(String.format("Unable to get the flowfile (%s) at this time.", flowFileUuid), ioe);
+            throw new IllegalStateException("Unable to get the FlowFile at this time.");
+        }
     }
 
     @Override