Rework the submit operation
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / CldsModelService.js
index 5848f54..90cdc0d 100644 (file)
@@ -24,84 +24,47 @@ app
 .service(
 'cldsModelService',
 [
-    'alertService',
-    '$http',
-    '$q',
-    '$rootScope',
-    function(alertService, $http, $q, $rootScope) {
-
-           function checkIfElementType(name) {
-
-        //This will open the methods located in the app.js
-                         if (undefined == name) {
-                                 return;
-                         }else if (name.toLowerCase().indexOf("policy") >= 0){
-                                         PolicyWindow();
-                         } else {
-                                 $rootScope.selectedBoxName = name.toLowerCase();
-                                 ToscaModelWindow();
-                         }
-           }
-           function handleQueryToBackend(def, svcAction, svcUrl, svcPayload) {
-
-                   $http.put(svcUrl, svcPayload).success(
-                   function(data) {
-
-                           def.resolve(data);
-                           if (typeof data.statusCodeValue === 'undefined'
-                           || data.statusCodeValue === 200) {
-                                   alertService.alertMessage(
-                                   "Action Successful: " + svcAction, 1)
-                           } else {
-                                   if (typeof data.body !== 'undefined') {
-                                           alertService.alertMessage("Action Failure: "
-                                           + svcAction + ", " + data.body.errorMessageForUi, 2);
-                                   } else {
-                                           alertService.alertMessage("Action Failure: "
-                                           + svcAction, 2);
-                                   }
-                                   def.reject(svcAction + " not successful");
-                           }
-                   }).error(
-                   function(data) {
-
-                           def.resolve(data);
-                           if (typeof data.body !== 'undefined') {
-                                   alertService.alertMessage("Action Failure: " + svcAction
-                                   + ", " + data.body.errorMessageForUi, 2);
-                           } else {
-                                   alertService
-                                   .alertMessage("Action Failure: " + svcAction, 2);
-                           }
-                           def.reject(svcAction + " not successful");
-                   });
-           }
-           this.toggleDeploy = function(uiAction, modelName, controlNamePrefixIn,
-                                        bpmnTextIn, propTextIn, svgXmlIn,
-                                        templateName, typeID, controlNameUuid,
-                                        modelEventService, deploymentId) {
-
-                   var def = $q.defer();
-                   var sets = [];
-                   var action = uiAction.toLowerCase();
-                   var deployUrl = "/restservices/clds/v1/clds/" + action + "/"
-                   + modelName;
-                   var requestData = {
-                       name : modelName,
-                       controlNamePrefix : controlNamePrefixIn,
-                       bpmnText : bpmnTextIn,
-                       propText : propTextIn,
-                       imageText : svgXmlIn,
-                       templateName : templateName,
-                       typeId : typeID,
-                       controlNameUuid : controlNameUuid,
-                       event : modelEventService,
-                       deploymentId : deploymentId
-                   };
-                   handleQueryToBackend(def, action, deployUrl, requestData);
-                   return def.promise;
-           };
-           this.getModel = function(modelName) {
+       'alertService',
+       '$http',
+       '$q',
+       '$rootScope',
+       function(alertService, $http, $q, $rootScope) {
+
+               function checkIfElementType(name) {
+               //This will open the methods located in the app.js
+                       if (undefined == name) {
+                               return;
+                       }else if (name.toLowerCase().indexOf("policy") >= 0){
+                               PolicyWindow();
+                       } else {
+                               $rootScope.selectedBoxName = name;
+                               ToscaModelWindow();
+                       }
+               }
+               this.toggleDeploy = function(uiAction, modelName) {
+                       var svcAction = uiAction.toLowerCase();
+                       var deployUrl = "/restservices/clds/v2/loop/" + svcAction + "Loop/" + modelName;
+                       var def = $q.defer();
+                       var sets = [];
+                       $http.put(deployUrl).success(
+                               function(data) {
+                                       def.resolve(data);
+                                       alertService.alertMessage("Action Successful: " + svcAction, 1)
+                                       // update deploymentID, lastUpdatedStatus
+                                       setLastUpdatedStatus(data.lastUpdatedStatus);
+                                       setDeploymentStatusURL(data.dcaeDeploymentStatusUrl);
+                                       setDeploymentID(data.dcaeDeploymentId);
+                                       setStatus();
+                                       enableDisableMenuOptions();
+                       }).error(
+                               function(data) {
+                                       def.resolve(data);
+                                       alertService.alertMessage("Action Failure: " + svcAction, 2);
+                                       def.reject(svcAction + " not successful");
+                       });
+                       return def.promise;
+               }
+               this.getModel = function(modelName) {
                    var def = $q.defer();
                    var sets = [];
                    var svcUrl = "/restservices/clds/v2/loop/" + modelName;
@@ -112,16 +75,13 @@ app
                        cl_props = data;
                            def.resolve(data);
                    }).error(function(data) {
-
                            def.reject("Open Model not successful");
                    });
                    return def.promise;
            };
            this.getSavedModel = function() {
-
                    var def = $q.defer();
                    var sets = [];
-                   //var svcUrl = "/restservices/clds/v1/clds/model-names";
                    var svcUrl = "/restservices/clds/v2/loop/getAllNames";
                    $http.get(svcUrl).success(function(data) {
 
@@ -132,54 +92,29 @@ app
                    });
                    return def.promise;
            };
-           this.setModel = function(modelName, controlNamePrefixIn, bpmnTextIn,
-                                    propTextIn) {
-
+           this.processAction = function(uiAction, modelName) {
                    var def = $q.defer();
                    var sets = [];
-                   var svcUrl = "/restservices/clds/v1/clds/model/" + modelName;
-                   var svcRequest = {
-                       name : modelName,
-                       controlNamePrefix : controlNamePrefixIn,
-                       bpmnText : bpmnTextIn,
-                       propText : propTextIn
-                   };
-                   $http.put(svcUrl, svcRequest).success(function(data) {
-
-                           def.resolve(data);
-                   }).error(function(data) {
-
-                           def.reject("Save Model not successful");
-                   });
-                   return def.promise;
-           };
-           this.processAction = function(uiAction, modelName, controlNamePrefixIn,
-                                         bpmnTextIn, propTextIn, svgXmlIn,
-                                         templateName, typeID, deploymentId) {
-
-                   var def = $q.defer();
-                   var sets = [];
-                   // console.log(svgXmlIn);
-                   var svcUrl = "/restservices/clds/v1/clds/";
                    var svcAction = uiAction.toLowerCase();
-                   if (svcAction == "save" || svcAction == "refresh") {
-                           svcUrl = svcUrl + "model/" + modelName;
-                   } else if (svcAction == "test") {
-                           svcUrl = svcUrl + "action/submit/" + modelName + "?test=true";
-                   } else {
-                           svcUrl = svcUrl + "action/" + svcAction + "/" + modelName;
-                   }
-                   var svcRequest = {
-                       name : modelName,
-                       controlNamePrefix : controlNamePrefixIn,
-                       bpmnText : bpmnTextIn,
-                       propText : propTextIn,
-                       imageText : svgXmlIn,
-                       templateName : templateName,
-                       typeId : typeID,
-                       deploymentId : deploymentId
-                   };
-                   handleQueryToBackend(def, svcAction, svcUrl, svcRequest);
+                   var svcUrl = "/restservices/clds/v2/loop/" + svcAction + "/" + modelName;
+
+                       $http.put(svcUrl).success(
+                               function(data) {
+                                       def.resolve(data);
+                                       alertService.alertMessage("Action Successful: " + svcAction, 1)
+                                       // update deploymentID, lastUpdatedStatus
+                                       setLastUpdatedStatus(data.lastUpdatedStatus);
+                                       setDeploymentStatusURL(data.dcaeDeploymentStatusUrl);
+                                       setDeploymentID(data.dcaeDeploymentId);
+                                       setStatus();
+                                       enableDisableMenuOptions();
+                       }).error(
+                               function(data) {
+                                       def.resolve(data);
+                                       alertService.alertMessage("Action Failure: " + svcAction, 2);
+                                       def.reject(svcAction + " not successful");
+                       });
+                   
                    return def.promise;
            };
            this.manageAction = function(modelName, typeId, typeName) {
@@ -205,27 +140,18 @@ app
                    return def.promise;
            };
            this.processActionResponse = function(modelName) {
-
-                   // populate control name (prefix and uuid here)
+               // populate control name (prefix and uuid here)
                    var headerText = "Closed Loop Modeler - " + modelName;
                    setStatus();
                    manageCLImage(modelName);
                    enableDisableMenuOptions();
            };
-           this.processRefresh = function(pars) {
-
-                   var newPars = pars;
-                   if (typeof pars.body !== 'undefined') {
-                           newPars = pars.body;
-                   }
-                   typeID = newPars.typeId;
-                   deploymentId = newPars.deploymentId;
+           this.processRefresh = function() {
                    setStatus();
                    enableDisableMenuOptions();
            }
            function setStatus() {
-
-                   var status = getStatus();
+                   var status = getLastUpdatedStatus();
                    // apply color to status
                    var statusColor = 'white';
                    if (status.trim() === "DESIGN") {
@@ -269,10 +195,7 @@ app
                            $("#svgContainer svg").attr('height', '100%');
                            $("#svgContainer").click(
                            function(event) {
-                                   console.log("svgContainer:" + $("#svgContainer svg"));
                                    var name = $($($($(event.target).parent()).parent()).parent()).attr("data-element-id")
-                                   lastElementSelected = $($(event.target).parent()).attr(
-                                   "data-element-id")
                                    checkIfElementType(name)
                            });
                        }, function(data) {