2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END============================================
20 * ===================================================================
31 function(alertService, $http, $q, $rootScope) {
33 function checkIfElementType(name, isSimple) {
35 //This will open the methods located in the app.js
37 if (undefined == name) {
39 }else if (name.toLowerCase().indexOf("policy") >= 0){
42 $rootScope.selectedBoxName = name.toLowerCase();
46 if (undefined == name) {
51 'policy' : PolicyWindow,
52 'vescollector' : VesCollectorWindow,
53 'holmes' : HolmesWindow,
55 key = name.split('_')[0].toLowerCase()
61 function handleQueryToBackend(def, svcAction, svcUrl, svcPayload) {
63 $http.put(svcUrl, svcPayload).success(
67 if (typeof data.statusCodeValue === 'undefined'
68 || data.statusCodeValue === 200) {
69 alertService.alertMessage(
70 "Action Successful: " + svcAction, 1)
72 if (typeof data.body !== 'undefined') {
73 alertService.alertMessage("Action Failure: "
74 + svcAction + ", " + data.body.errorMessageForUi, 2);
76 alertService.alertMessage("Action Failure: "
79 def.reject(svcAction + " not successful");
85 if (typeof data.body !== 'undefined') {
86 alertService.alertMessage("Action Failure: " + svcAction
87 + ", " + data.body.errorMessageForUi, 2);
90 .alertMessage("Action Failure: " + svcAction, 2);
92 def.reject(svcAction + " not successful");
95 this.toggleDeploy = function(uiAction, modelName, controlNamePrefixIn,
96 bpmnTextIn, propTextIn, svgXmlIn,
97 templateName, typeID, controlNameUuid,
98 modelEventService, deploymentId) {
100 var def = $q.defer();
102 var action = uiAction.toLowerCase();
103 var deployUrl = "/restservices/clds/v1/clds/" + action + "/"
107 controlNamePrefix : controlNamePrefixIn,
108 bpmnText : bpmnTextIn,
109 propText : propTextIn,
110 imageText : svgXmlIn,
111 templateName : templateName,
113 controlNameUuid : controlNameUuid,
114 event : modelEventService,
115 deploymentId : deploymentId
117 handleQueryToBackend(def, action, deployUrl, requestData);
120 this.getASDCServices = function() {
122 var def = $q.defer();
124 var svcUrl = "/restservices/clds/v1/clds/sdc/services/";
125 $http.get(svcUrl).success(function(data) {
128 }).error(function(data) {
130 def.reject("sdc Services not found");
134 this.getASDCService = function(uuid) {
136 var def = $q.defer();
138 var svcUrl = "/restservices/clds/v1/clds/sdc/services/" + uuid;
139 $http.get(svcUrl).success(function(data) {
142 }).error(function(data) {
144 def.reject("SDC service not found");
148 this.getModel = function(modelName) {
150 var def = $q.defer();
152 var svcUrl = "/restservices/clds/v1/clds/model/" + modelName;
153 $http.get(svcUrl).success(function(data) {
156 }).error(function(data) {
158 def.reject("Open Model not successful");
162 this.getSavedModel = function() {
164 var def = $q.defer();
166 var svcUrl = "/restservices/clds/v1/clds/model-names";
167 $http.get(svcUrl).success(function(data) {
170 }).error(function(data) {
172 def.reject("Open Model not successful");
176 this.setModel = function(modelName, controlNamePrefixIn, bpmnTextIn,
179 var def = $q.defer();
181 var svcUrl = "/restservices/clds/v1/clds/model/" + modelName;
184 controlNamePrefix : controlNamePrefixIn,
185 bpmnText : bpmnTextIn,
186 propText : propTextIn
188 $http.put(svcUrl, svcRequest).success(function(data) {
191 }).error(function(data) {
193 def.reject("Save Model not successful");
197 this.processAction = function(uiAction, modelName, controlNamePrefixIn,
198 bpmnTextIn, propTextIn, svgXmlIn,
199 templateName, typeID, deploymentId) {
201 var def = $q.defer();
203 // console.log(svgXmlIn);
204 var svcUrl = "/restservices/clds/v1/clds/";
205 var svcAction = uiAction.toLowerCase();
206 if (svcAction == "save" || svcAction == "refresh") {
207 svcUrl = svcUrl + "model/" + modelName;
208 } else if (svcAction == "test") {
209 svcUrl = svcUrl + "action/submit/" + modelName + "?test=true";
211 svcUrl = svcUrl + "action/" + svcAction + "/" + modelName;
215 controlNamePrefix : controlNamePrefixIn,
216 bpmnText : bpmnTextIn,
217 propText : propTextIn,
218 imageText : svgXmlIn,
219 templateName : templateName,
221 deploymentId : deploymentId
223 handleQueryToBackend(def, svcAction, svcUrl, svcRequest);
226 this.manageAction = function(modelName, typeId, typeName) {
228 var def = $q.defer();
231 url : "/restservices/clds/v1/clds/getDispatcherInfo",
239 $http(config).success(function(data) {
242 }).error(function(data) {
244 def.reject("manage action not successful");
248 this.checkPermittedActionCd = function(permittedActionCd, menuText,
251 if (permittedActionCd.indexOf(actionCd) > -1) {
252 document.getElementById(menuText).classList.remove('ThisLink');
254 document.getElementById(menuText).classList.add('ThisLink');
257 this.processActionResponse = function(modelName, pars, simple) {
259 // populate control name (prefix and uuid here)
260 var controlNamePrefix = pars.controlNamePrefix;
261 var controlNameUuid = pars.controlNameUuid;
262 deploymentId = pars.deploymentId;
263 var modelEventService = pars.modelEventService;
264 typeID = pars.typeId;
265 var headerText = "Closed Loop Modeler - " + modelName;
266 if (controlNameUuid != null) {
267 var actionCd = pars.event.actionCd;
268 var actionStateCd = pars.event.actionStateCd;
269 headerText = headerText + " [" + controlNamePrefix
270 + controlNameUuid + "]";
272 document.getElementById("modeler_name").textContent = headerText;
273 document.getElementById("templa_name").textContent = ("Template Used - " + selected_template);
275 disableBPMNAddSVG(pars, simple);
276 this.enableDisableMenuOptions(pars);
278 this.processRefresh = function(pars) {
281 if (typeof pars.body !== 'undefined') {
284 typeID = newPars.typeId;
285 deploymentId = newPars.deploymentId;
287 this.enableDisableMenuOptions(newPars);
288 elementMap = JSON.parse(newPars.propText);
290 function setStatus(pars) {
292 var status = pars.status;
293 // apply color to status
294 var statusColor = 'white';
295 if (status.trim() === "DESIGN") {
297 } else if (status.trim() === "DISTRIBUTED") {
299 } else if (status.trim() === "ACTIVE") {
300 statusColor = 'green'
301 } else if (status.trim() === "STOPPED") {
303 } else if (status.trim() === "DELETING") {
305 } else if (status.trim() === "ERROR") {
306 statusColor = 'orange'
307 } else if (status.trim() === "UNKNOWN") {
312 var statusMsg = '<span style="background-color:'
314 + ';-moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px;"> '
315 + status + ' </span>';
317 if ($("#status_clds").length >= 1)
318 $("#status_clds").remove();
319 $("#activity_modeler")
321 '<span id="status_clds" style="position: absolute; left: 61%;top: 151px; font-size:20px;">Status: '
322 + statusMsg + '</span>');
324 function disableBPMNAddSVG(pars, simple) {
326 var svg = pars.imageText.substring(pars.imageText.indexOf("<svg"))
327 if ($("#svgContainer").length > 0)
328 $("#svgContainer").remove();
329 $("#js-canvas").append(
330 "<span id=\"svgContainer\">" + svg + "</span>");
331 /* added code for height width viewBox */
332 $("#svgContainer svg").removeAttr("height");
333 $("#svgContainer svg").removeAttr('viewBox');
334 $("#svgContainer svg").removeAttr('width');
335 $("#svgContainer svg").attr('width', '100%');
336 $("#svgContainer svg").attr('height', '100%');
337 $("#svgContainer").click(
340 // console.log($(event.target).parent().html())
341 // console.log($($(event.target).parent()).attr("data-element-id"))
342 var name = $($(event.target).parent()).attr("data-element-id")
343 lastElementSelected = $($(event.target).parent()).attr(
345 checkIfElementType(name, simple)
348 this.enableDisableMenuOptions = function(pars) {
350 var permittedActionCd = pars.permittedActionCd;
351 // dropdown options - always true
352 document.getElementById('Open CL').classList.remove('ThisLink');
354 // enable model options
355 document.getElementById('Properties CL').classList
357 document.getElementById('Close Model').classList
359 // disable models options
360 document.getElementById('Save CL').classList.add('ThisLink');
361 document.getElementById('Revert Model Changes').classList
364 // enable menu options
365 document.getElementById('Save CL').classList.remove('ThisLink');
366 document.getElementById('Properties CL').classList
368 document.getElementById('Revert Model Changes').classList
370 document.getElementById('Close Model').classList
372 document.getElementById('Validation Test').classList
374 document.getElementById('Refresh Status').classList
376 document.getElementById('Refresh ASDC').classList
379 // enable/disable menu options based on permittedActionCd
381 this.checkPermittedActionCd(permittedActionCd, 'Validation Test',
383 this.checkPermittedActionCd(permittedActionCd, 'Submit', 'SUBMIT');
384 this.checkPermittedActionCd(permittedActionCd, 'Resubmit',
386 this.checkPermittedActionCd(permittedActionCd, 'Update', 'UPDATE');
387 this.checkPermittedActionCd(permittedActionCd, 'Stop', 'STOP');
389 .checkPermittedActionCd(permittedActionCd, 'Restart', 'RESTART');
390 this.checkPermittedActionCd(permittedActionCd, 'Delete', 'DELETE');
391 this.checkPermittedActionCd(permittedActionCd, 'Deploy', 'DEPLOY');
392 this.checkPermittedActionCd(permittedActionCd, 'UnDeploy',
395 this.getASDCServices().then(function(pars) {
397 var obj = JSON.parse(pars);
398 var services = obj.service;
399 asdc_Services = services