This is an automated email from the ASF dual-hosted git repository.

pvillard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new f47603e  NIFI-8957 NiFi Registry - Possibility to set a description 
when creating a bucket
f47603e is described below

commit f47603ee484f9e66ad9c5628b6fd44acf417d726
Author: Denes Arvay <[email protected]>
AuthorDate: Mon Aug 2 13:58:59 2021 +0200

    NIFI-8957 NiFi Registry - Possibility to set a description when creating a 
bucket
    
    Signed-off-by: Pierre Villard <[email protected]>
    
    This closes #5271.
---
 .../create-bucket/nf-registry-create-bucket.html   | 10 +++++++--
 .../create-bucket/nf-registry-create-bucket.js     | 17 +++++---------
 .../nf-registry-create-bucket.spec.js              |  8 ++++---
 .../nf-registry-workflow-administration.html       |  8 +++----
 .../manage-bucket/nf-registry-manage-bucket.html   | 26 +++++++++++++++++++---
 .../manage-bucket/nf-registry-manage-bucket.js     | 17 +++++++++++---
 .../nf-registry-manage-bucket.spec.js              | 18 ++++++++++-----
 .../src/main/webapp/services/nf-registry.api.js    |  3 ++-
 .../main/webapp/services/nf-registry.api.spec.js   |  4 ++--
 .../main/webapp/services/nf-registry.service.js    |  9 +++++++-
 10 files changed, 85 insertions(+), 35 deletions(-)

diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.html
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.html
index 4ceba1a..bf98f5a 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.html
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.html
@@ -27,7 +27,12 @@ limitations under the License.
     <div fxLayout="column" fxLayoutAlign="space-between start" 
class="pad-bottom-md">
         <div class="fill-available-width">
             <mat-form-field floatLabel="always" fxFlex>
-                <input #newBucketInput matInput floatPlaceholder="always" 
placeholder="Bucket Name">
+                <input #newBucketName matInput floatPlaceholder="always" 
placeholder="Bucket Name">
+            </mat-form-field>
+        </div>
+        <div class="fill-available-width">
+            <mat-form-field floatLabel="always" fxFlex>
+                <input #newBucketDescription matInput 
floatPlaceholder="always" placeholder="Description">
             </mat-form-field>
         </div>
         <mat-checkbox #newBucketPublicReadCheckbox [disabled]="protocol === 
'http:'" >
@@ -44,7 +49,8 @@ limitations under the License.
                 i18n="Cancel creation of new bucket|A button for cancelling 
the creation of a new bucket in the 
registry.@@nf-admin-workflow-cancel-create-bucket-button">
             Cancel
         </button>
-        <button [disabled]="newBucketInput.value.length === 0" 
class="push-left-sm" data-automation-id="create-new-bucket-button" 
(click)="createBucket(newBucketInput,newBucketPublicReadCheckbox)"
+        <button [disabled]="newBucketName.value.length === 0" 
class="push-left-sm" data-automation-id="create-new-bucket-button"
+                (click)="createBucket(newBucketName, newBucketDescription, 
newBucketPublicReadCheckbox)"
                 color="fds-primary" mat-raised-button i18n="Create new bucket 
button|A button for creating a new bucket in the 
registry.@@nf-admin-workflow-create-bucket-button">
             Create
         </button>
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.js
index e23c60f..818de57 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.js
@@ -47,12 +47,13 @@ NfRegistryCreateBucket.prototype = {
     /**
      * Create a new bucket.
      *
-     * @param newBucketInput                The newBucketInput element.
+     * @param newBucketName                 The newBucketName element.
+     * @param newBucketDescription          The newBucketDescription element.
      * @param newBucketPublicReadCheckbox   The newBucketPublicReadCheckbox 
element.
      */
-    createBucket: function (newBucketInput, newBucketPublicReadCheckbox) {
+    createBucket: function (newBucketName, newBucketDescription, 
newBucketPublicReadCheckbox) {
         var self = this;
-        this.nfRegistryApi.createBucket(newBucketInput.value, 
newBucketPublicReadCheckbox.checked).subscribe(function (bucket) {
+        this.nfRegistryApi.createBucket(newBucketName.value, 
newBucketDescription.value, 
newBucketPublicReadCheckbox.checked).subscribe(function (bucket) {
             if (!bucket.error) {
                 self.nfRegistryService.buckets.push(bucket);
                 self.nfRegistryService.filterBuckets();
@@ -80,13 +81,6 @@ NfRegistryCreateBucket.prototype = {
      */
     cancel: function () {
         this.dialogRef.close();
-    },
-
-    /**
-     * Focus the new bucket input.
-     */
-    ngAfterViewChecked: function () {
-        this.newBucketInput.nativeElement.focus();
     }
 };
 
@@ -94,7 +88,8 @@ NfRegistryCreateBucket.annotations = [
     new Component({
         templateUrl: './nf-registry-create-bucket.html',
         queries: {
-            newBucketInput: new ViewChild('newBucketInput')
+            newBucketName: new ViewChild('newBucketName'),
+            newBucketDescription: new ViewChild('newBucketDescription')
         }
     })
 ];
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.spec.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.spec.js
index dd62fa4..2ea9db2 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.spec.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/dialogs/create-bucket/nf-registry-create-bucket.spec.js
@@ -39,19 +39,20 @@ describe('NfRegistryCreateBucket Component isolated unit 
tests', function () {
 
         // Spy
         spyOn(nfRegistryApi, 'createBucket').and.callFake(function () {
-        }).and.returnValue(of({name: 'NewBucket'}));
+        }).and.returnValue(of({name: 'NewBucket', description: 'NewBucket 
Description'}));
         spyOn(nfRegistryService, 'filterBuckets');
         spyOn(comp.dialogRef, 'close');
     });
 
     it('should create a new bucket and close the dialog', function () {
         // The function to test
-        comp.createBucket({value: 'NewBucket'}, {checked: false});
+        comp.createBucket({value: 'NewBucket'}, {value: 'NewBucket 
Description'}, {checked: false});
 
         //assertions
         expect(comp).toBeDefined();
         expect(nfRegistryService.buckets.length).toBe(1);
         expect(nfRegistryService.buckets[0].name).toBe('NewBucket');
+        expect(nfRegistryService.buckets[0].description).toBe('NewBucket 
Description');
         expect(nfRegistryService.filterBuckets).toHaveBeenCalled();
         expect(comp.dialogRef.close).toHaveBeenCalled();
     });
@@ -61,12 +62,13 @@ describe('NfRegistryCreateBucket Component isolated unit 
tests', function () {
         comp.keepDialogOpen = true;
 
         // The function to test
-        comp.createBucket({value: 'NewBucket'}, {checked: false});
+        comp.createBucket({value: 'NewBucket'}, {value: 'NewBucket 
Description'}, {checked: false});
 
         //assertions
         expect(comp).toBeDefined();
         expect(nfRegistryService.buckets.length).toBe(1);
         expect(nfRegistryService.buckets[0].name).toBe('NewBucket');
+        expect(nfRegistryService.buckets[0].description).toBe('NewBucket 
Description');
         expect(nfRegistryService.filterBuckets).toHaveBeenCalled();
         expect(comp.dialogRef.close.calls.count()).toEqual(0);
     });
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/nf-registry-workflow-administration.html
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/nf-registry-workflow-administration.html
index 222ad4a..4e5f1a5 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/nf-registry-workflow-administration.html
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/nf-registry-workflow-administration.html
@@ -49,14 +49,14 @@ limitations under the License.
              fxLayoutAlign="space-between center" class="td-data-table">
             <div class="td-data-table-column" 
(click)="nfRegistryService.sortBuckets(column)"
                  *ngFor="let column of nfRegistryService.bucketColumns"
-                 fxFlex="{{column.width}}">
+                 fxFlex="1 1 {{column.width}}">
                 {{column.label}}
                 <i *ngIf="column.active && column.sortable && column.sortOrder 
=== 'ASC'" class="fa fa-caret-up"
                    aria-hidden="true"></i>
                 <i *ngIf="column.active && column.sortable && column.sortOrder 
=== 'DESC'" class="fa fa-caret-down"
                    aria-hidden="true"></i>
             </div>
-            <div class="td-data-table-column">
+            <div class="td-data-table-column" fxFlex="1 1 10%">
                 <div fxLayout="row" fxLayoutAlign="end center">
                     <mat-checkbox class="pad-left-sm" 
[(ngModel)]="nfRegistryService.allBucketsSelected"
                                   
(checked)="nfRegistryService.allBucketsSelected"
@@ -70,12 +70,12 @@ limitations under the License.
                  *ngFor="let row of nfRegistryService.filteredBuckets"
                  (click)="row.checked = 
!row.checked;nfRegistryService.determineAllBucketsSelectedState()">
                 <div class="td-data-table-cell" *ngFor="let column of 
nfRegistryService.bucketColumns"
-                     fxFlex="{{column.width}}">
+                     fxFlex="1 1 {{column.width}}">
                     <div class="ellipsis" matTooltip="{{column.format ? 
column.format(row[column.name]) : row[column.name]}}">
                         {{column.format ? column.format(row[column.name]) : 
row[column.name]}}
                     </div>
                 </div>
-                <div class="td-data-table-cell">
+                <div class="td-data-table-cell" fxFlex="1 1 10%">
                     <div>
                         <div *ngIf="nfRegistryService.bucketActions.length <= 
4" fxLayout="row" fxLayoutAlign="end center">
                             <button 
(click)="nfRegistryService.executeBucketAction(action, row);row.checked = 
!row.checked;"
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.html
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.html
index 4486e35..2055e8d 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.html
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.html
@@ -35,8 +35,22 @@ limitations under the License.
                        value="{{nfRegistryService.bucket.name}}"
                        [(ngModel)]="bucketname">
             </mat-form-field>
-            <button [disabled]="nfRegistryService.bucket.name === bucketname"
-                    (click)="updateBucketName(bucketnameInput.value)"
+        </div>
+        <div class="pad-left-md pad-right-md" flex fxLayoutAlign="start 
center">
+            <mat-form-field floatLabel="always" flex>
+                <input #descriptionInput
+                       
data-automation-id="nf-registry-manage-bucket-input-description"
+                       matInput
+                       
[disabled]="!nfRegistryService.currentUser.resourcePermissions.buckets.canWrite"
+                       placeholder="Description"
+                       value="{{nfRegistryService.bucket.description}}"
+                       [(ngModel)]="description">
+            </mat-form-field>
+        </div>
+
+        <div class="pad-left-md pad-right-md" flex fxLayoutAlign="start 
center">
+            <button [disabled]="nfRegistryService.bucket.name === bucketname 
&& nfRegistryService.bucket.description === description"
+                    
(click)="updateBucketNameAndDescription(bucketnameInput.value, 
descriptionInput.value)"
                     
data-automation-id="nf-registry-manage-bucket-save-side-nav"
                     class="input-button"
                     color="fds-regular"
@@ -44,7 +58,13 @@ limitations under the License.
                 Save
             </button>
         </div>
-        <div class="pad-left-md pad-right-md pad-bottom-sm">
+
+        <div class="pad-left-md pad-right-md pad-top-md">
+            <div class="pad-bottom-sm">
+                <mat-card-title class="ellipsis">
+                    Permission Settings
+                </mat-card-title>
+            </div>
             <mat-checkbox #bundlePublicReadCheckbox
                           
[disabled]="!nfRegistryService.currentUser.resourcePermissions.buckets.canWrite 
|| protocol === 'http:'"
                           [(ngModel)]="allowPublicRead"
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.js
index 0478b4e..fca86c1 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.js
@@ -63,6 +63,7 @@ function NfRegistryManageBucket(nfRegistryApi, 
nfRegistryService, tdDataTableSer
     ];
     this.userPermsSearchTerms = [];
     this.bucketname = '';
+    this.description = '';
     this.allowBundleRedeploy = false;
     this.allowPublicRead = false;
     this.bucketPolicies = [];
@@ -108,6 +109,7 @@ NfRegistryManageBucket.prototype = {
                     var bucket = response[0];
                     self.nfRegistryService.bucket = bucket;
                     self.bucketname = bucket.name;
+                    self.description = bucket.description;
                     self.allowBundleRedeploy = bucket.allowBundleRedeploy;
                     self.allowPublicRead = bucket.allowPublicRead;
                     if (!self.nfRegistryService.currentUser.anonymous) {
@@ -168,6 +170,7 @@ NfRegistryManageBucket.prototype = {
                 .subscribe(function (response) {
                     self.nfRegistryService.bucket = response;
                     self.bucketname = response.name;
+                    self.description = response.description;
                     self.allowBundleRedeploy = response.allowBundleRedeploy;
                     self.allowPublicRead = response.allowPublicRead;
 
@@ -208,6 +211,7 @@ NfRegistryManageBucket.prototype = {
                 .subscribe(function (response) {
                     self.nfRegistryService.bucket = response;
                     self.bucketname = response.name;
+                    self.description = response.description;
                     self.allowBundleRedeploy = response.allowBundleRedeploy;
                     self.allowPublicRead = response.allowPublicRead;
 
@@ -405,13 +409,15 @@ NfRegistryManageBucket.prototype = {
     /**
      * Update bucket name.
      *
-     * @param username
+     * @param bucketname        The new bucket name. Must be unique otherwise 
an error will be shown.
+     * @param description       The new bucket description
      */
-    updateBucketName: function (bucketname) {
+    updateBucketNameAndDescription: function (bucketname, description) {
         var self = this;
         this.nfRegistryApi.updateBucket({
             'identifier': this.nfRegistryService.bucket.identifier,
             'name': bucketname,
+            'description': description,
             'revision': this.nfRegistryService.bucket.revision
         }).subscribe(function (response) {
             if (!response.status || response.status === 200) {
@@ -421,11 +427,12 @@ NfRegistryManageBucket.prototype = {
                     return self.nfRegistryService.bucket.identifier === 
bucket.identifier;
                 }).forEach(function (bucket) {
                     bucket.name = response.name;
+                    bucket.description = response.description;
                     bucket.revision = response.revision;
                 });
                 self.snackBarService.openCoaster({
                     title: 'Success',
-                    message: 'This bucket name has been updated.',
+                    message: 'This bucket name and description have been 
updated.',
                     verticalPosition: 'bottom',
                     horizontalPosition: 'right',
                     icon: 'fa fa-check-circle-o',
@@ -434,6 +441,7 @@ NfRegistryManageBucket.prototype = {
                 });
             } else if (response.status === 409) {
                 self.bucketname = self.nfRegistryService.bucket.name;
+                self.description = self.nfRegistryService.bucket.description;
                 self.allowBundleRedeploy = 
self.nfRegistryService.bucket.allowBundleRedeploy;
                 self.allowPublicRead = 
self.nfRegistryService.bucket.allowPublicRead;
 
@@ -462,6 +470,7 @@ NfRegistryManageBucket.prototype = {
                             if (!response.status || response.status === 200) {
                                 self.nfRegistryService.bucket = response;
                                 self.bucketname = 
self.nfRegistryService.bucket.name;
+                                self.description = 
self.nfRegistryService.bucket.description;
                                 self.allowBundleRedeploy = 
self.nfRegistryService.bucket.allowBundleRedeploy;
                                 self.allowPublicRead = 
self.nfRegistryService.bucket.allowPublicRead;
                             } else if (response.status === 404) {
@@ -521,6 +530,7 @@ NfRegistryManageBucket.prototype = {
                             if (!response.status || response.status === 200) {
                                 self.nfRegistryService.bucket = response;
                                 self.bucketname = 
self.nfRegistryService.bucket.name;
+                                self.description = 
self.nfRegistryService.bucket.description;
                                 self.allowBundleRedeploy = 
self.nfRegistryService.bucket.allowBundleRedeploy;
                                 self.allowPublicRead = 
self.nfRegistryService.bucket.allowPublicRead;
                             } else if (response.status === 404) {
@@ -580,6 +590,7 @@ NfRegistryManageBucket.prototype = {
                             if (!response.status || response.status === 200) {
                                 self.nfRegistryService.bucket = response;
                                 self.bucketname = 
self.nfRegistryService.bucket.name;
+                                self.description = 
self.nfRegistryService.bucket.description;
                                 self.allowBundleRedeploy = 
self.nfRegistryService.bucket.allowBundleRedeploy;
                                 self.allowPublicRead = 
self.nfRegistryService.bucket.allowPublicRead;
                             } else if (response.status === 404) {
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.spec.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.spec.js
index 191b751..6c853e3 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.spec.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/components/administration/workflow/sidenav/manage-bucket/nf-registry-manage-bucket.spec.js
@@ -564,6 +564,7 @@ describe('NfRegistryManageBucket Component', function () {
         }).and.returnValue(of({
             identifier: '123',
             name: 'test',
+            description: 'testDesc',
             status: 200
         }));
 
@@ -580,11 +581,12 @@ describe('NfRegistryManageBucket Component', function () {
         expect(nfRegistryApi.getBucket.calls.count()).toBe(1);
 
         // the function to test
-        comp.updateBucketName('test');
+        comp.updateBucketNameAndDescription('test', 'testDesc');
 
         //assertions
         expect(comp.snackBarService.openCoaster.calls.count()).toBe(1);
         expect(comp.nfRegistryService.bucket.name).toBe('test');
+        expect(comp.nfRegistryService.bucket.description).toBe('testDesc');
     }));
 
     it('should fail to update bucket name (409)', fakeAsync(function () {
@@ -600,7 +602,8 @@ describe('NfRegistryManageBucket Component', function () {
         spyOn(nfRegistryApi, 'getBucket').and.callFake(function () {
         }).and.returnValue(of({
             identifier: '123',
-            name: 'Bucket #1'
+            name: 'Bucket #1',
+            description: 'Bucket description'
         }));
         spyOn(nfRegistryApi, 'getPolicies').and.callFake(function () {
         }).and.returnValue(of([
@@ -621,6 +624,7 @@ describe('NfRegistryManageBucket Component', function () {
         }).and.returnValue(of({
             identifier: '123',
             name: 'test',
+            description: 'testDesc',
             status: 409
         }));
 
@@ -637,11 +641,12 @@ describe('NfRegistryManageBucket Component', function () {
         expect(nfRegistryApi.getBucket.calls.count()).toBe(1);
 
         // the function to test
-        comp.updateBucketName('test');
+        comp.updateBucketNameAndDescription('test', 'testDesc');
 
         //assertions
         expect(comp.dialogService.openConfirm.calls.count()).toBe(1);
         expect(comp.nfRegistryService.bucket.name).toBe('Bucket #1');
+        expect(comp.nfRegistryService.bucket.description).toBe('Bucket 
description');
     }));
 
     it('should fail to update bucket name (400)', fakeAsync(function () {
@@ -657,7 +662,8 @@ describe('NfRegistryManageBucket Component', function () {
         spyOn(nfRegistryApi, 'getBucket').and.callFake(function () {
         }).and.returnValue(of({
             identifier: '123',
-            name: 'Bucket #1'
+            name: 'Bucket #1',
+            description: 'Bucket description'
         }));
         spyOn(nfRegistryApi, 'getPolicies').and.callFake(function () {
         }).and.returnValue(of([
@@ -678,6 +684,7 @@ describe('NfRegistryManageBucket Component', function () {
         }).and.returnValue(of({
             identifier: '123',
             name: 'test',
+            description: 'testDesc',
             status: 400
         }));
 
@@ -694,11 +701,12 @@ describe('NfRegistryManageBucket Component', function () {
         expect(nfRegistryApi.getBucket.calls.count()).toBe(1);
 
         // the function to test
-        comp.updateBucketName('test');
+        comp.updateBucketNameAndDescription('test', 'testDesc');
 
         //assertions
         expect(comp.dialogService.openConfirm.calls.count()).toBe(1);
         expect(comp.nfRegistryService.bucket.name).toBe('Bucket #1');
+        expect(comp.nfRegistryService.bucket.description).toBe('Bucket 
description');
     }));
 
     it('should destroy the component', fakeAsync(function () {
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.js
index 6c48004..bd828fc 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.js
@@ -293,10 +293,11 @@ NfRegistryApi.prototype = {
      * @param {string} name  The name of the bucket.
      * @returns {*}
      */
-    createBucket: function (name, allowPublicRead) {
+    createBucket: function (name, description, allowPublicRead) {
         var self = this;
         return this.http.post('../nifi-registry-api/buckets', {
             'name': name,
+            'description': description,
             'allowPublicRead': allowPublicRead,
             'revision': {
                 'version': 0
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.spec.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.spec.js
index 8b1d3dc..60b1db8 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.spec.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.api.spec.js
@@ -462,7 +462,7 @@ describe('NfRegistry API w/ Angular testing utils', 
function () {
 
     it('should POST to create a new bucket.', inject([HttpTestingController], 
function (httpMock) {
         // api call
-        nfRegistryApi.createBucket('test').subscribe(function (response) {
+        nfRegistryApi.createBucket('test', 'testDesc').subscribe(function 
(response) {
             expect(response.identifier).toBe('1234');
         });
         // the request it made
@@ -484,7 +484,7 @@ describe('NfRegistry API w/ Angular testing utils', 
function () {
         });
 
         // api call
-        nfRegistryApi.createBucket('test').subscribe(function (response) {
+        nfRegistryApi.createBucket('test', 'testDesc').subscribe(function 
(response) {
             expect(response.message).toEqual('Http failure response for 
../nifi-registry-api/buckets: 401 POST bucket mock error');
             var dialogServiceCall = 
nfRegistryApi.dialogService.openConfirm.calls.first();
             expect(dialogServiceCall.args[0].title).toBe('Error');
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.service.js
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.service.js
index 6e2c875..b55c6a8 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.service.js
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webapp/services/nf-registry.service.js
@@ -101,7 +101,14 @@ function NfRegistryService(nfRegistryApi, nfStorage, 
tdDataTableService, router,
             name: 'name',
             label: 'Bucket Name',
             sortable: true,
-            tooltip: 'Sort Buckets by name.'
+            tooltip: 'Sort Buckets by name.',
+            width: '40%'
+        },
+        {
+            name: 'description',
+            label: 'Description',
+            sortable: false,
+            width: '50%'
         }
     ];
 

Reply via email to