Add holmes GUI without properties
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / CldsModelService.js
index c0d4f8a..12d2d05 100644 (file)
  */
 
 app.service('cldsModelService', ['alertService','$http', '$q', function (alertService,$http, $q) {
-       console.log("/////////////cldsModelService");
-       function checkIfElementType(name){
+  
+  function checkIfElementType(name){
+      //This will open the methods located in the app.js
+      mapping = {
+          'stringmatch': StringMatchWindow,
+          'tca': TCAWindow,
+          'policy': PolicyWindow,
+          'collector': CollectorsWindow,
+          'vescollector': VesCollectorWindow,
+          'holmes': HolmesWindow,
+      };
 
-               //This will open the methods located in the app.js
-               if(name.toLowerCase().indexOf("stringmatch")>=0)
-                       StringMatchWindow();
-               else if(name.toLowerCase().indexOf("tca")>=0)
-                       TCAWindow();
-               else if(name.toLowerCase().indexOf("collector")>=0)
-                       CollectorsWindow();
-               else if(name.toLowerCase().indexOf("policy")>=0)
-                       PolicyWindow();
-               
-       }
-       this.getASDCServices = function(){
-       
-       console.log("getASDCServices");
-       var def = $q.defer();
-       var sets = [];
-       
-       var svcUrl = "/restservices/clds/v1/clds/asdc/services/";                
-       
+      key = name.split('_')[0].toLowerCase()
+      if (key in mapping) {
+          mapping[key]();
+      }
+  }
+
+  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};
+    
+   $http.put(deployUrl,requestData)
+        .success(function(data){ 
+          deploymentId = data.deploymentId;           
+          def.resolve(data);          
+          alertService.alertMessage("Action Successful:"+uiAction,1)
+        })
+        .error(function(data){  
+        alertService.alertMessage("Action Failure:"+uiAction,2)              
+          def.reject("Save Model not successful");
+        });
+        
+      return def.promise;
+  };
+  
+  this.getASDCServices = function(){
+      
+      
+      var def = $q.defer();
+      var sets = [];
+      
+      var svcUrl = "/restservices/clds/v1/clds/sdc/services/";                
+      
         $http.get(svcUrl)
-        .success(function(data){               
-               def.resolve(data);   
-               
-               
+        .success(function(data){          
+          def.resolve(data);   
+          
+          
         })
-        .error(function(data){                       
-                       def.reject("Asdc Services not found");
-                       
+        .error(function(data){                
+          def.reject("sdc Services not found");
+          
         });
         
         return def.promise;
     };
     
-    this.getRunningInstances=function(resouseInput){
-      console.log("getRunningInstances");
-       var def = $q.defer();
-       var sets = [];
-       
-       //Look in scripts/common_variables.html to get utmModel name
-       
-    // var svcUrl = "/restservices/clds/v1/clds/model/roncl003";                
-       var svcUrl = "/restservices/clds/v1/clds/model/" + resouseInput;                
-       
-       $http.get(svcUrl)
-       .success(function(data){                
-               def.resolve(data);   
-               
-               
-       })
-       .error(function(data){                        
-               def.reject("Asdc Services not found");
-               
-       });
-        
-       return def.promise;
-       
-       // return [{"name":"asbg0003vm001","location":"SNANTXCA","status":"Running","view":"KPI"},{"name":"asbg0003vm002","location":"SNANTXCA","status":"Running","view":"KPI"},{"name":"asbg0003vm003","location":"SNANTXCA","status":"Running","view":"KPI"},{"name":"asbg0003vm004","location":"SNANTXCA","status":"Stopped","view":"KPI"}]
-    }
     
 this.getASDCService = function(uuid){
-       console.log("getASDCService");
-       
-       var def = $q.defer();
-       var sets = [];
-       
-       var svcUrl = "/restservices/clds/v1/clds/asdc/services/" + uuid;                
-       
+      
+      
+      var def = $q.defer();
+      var sets = [];
+      
+      var svcUrl = "/restservices/clds/v1/clds/sdc/services/" + uuid;                
+      
         $http.get(svcUrl)
         .success(function(data){   
-               def.resolve(data);              
-               
+          def.resolve(data);          
+          
         })
-        .error(function(data){                       
-                       def.reject("ASDC service not found");
+        .error(function(data){                
+          def.reject("SDC service not found");
         });
         
         return def.promise;
     };
     this.getModel = function(modelName){
-       
-       console.log("getModel");
-       var def = $q.defer();
-       var sets = [];
-       
-       var svcUrl = "/restservices/clds/v1/clds/model/" + modelName;                
-       
+      
+      
+      var def = $q.defer();
+      var sets = [];
+      var svcUrl = "/restservices/clds/v1/clds/model/" + modelName;                
+      
         $http.get(svcUrl)
-        .success(function(data){               
-               def.resolve(data);              
-               
+        .success(function(data){          
+          def.resolve(data);          
+          
         })
-        .error(function(data){                       
-                       def.reject("Open Model not successful");
+        .error(function(data){                
+          def.reject("Open Model not successful");
         });
         
         return def.promise;
     };
     this.getSavedModel=function(){
-      console.log("getSavedModel");
-       var def = $q.defer();
-       var sets = [];
-       
-       var svcUrl = "/restservices/clds/v1/clds/model-names";                
-       
+      
+      var def = $q.defer();
+      var sets = [];
+      
+      var svcUrl = "/restservices/clds/v1/clds/model-names";                
+      
         $http.get(svcUrl)
-        .success(function(data){               
-               def.resolve(data);              
-               
+        .success(function(data){          
+          def.resolve(data);          
+          
         })
-        .error(function(data){                       
-                       def.reject("Open Model not successful");
+        .error(function(data){                
+          def.reject("Open Model not successful");
         });
         
         return def.promise;
     };
     this.setModel = function(modelName, controlNamePrefixIn, bpmnTextIn, propTextIn){
-       
-       console.log("setModel");
-       var def = $q.defer();
-       var sets = [];
-
-       var svcUrl = "/restservices/clds/v1/clds/model/" + 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);              
-               
+        .success(function(data){          
+          def.resolve(data);          
+          
         })
-        .error(function(data){                       
-                       def.reject("Save Model not successful");
+        .error(function(data){                
+          def.reject("Save Model not successful");
         });
         
         return def.promise;
     };
-    this.processAction = function(uiAction, modelName, controlNamePrefixIn, bpmnTextIn, propTextIn,svgXmlIn,templateName){
-       
-       console.log("processAction");
-       var def = $q.defer();
-       var sets = [];
-       console.log("Generated SVG xml File...");
-       //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};      
-       console.log(svcRequest)
+    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};      
+      
         $http.put(svcUrl, svcRequest)
         .success(function(data){
-               def.resolve(data);   
-          alertService.alertMessage("Action Successful:"+uiAction,1)           
-               
+          def.resolve(data);   
+          alertService.alertMessage("Action Successful:"+uiAction,1)        
+          
         })
         .error(function(data){  
-               alertService.alertMessage("Action Failure:"+uiAction,2);
-                       //def           alertService.alertMessage("Action Successful:"+uiAction,1);
-                       def.reject(svcAction + " not successful");
+          alertService.alertMessage("Action Failure:"+uiAction,2);
+          //def         alertService.alertMessage("Action Successful:"+uiAction,1);
+          def.reject(svcAction + " not successful");
         });
         
         return def.promise;
     };
+    this.manageAction = function(modelName,typeId,typeName){
+      var def = $q.defer();
+      var sets = [];
+
+      var config = {
+       url: "/restservices/clds/v1/clds/getDispatcherInfo",
+       method: "GET",
+       params:{model:modelName,typeId:typeId,typeName:typeName}
+     };
+       $http(config)
+        .success(function(data){          
+          def.resolve(data);          
+          
+        })
+        .error(function(data){                
+          def.reject("manage action not successful");
+        });
+        
+        return def.promise;
+
+    };
     this.checkPermittedActionCd = function(permittedActionCd, menuText, actionCd){
-      console.log("checkPermittedActionCd");
-               if ( permittedActionCd.indexOf(actionCd) > -1 ) {
-                       document.getElementById(menuText).classList.remove('ThisLink');
-               } else {
-                       document.getElementById(menuText).classList.add('ThisLink');
-               }
+        if ( permittedActionCd.indexOf(actionCd) > -1 ) {
+          document.getElementById(menuText).classList.remove('ThisLink');
+        } else {
+          document.getElementById(menuText).classList.add('ThisLink');
+        }
     };        
     this.processActionResponse = function(modelName, pars){
-      console.log("processActionResponse");
-       // populate control name (prefix and uuid here)
-               var controlNamePrefix = pars.controlNamePrefix;
-               var controlNameUuid = pars.controlNameUuid;
-               
-       
+      
+      // populate control name (prefix and uuid here)
+        var controlNamePrefix = pars.controlNamePrefix;
+        var controlNameUuid = pars.controlNameUuid;
+        deploymentId = pars.deploymentId;
+        var modelEventService = pars.modelEventService;
+        typeID = pars.typeId;
         
-        var headerText = "Closed Loop Modeler - " + modelName;
+        var headerText = "Closed Loop Modeler - " +  modelName;
         if ( controlNameUuid != null ) {
-               var actionCd = pars.event.actionCd;
-               var actionStateCd = pars.event.actionStateCd;
-               //headerText = headerText + " [" + controlNamePrefix + controlNameUuid + "] [" + actionCd + ":" + actionStateCd + "]";
-               headerText = headerText + " [" + controlNamePrefix + controlNameUuid + "]";
-               console.log("MINA PARS TEST " + headerText + " ----- " + controlNamePrefix + " ----- " + controlNameUuid + "  ----- " + pars);
+          var actionCd = pars.event.actionCd;
+          var actionStateCd = pars.event.actionStateCd;
+          //headerText = headerText + " [" + controlNamePrefix + controlNameUuid + "] [" + actionCd + ":" + actionStateCd + "]";
+          headerText = headerText + " [" + controlNamePrefix + controlNameUuid + "]";
         }
-               
-       document.getElementById("modeler_name").textContent = headerText;
-       setStatus(pars)
-       disableBPMNAddSVG(pars);
+          
+      document.getElementById("modeler_name").textContent = headerText;
+      document.getElementById("templa_name").textContent = ("Template Used - " + selected_template);
+      setStatus(pars)
+      disableBPMNAddSVG(pars);
         this.enableDisableMenuOptions(pars);
-               
-               
+    
+        
     };
     
     this.processRefresh=function(pars){
-      console.log("processRefresh");
-       setStatus(pars);
+      typeID = pars.typeId;
+      deploymentId = pars.deploymentId;
+      setStatus(pars);
+      this.enableDisableMenuOptions(pars);
     }
     function setStatus(pars){
-      console.log("setStatus");
-       var status = pars.status;
-       // apply color to status
-               var statusColor='white';
-               if(status.trim()==="DESIGN"){
-                       statusColor='gray'
-               } else if(status.trim()==="DISTRIBUTED"){
-                       statusColor='blue'
-               } else if(status.trim()==="ACTIVE"){
-                       statusColor='green'
-               } else if(status.trim()==="STOPPED"){
-                       statusColor='red'
-               } else if(status.trim()==="DELETING"){
-                       statusColor='pink'
-               } else if(status.trim()==="ERROR"){
-                       statusColor='orange'
-               } else if(status.trim()==="UNKNOWN"){
-                       statusColor='blue'
-               } else{
-                       statusColor=null;
-               }
-               
+      
+      var status = pars.status;
+      // apply color to status
+    var statusColor='white';
+        if(status.trim()==="DESIGN"){
+          statusColor='gray'
+        } else if(status.trim()==="DISTRIBUTED"){
+          statusColor='blue'
+        } else if(status.trim()==="ACTIVE"){
+          statusColor='green'
+        } else if(status.trim()==="STOPPED"){
+          statusColor='red'
+        } else if(status.trim()==="DELETING"){
+          statusColor='pink'
+        } else if(status.trim()==="ERROR"){
+          statusColor='orange'
+        } else if(status.trim()==="UNKNOWN"){
+          statusColor='blue'
+        } else{
+          statusColor=null;
+        }
+        
 
-               var statusMsg='<span style="background-color:' + statusColor + ';-moz-border-radius: 50px;      -webkit-border-radius: 50px;    border-radius: 50px;">&nbsp;&nbsp;&nbsp;'+status+'&nbsp;&nbsp;&nbsp;</span>';
-               // display status
-               if ($("#status_clds").length>=1)
-                       $("#status_clds").remove();
-               $("#activity_modeler").append('<span id="status_clds" style="position: absolute;  left: 61%;top: 51px; font-size:20px;">Status: '+statusMsg+'</span>');
+        var statusMsg='<span style="background-color:' + statusColor + ';-moz-border-radius: 50px;  -webkit-border-radius: 50px;  border-radius: 50px;">&nbsp;&nbsp;&nbsp;'+status+'&nbsp;&nbsp;&nbsp;</span>';
+        // display status
+        if ($("#status_clds").length>=1)
+          $("#status_clds").remove();
+        $("#activity_modeler").append('<span id="status_clds" style="position: absolute;  left: 61%;top: 51px; font-size:20px;">Status: '+statusMsg+'</span>');
 
-               
+        
     }
     function disableBPMNAddSVG(pars){
-      console.log("disableBPMNAddSVG");
-       var svg=pars.imageText.substring(pars.imageText.indexOf("<svg"))
-       if($("#svgContainer").length>0)
-                       $("#svgContainer").remove();
-               $("#js-canvas").append("<span id=\"svgContainer\">"+svg+"</span>");
+      
+      var svg=pars.imageText.substring(pars.imageText.indexOf("<svg"))
+      if($("#svgContainer").length>0)
+          $("#svgContainer").remove();
+        $("#js-canvas").append("<span id=\"svgContainer\">"+svg+"</span>");
         /* added code for height width viewBox */
         $("#svgContainer svg").removeAttr("height");
         $("#svgContainer svg").removeAttr('viewBox');
@@ -277,50 +309,74 @@ this.getASDCService = function(uuid){
         $("#svgContainer svg").attr('width','100%');
         $("#svgContainer svg").attr('height','100%');
 
-               $("#svgContainer").click(function(event){
-                       console.log($(event.target).parent().html())
-                       console.log($($(event.target).parent()).attr("data-element-id"))
-                       var name=$($(event.target).parent()).attr("data-element-id")
-                       lastElementSelected=$($(event.target).parent()).attr("data-element-id")
-                       checkIfElementType(name)
-                       
-               })
+        $("#svgContainer").click(function(event){
+          //console.log($(event.target).parent().html())
+          //console.log($($(event.target).parent()).attr("data-element-id"))
+          var name=$($(event.target).parent()).attr("data-element-id")
+          lastElementSelected=$($(event.target).parent()).attr("data-element-id")
+          checkIfElementType(name)
+          
+        })
         $(".bjs-container").attr("hidden","");
     }
     this.enableDisableMenuOptions=function(pars){
-      console.log("enableDisableMenuOptions");
-       var permittedActionCd = pars.permittedActionCd;
-       // enable menu options
-       document.getElementById('Save CL').classList.remove('ThisLink');
-       document.getElementById('Test').classList.remove('ThisLink');
-       document.getElementById('Properties CL').classList.remove('ThisLink');
-       document.getElementById('Refresh Status').classList.remove('ThisLink');
-       document.getElementById('Revert Model Changes').classList.remove('ThisLink');
-       document.getElementById('Close Model').classList.remove('ThisLink');
-       document.getElementById('Refresh ASDC').classList.remove('ThisLink');
-       document.getElementById('Running Instances').classList.remove('ThisLink');
-       
-       //disable template options for save/properties
-       document.getElementById('Save Template').classList.add('ThisLink');
-       document.getElementById('Template Properties').classList.add('ThisLink');
-       document.getElementById('Revert Template Changes').classList.add('ThisLink');
-       document.getElementById('Close Template').classList.add('ThisLink');
-
-       
-               // enable/disable menu options based on permittedActionCd list
-               this.checkPermittedActionCd(permittedActionCd, 'Submit', 'SUBMIT');
-               this.checkPermittedActionCd(permittedActionCd, 'Resubmit', 'RESUBMIT');
-               this.checkPermittedActionCd(permittedActionCd, 'Update', 'UPDATE');
-               this.checkPermittedActionCd(permittedActionCd, 'Delete', 'DELETE');
-               this.checkPermittedActionCd(permittedActionCd, 'Stop', 'STOP');
-               this.checkPermittedActionCd(permittedActionCd, 'Restart', 'RESTART');
-    }
+      
+      var permittedActionCd = pars.permittedActionCd;
+      
+      //dropdown options - always true
+      document.getElementById('Open Template').classList.remove('ThisLink');
+         document.getElementById('Open CL').classList.remove('ThisLink');
+         document.getElementById('Save Template').classList.add('ThisLink');
+         document.getElementById('Template Properties').classList.add('ThisLink');
+         document.getElementById('Revert Template Changes').classList.add('ThisLink');
+         document.getElementById('Close Template').classList.add('ThisLink'); 
+               
+      if (readOnly||readMOnly){
+       //enable model options
+               document.getElementById('Properties CL').classList.remove('ThisLink');
+               document.getElementById('Close Model').classList.remove('ThisLink');
+               
+               //disable models options
+               document.getElementById('Create CL').classList.add('ThisLink');
+               document.getElementById('Save CL').classList.add('ThisLink');
+       document.getElementById('Revert Model Changes').classList.add('ThisLink');                      
+         } else {
+             // enable menu options
+                 document.getElementById('Create CL').classList.remove('ThisLink');
+             document.getElementById('Save CL').classList.remove('ThisLink');
+             document.getElementById('Properties CL').classList.remove('ThisLink');
+             document.getElementById('Revert Model Changes').classList.remove('ThisLink');
+             document.getElementById('Close Model').classList.remove('ThisLink');
+             
+             
+             document.getElementById('Validation Test').classList.remove('ThisLink');
+             document.getElementById('Refresh Status').classList.remove('ThisLink');      
+             document.getElementById('Refresh ASDC').classList.remove('ThisLink');     
+         } 
+      if (readTOnly){
+               document.getElementById('Create Template').classList.add('ThisLink');
+         } else {
+               document.getElementById('Create Template').classList.remove('ThisLink');
+         }
+      
+               // enable/disable menu options based on permittedActionCd list
+               this.checkPermittedActionCd(permittedActionCd, 'Validation Test', 'TEST');
+               this.checkPermittedActionCd(permittedActionCd, 'Submit', 'SUBMIT');
+               this.checkPermittedActionCd(permittedActionCd, 'Resubmit', 'RESUBMIT');
+               this.checkPermittedActionCd(permittedActionCd, 'Update', 'UPDATE');
+               this.checkPermittedActionCd(permittedActionCd, 'Stop', 'STOP');
+               this.checkPermittedActionCd(permittedActionCd, 'Restart', 'RESTART');
+               this.checkPermittedActionCd(permittedActionCd, 'Delete', 'DELETE');
+               this.checkPermittedActionCd(permittedActionCd, 'Deploy', 'DEPLOY');
+               this.checkPermittedActionCd(permittedActionCd, 'UnDeploy', 'UNDEPLOY');
+               
+       }
     
    
     this.getASDCServices().then(function(pars){
-      console.log("getASDCServices");
-       var services=pars.service;
-       asdc_Services=services
+      
+      var services=pars.service;
+      asdc_Services=services
     });
     
  }]);