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 <[email protected]>
Authored: Thu Dec 17 16:58:10 2015 -0500
Committer: Matt Gilman <[email protected]>
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

Reply via email to