You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by bb...@apache.org on 2017/09/26 19:24:06 UTC

nifi-registry git commit: NIFIREG-23: Fix SortParamater and OperationID in swagger.json output

Repository: nifi-registry
Updated Branches:
  refs/heads/master d478c20ee -> d6159f834


NIFIREG-23: Fix SortParamater and OperationID in swagger.json output

This closes #12.


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

Branch: refs/heads/master
Commit: d6159f834e6745abcf30340ceba05fb559e0d145
Parents: d478c20
Author: Kevin Doran <kd...@gmail.com>
Authored: Thu Sep 21 17:02:07 2017 -0400
Committer: Bryan Bende <bb...@apache.org>
Committed: Tue Sep 26 15:23:23 2017 -0400

----------------------------------------------------------------------
 .../registry/service/params/SortParameter.java  |  6 +++
 .../nifi/registry/web/api/BucketResource.java   | 17 +++++---
 .../nifi/registry/web/api/FlowResource.java     | 17 +++++---
 .../nifi/registry/web/api/ItemResource.java     | 41 +++++++++++++-------
 4 files changed, 54 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/d6159f83/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/params/SortParameter.java
----------------------------------------------------------------------
diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/params/SortParameter.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/params/SortParameter.java
index 327bd95..8443f4b 100644
--- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/params/SortParameter.java
+++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/params/SortParameter.java
@@ -21,6 +21,12 @@ package org.apache.nifi.registry.service.params;
  */
 public class SortParameter {
 
+    public static final String API_PARAM_DESCRIPTION =
+            "Apply client-defined sorting to the resulting list of resource objects. " +
+                    "The value of this parameter should be in the format \"field:order\". " +
+                    "Valid values for 'field' can be discovered via GET :resourceURI/fields. " +
+                    "Valid values for 'order' are 'ASC' (ascending order), 'DESC' (descending order).";
+
     private final String fieldName;
 
     private final SortOrder order;

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/d6159f83/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketResource.java
----------------------------------------------------------------------
diff --git a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketResource.java b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketResource.java
index 1272522..9a9025a 100644
--- a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketResource.java
+++ b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/BucketResource.java
@@ -18,6 +18,7 @@ package org.apache.nifi.registry.web.api;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import org.apache.commons.lang3.StringUtils;
@@ -94,13 +95,17 @@ public class BucketResource {
             response = Bucket.class,
             responseContainer = "List"
     )
-    public Response getBuckets(@QueryParam("sort") final List<SortParameter> sortParameters) {
-
-        final QueryParameters params = new QueryParameters.Builder()
-                .addSorts(sortParameters)
-                .build();
+    public Response getBuckets(
+            @ApiParam(value = SortParameter.API_PARAM_DESCRIPTION, format = "field:order", allowMultiple = true, example = "name:ASC")
+            @QueryParam("sort")
+            final List<String> sortParameters) {
+
+        final QueryParameters.Builder paramsBuilder = new QueryParameters.Builder();
+        for (String sortParam : sortParameters) {
+            paramsBuilder.addSort(SortParameter.fromString(sortParam));
+        }
 
-        final List<Bucket> buckets = registryService.getBuckets(params);
+        final List<Bucket> buckets = registryService.getBuckets(paramsBuilder.build());
         linkService.populateBucketLinks(buckets);
 
         return Response.status(Response.Status.OK).entity(buckets).build();

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/d6159f83/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/FlowResource.java
----------------------------------------------------------------------
diff --git a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/FlowResource.java b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/FlowResource.java
index abd0d69..97ad0c1 100644
--- a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/FlowResource.java
+++ b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/FlowResource.java
@@ -18,6 +18,7 @@ package org.apache.nifi.registry.web.api;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import org.apache.commons.lang3.StringUtils;
@@ -84,13 +85,17 @@ public class FlowResource {
             response = VersionedFlow.class,
             responseContainer = "List"
     )
-    public Response getFlows(@QueryParam("sort") final List<SortParameter> sortParameters) {
-
-        final QueryParameters params = new QueryParameters.Builder()
-                .addSorts(sortParameters)
-                .build();
+    public Response getFlows(
+            @ApiParam(value = SortParameter.API_PARAM_DESCRIPTION, format = "field:order", allowMultiple = true, example = "name:ASC")
+            @QueryParam("sort")
+            final List<String> sortParameters) {
+
+        final QueryParameters.Builder paramsBuilder = new QueryParameters.Builder();
+        for (String sortParam : sortParameters) {
+            paramsBuilder.addSort(SortParameter.fromString(sortParam));
+        }
 
-        final List<VersionedFlow> flows = registryService.getFlows(params);
+        final List<VersionedFlow> flows = registryService.getFlows(paramsBuilder.build());
         linkService.populateFlowLinks(flows);
 
         return Response.status(Response.Status.OK).entity(flows).build();

http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/d6159f83/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ItemResource.java
----------------------------------------------------------------------
diff --git a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ItemResource.java b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ItemResource.java
index 1867c83..cb99a1d 100644
--- a/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ItemResource.java
+++ b/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/api/ItemResource.java
@@ -18,6 +18,7 @@ package org.apache.nifi.registry.web.api;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.apache.nifi.registry.bucket.BucketItem;
 import org.apache.nifi.registry.service.RegistryService;
 import org.apache.nifi.registry.service.params.QueryParameters;
@@ -74,13 +75,17 @@ public class ItemResource {
             response = BucketItem.class,
             responseContainer = "List"
     )
-    public Response getItems(@QueryParam("sort") final List<SortParameter> sortParameters) {
+    public Response getItems(
+            @ApiParam(value = SortParameter.API_PARAM_DESCRIPTION, format = "field:order", allowMultiple = true, example = "name:ASC")
+            @QueryParam("sort")
+            final List<String> sortParameters) {
 
-        final QueryParameters params = new QueryParameters.Builder()
-                .addSorts(sortParameters)
-                .build();
+        final QueryParameters.Builder paramsBuilder = new QueryParameters.Builder();
+        for (String sortParam : sortParameters) {
+            paramsBuilder.addSort(SortParameter.fromString(sortParam));
+        }
 
-        final List<BucketItem> items = registryService.getBucketItems(params);
+        final List<BucketItem> items = registryService.getBucketItems(paramsBuilder.build());
         linkService.populateItemLinks(items);
 
         return Response.status(Response.Status.OK).entity(items).build();
@@ -93,16 +98,22 @@ public class ItemResource {
     @ApiOperation(
             value = "Get metadata for items of the given bucket.",
             response = BucketItem.class,
-            responseContainer = "List"
+            responseContainer = "List",
+            nickname = "getItemsInBucket"
     )
-    public Response getItems(@PathParam("bucketId") final String bucketId,
-                             @QueryParam("sort") final List<SortParameter> sortParameters) {
-
-        final QueryParameters params = new QueryParameters.Builder()
-                .addSorts(sortParameters)
-                .build();
-
-        final List<BucketItem> items = registryService.getBucketItems(params, bucketId);
+    public Response getItems(
+            @PathParam("bucketId")
+            final String bucketId,
+            @ApiParam(value = SortParameter.API_PARAM_DESCRIPTION, format = "field:order", allowMultiple = true, example = "name:ASC")
+            @QueryParam("sort")
+            final List<String> sortParameters) {
+
+        final QueryParameters.Builder paramsBuilder = new QueryParameters.Builder();
+        for (String sortParam : sortParameters) {
+            paramsBuilder.addSort(SortParameter.fromString(sortParam));
+        }
+
+        final List<BucketItem> items = registryService.getBucketItems(paramsBuilder.build(), bucketId);
         linkService.populateItemLinks(items);
 
         return Response.status(Response.Status.OK).entity(items).build();
@@ -116,7 +127,7 @@ public class ItemResource {
             value = "Retrieves the available field names that can be used for searching or sorting on bucket items.",
             response = FieldsEntity.class
     )
-    public Response getAvailableBucketFields() {
+    public Response getAvailableBucketItemFields() {
         final Set<String> bucketFields = registryService.getBucketItemFields();
         final FieldsEntity fieldsEntity = new FieldsEntity(bucketFields);
         return Response.status(Response.Status.OK).entity(fieldsEntity).build();