add onboard result 59/22459/1
authorLuji7 <lu.ji3@zte.com.cn>
Tue, 7 Nov 2017 07:17:04 +0000 (15:17 +0800)
committerLuji7 <lu.ji3@zte.com.cn>
Tue, 7 Nov 2017 07:17:08 +0000 (15:17 +0800)
Change-Id: I715eed694b35c469ea00fc3a78bf1bde8acac64c
Issue-id: USECASEUI-55
Signed-off-by: Luji7 <lu.ji3@zte.com.cn>
usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/ServiceTemplateService.js
usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/controller/lcmController.js
usecaseui-lcm/src/main/webapp/app/uui/fusion/scripts/view-models/lifecyclemanagement.html

index d46c35c..09c40b5 100644 (file)
              uuid: ns.uuid,
              invariantUUID: ns.invariantUUID,
              name: ns.name,
+             version: ns.version,
              type: 'NS'
            })
          });
              uuid: vnf.uuid,
              invariantUUID: vnf.invariantUUID,
              name: vnf.name,
+             version: vnf.version,,
              type: 'VF'
            })
          });
        });
      },
 
-     packageOnboard: function (onboardPackage) {
+     nsPackageOnboard: function (onboardPackage, processFun) {
        console.log('onboard...');
        console.log(onboardPackage);
        var requestBody = {
          csarId: onboardPackage.uuid
        };
-       if(onboardPackage.type === 'NS') {
-         return $http({
-           url: url+'/ns-packages',
-           method: 'POST',
-           data: JSON.stringify(requestBody),
-           headers: uuiHeaders
-         }).then(function(response){
-           console.log('onboard ns package response...');
-           console.log(response.data);
-         });
-       } else {
-         return $http({
-           url: url+'/vf-packages',
-           method: 'POST',
-           data: JSON.stringify(requestBody),
-           headers: uuiHeaders
-         }).then(function(response){
-           console.log('onboard vf package response...');
-           console.log(response.data);
-         });
-       }
+       return $http({
+         url: url+'/ns-packages',
+         method: 'POST',
+         data: JSON.stringify(requestBody),
+         headers: uuiHeaders
+       }).then(function(response){
+         console.log('onboard ns package response...');
+         console.log(response.data);
+         processFun(response.data);
+       });
+     },
+
+     vfPackageOnboard: function (onboardPackage, processFun) {
+       console.log('onboard...');
+       console.log(onboardPackage);
+       var requestBody = {
+         csarId: onboardPackage.uuid
+       };
+       return $http({
+         url: url+'/vf-packages',
+         method: 'POST',
+         data: JSON.stringify(requestBody),
+         headers: uuiHeaders
+       }).then(function(response){
+         console.log('onboard vf package response...');
+         console.log(response.data);
+         processFun(response.data);
+       });
+     },
+
+     queryVfOnboardProgress: function (jobId, progressFun) {
+       return $http({
+         url: url+'/jobs/' + jobId,
+         method: 'GET',
+         data: null,
+         headers: uuiHeaders
+       }).then(function(response){
+         console.log('get progress response...');
+         console.log(response.data);
+         progressFun(response.data.responseDescriptor);
+       });
+     },
+
+     nsPackageDelete: function (deletePackage, processFun) {
+       console.log('delete package...');
+       console.log(deletePackage);
+       return $http({
+         url: url+'/ns-packages/' + deletePackage.uuid,
+         method: 'DELETE',
+         data: null,
+         headers: uuiHeaders
+       }).then(function(response){
+         console.log('delete ns package response...');
+         console.log(response.data);
+         processFun(response.data);
+       });
+     },
+
+     vfPackageDelete: function (deletePackage, processFun) {
+       console.log('delete package...');
+       console.log(deletePackage);
+       return $http({
+         url: url+'/vf-packages/' + deletePackage.uuid,
+         method: 'DELETE',
+         data: null,
+         headers: uuiHeaders
+       }).then(function(response){
+         console.log('delete vf package response...');
+         console.log(response.data);
+         processFun(response.data);
+       });
      }
    };
  });
index d53fd94..0a23df9 100644 (file)
@@ -137,7 +137,67 @@ app.controller('lcmCtrl', ['$scope', '$uibModal', '$log', '$http', '$timeout', '
       };
 
       ctrl.packageOnboard = function (onboardPackage) {
-        ServiceTemplateService.packageOnboard(onboardPackage);
+        if(onboardPackage.type === 'NS') {
+          var processFun = function (response) {
+            if('failed' === response.status) {
+              ctrl.alerts.push({type: 'danger',msg: 'Operation failed! ' + response.statusDescription});
+            } else {
+              ctrl.alerts.push({type: 'success',msg: 'Operation is finished!'});
+            }
+          };
+          ServiceTemplateService.nsPackageOnboard(onboardPackage, processFun);
+        } else {
+          var openOnboardProgressDialog = function (jobId, title, successFun, failFun) {
+            var onboardProgressInstance = $uibModal.open({
+              ariaLabelledBy: 'modal-title',
+              ariaDescribedBy: 'modal-body',
+              templateUrl : 'app/uui/fusion/scripts/view-models/progress-dialog.html',
+              controller : 'VfOnboardProgressCtrl',
+              controllerAs : 'ctrl',
+              resolve: {
+                jobId: function () {
+                  return jobId;
+                },
+                operationTitle: function () {
+                  return title;
+                }
+              }
+            });
+            onboardProgressInstance.result.then(
+              function (result) {
+                successFun(result);
+              },
+              function (reason) {
+                failFun(reason);
+              }
+            );
+          };
+          var successFun = function (result) {
+            ctrl.alerts.push({type: 'success',msg: 'Operation is finished!'});
+          };
+          var failFun = function (reason) {
+            ctrl.alerts.push({type: 'danger',msg: 'Operation is failed! ' + reason});
+          };
+          var processFun = function (response) {
+            openOnboardProgressDialog(response.jobId, 'VF Onboarding', successFun, failFun);
+          };
+          ServiceTemplateService.vfPackageOnboard(onboardPackage, processFun);
+        }
+      };
+
+      ctrl.packageDelete = function (deletePackage) {
+        var processFun = function (response) {
+          if('failed' === response.status) {
+            ctrl.alerts.push({type: 'danger',msg: 'Operation failed! ' + response.statusDescription});
+          } else {
+            ctrl.alerts.push({type: 'success',msg: 'Operation is finished!'});
+          }
+        };
+        if(deletePackage.type === 'NS') {
+          ServiceTemplateService.nsPackageDelete(deletePackage, processFun);
+        } else {
+          ServiceTemplateService.vfPackageDelete(deletePackage, processFun);
+        }
       };
     }
   ]
@@ -311,4 +371,43 @@ function ($uibModalInstance, ServiceTemplateService, serviceId, operationId, ope
     $interval.cancel(timer);
   });
 }]
+).controller('VfOnboardProgressCtrl', ['$uibModalInstance', 'ServiceTemplateService', 'jobId', 'operationTitle', '$q', '$interval',
+function ($uibModalInstance, ServiceTemplateService, jobId, operationTitle, $q, $interval) {
+  var ctrl = this;
+  ctrl.title = operationTitle;
+  ctrl.operation = '';
+  ctrl.max = 100;
+  ctrl.dynamic = 0;
+
+  var timerDeferred = $q.defer();
+  var timerPromise = timerDeferred.promise;
+
+  var progressFun = function (responseDescriptor) {
+    if('finished' === responseDescriptor.status || 'error' === responseDescriptor.status) {
+      ctrl.dynamic = 100;
+      timerDeferred.resolve();
+      if('finished' === responseDescriptor.status) {
+        $uibModalInstance.close('');
+      } else if('error' === responseDescriptor.status) {
+        $uibModalInstance.dismiss(responseDescriptor.statusDescription);
+      }
+      console.log('timer finished!');
+    } else if('processing' === responseDescriptor.status) {
+      ctrl.dynamic = responseDescriptor.progress;
+      ctrl.operation = responseDescriptor.statusDescription;
+      console.log('timer processing ......');
+    }
+  };
+
+  var timer = $interval(function () {
+    ServiceTemplateService.queryVfOnboardProgress(jobId, progressFun);
+  }, 1000);
+
+  timerPromise.then(function () {
+    $interval.cancel(timer);
+    console.log('timer cancel ---- ');
+  },function () {
+    $interval.cancel(timer);
+  });
+}]
 );
index 37abd51..9fb889a 100644 (file)
@@ -67,6 +67,7 @@
               <tr>
                 <th>Name</th>
                 <th>Type</th>
+                <th>Version</th>
                 <th>Action</th>
               </tr>
             </thead>
               <tr ng-repeat="package in ctrl.packages">
                 <td>{{package.name}}</td>
                 <td>{{package.type}}</td>
+                <td>{{package.version}}</td>
                 <td>
                   <button class="btn btn-primary onboard-button" ng-click="ctrl.packageOnboard(package)">Onboard</button>
+                  <button class="btn btn-primary delete-button" ng-click="ctrl.packageDelete(package)">Delete</button>
                 </td>
               </tr>
             </tbody>