Initial code import
[msb/apigateway.git] / apiroute / apiroute-service / src / main / resources / iui-route / js / routeController.js
1 /*\r
2  * Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *         http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 var table;\r
17 var vm = avalon\r
18                 .define({\r
19                         $id : "routeController",\r
20                         targetServiceUrl:"",\r
21                         targetFullServiceUrl:"",\r
22                         iuiRootPath:iuiRootPath,\r
23                         apiRootPath:apiRootPath,\r
24                         apiIframeUrl:"",\r
25                         iuiIframeUrl:"",\r
26                         boxVisible:true,\r
27                         routeTargetTitle:$.i18n.prop("org_openo_msb_route_content_title"),                      \r
28                         server_rtn:{\r
29                                 info_block:false,\r
30                                 warning_block:false,\r
31                                 rtn_info:""\r
32                         },\r
33                         showAPIType:"0",\r
34                         showAPITypeName:[$.i18n.prop("org_openo_msb_route_swagger_type_predefined"),$.i18n.prop("org_openo_msb_route_swagger_type_custominput")],\r
35                         $msbProtocol :["REST","UI","MQ","FTP","SNMP","TCP","UDP"],\r
36                         $msbType:["UI","NAF","SAF"],\r
37                         apiJson:{\r
38                                 local:"",\r
39                                 custom:""\r
40                         },\r
41                         setAPIType:function(type){\r
42                                 vm.apiRouteInfo.apiJsonType=type;\r
43                                 if(type==0){\r
44                                         vm.apiJson.local=vm.jsonApiSelectList.selectItems[0];\r
45                                 }\r
46 \r
47                         },      \r
48                         jsonApiSelectList:  {\r
49                                         condName : "type",\r
50                                         component_type : 'select',\r
51                                         selectItems : []\r
52                                 },\r
53                         \r
54                  dataTableLanguage: {\r
55                 "sProcessing": "<img src='../img/loading-spinner-grey.gif'/><span>&nbsp;&nbsp;Loadding...</span>",   \r
56                 "sLengthMenu": $.i18n.prop("org_openo_msb_route-table-sLengthMenu"),\r
57                 "sZeroRecords": $.i18n.prop("org_openo_msb_route-table-sZeroRecords"),\r
58                 "sInfo": "<span class='seperator'>  </span>" + $.i18n.prop("org_openo_msb_route-table-sInfo"),\r
59                 "sInfoEmpty": $.i18n.prop("org_openo_msb_route-table-sInfoEmpty"),\r
60                 "sGroupActions": $.i18n.prop("org_openo_msb_route-table-sGroupActions"),\r
61                 "sAjaxRequestGeneralError": $.i18n.prop("org_openo_msb_route-table-sAjaxRequestGeneralError"),\r
62                 "sEmptyTable": $.i18n.prop("org_openo_msb_route-table-sEmptyTable"),\r
63                 "oPaginate": {\r
64                     "sPrevious": $.i18n.prop("org_openo_msb_route-table-sPrevious"),\r
65                     "sNext": $.i18n.prop("org_openo_msb_route-table-sNext"),\r
66                     "sPage": $.i18n.prop("org_openo_msb_route-table-sPage"),\r
67                     "sPageOf": $.i18n.prop("org_openo_msb_route-table-sPageOf")\r
68                 },\r
69                 "sSearch": $.i18n.prop("org_openo_msb_route-table-search"),\r
70                 "sInfoFiltered": $.i18n.prop("org_openo_msb_route-table-infofilter") \r
71             },  \r
72                         $apiRouteUrl :apiBasePath+'/apiRoute',\r
73                         $apiRouteInstanceUrl :apiBasePath+'/apiRoute/{serviceName}/version/{version}',  \r
74                         $apiRouteStatusUrl :apiBasePath+'/apiRoute/{serviceName}/version/{version}/status/{status}',\r
75                         $apiDocsUrl :apiBasePath+'/apiRoute/apiDocs',   \r
76                         $apiGatewayPortUrl :apiBasePath+'/apiRoute/apiGatewayPort',     \r
77                         $discoverInfoUrl :apiBasePath+'/apiRoute/discoverInfo', \r
78                         $iuiRouteUrl :apiBasePath+'/iuiRoute',\r
79                         $iuiRouteInstanceUrl :apiBasePath+'/iuiRoute/{serviceName}',\r
80                         $iuiRouteStatusUrl :apiBasePath+'/iuiRoute/{serviceName}/status/{status}',\r
81                         $customRouteUrl :apiBasePath+'/customRoute/all',\r
82                         $customRouteInstanceUrl :apiBasePath+'/customRoute/instance',\r
83                         $customRouteStatusUrl :apiBasePath+'/customRoute/status',       \r
84                         $msbRouteUrl:apiBasePath+'/services',   \r
85                         $msbRouteInstanceUrl :apiBasePath+'/services/{serviceName}/version/{version}',\r
86                         routeLoading:false,             \r
87                         apiRouteArray :  [],\r
88                         apiRouteInfo : {\r
89                             oldServiceName:"",                                  \r
90                                 serviceName : "",\r
91                                 oldVersion:"",  \r
92                                 version : "",\r
93                                 status:"",\r
94                                 url:"",\r
95                                 metricsUrl:"/admin/metrics",\r
96                                 apiJson:"/swagger.json",\r
97                                 apiJsonType:"1",\r
98                                 control:"",\r
99                                 server:"",\r
100                                 servers: []\r
101                         },      \r
102                         iuiRouteArray :  [],\r
103                         iuiRouteInfo : {        \r
104                             oldServiceName:"",                          \r
105                                 serviceName : "",\r
106                                 status:"",\r
107                                 url:"",\r
108                                 server:"",\r
109                                 control:"",\r
110                                 servers: []\r
111                         },      \r
112                         customRouteArray :  [],\r
113                         customGroupRouteArray :  [],\r
114                         customRouteInfo : {     \r
115                             oldServiceName:"",          \r
116                                 serviceName : "",\r
117                                 status:"",\r
118                                 url:"",\r
119                                 server:"",\r
120                                 control:"",\r
121                                 servers: []\r
122                         },\r
123                         msbRouteArray :  [],\r
124                         msbRouteInfo : {        \r
125                             oldServiceName:"",  \r
126                             oldVersion:"",                              \r
127                                 serviceName : "",\r
128                                 version:"",\r
129                                 status:"0",\r
130                                 nodes:[],\r
131                                 newHost:"",\r
132                                 newttl:0,\r
133                                 url:"",\r
134                                 protocol:"",\r
135                                 visualRange:"",\r
136                                 visualRangeArray:[]                     \r
137                         },\r
138                         discoverInfo:{\r
139                                 ip:"",\r
140                                 port:"",\r
141                                 enabled:false,\r
142                                 deployMode:""\r
143                         },\r
144                         selectedRoute:"",\r
145                         selectedRouteType:"",\r
146                         routeDlgInfo:{\r
147                                 titleName:"",\r
148                                 saveType:""\r
149                         },                                                                                              \r
150                         $initRoute : function() {\r
151                         \r
152 \r
153 \r
154                             vm.routeLoading=true;\r
155 \r
156                              $.ajax({\r
157                                         "type": 'get',\r
158                                          async: false,\r
159                                         "url":  vm.$discoverInfoUrl,\r
160                                         "dataType": "json",\r
161                                         success: function (resp) { \r
162                                    \r
163                                          vm.discoverInfo = (resp==null)?"":resp;\r
164                                                                                                         \r
165                                         },\r
166                                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
167                                                                    bootbox.alert("get discoverInfo fails:"+textStatus+":"+errorThrown); \r
168                                          }\r
169                                     });\r
170 \r
171                                   $.ajax({\r
172                         "type": 'get',\r
173                         "url":  vm.$apiRouteUrl,\r
174                         "dataType": "json",\r
175                         success: function (resp) {  \r
176                              vm.apiRouteArray = (resp==null)?[]:resp;  \r
177                              vm.apiRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1});                     \r
178                         },\r
179                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
180                                                    bootbox.alert("get api services fails:"+textStatus+":"+errorThrown);                       \r
181                                return;\r
182                          },\r
183                          complete:function(){\r
184                                 vm.routeLoading=false;\r
185                                 routeUtil.refreshRoute();\r
186                                  $.ajax({\r
187                                         "type": 'get',\r
188                                         "url":  vm.$apiGatewayPortUrl,\r
189                                         "dataType": "text",\r
190                                         success: function (resp) { \r
191                                    \r
192                                          vm.targetServiceUrl=location.hostname+":"+resp;\r
193                                                                                                         \r
194                                         },\r
195                                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
196                                                                    bootbox.alert("get apiGateway published port fails:"+textStatus+":"+errorThrown); \r
197                                          }\r
198                                     });\r
199                           }\r
200                     });\r
201 \r
202 \r
203 \r
204                                   $.ajax({\r
205                         "type": 'get',\r
206                         "url":  vm.$iuiRouteUrl,\r
207                         "dataType": "json",\r
208                         success: function (resp) {  \r
209                              vm.iuiRouteArray = (resp==null)?[]:resp;  \r
210                              vm.iuiRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1});                     \r
211                         },\r
212                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
213                                                    bootbox.alert("get iui services fails:"+textStatus+":"+errorThrown);                       \r
214                                return;\r
215                          },\r
216                          complete:function(){                           \r
217                                 routeUtil.refreshRoute();                               \r
218                           }\r
219                     });\r
220 \r
221 \r
222 \r
223                                   $.ajax({\r
224                         "type": 'get',\r
225                         "url":  vm.$customRouteUrl,\r
226                         "dataType": "json",\r
227                         success: function (resp) {  \r
228                               vm.customRouteArray = (resp==null)?[]:resp;   \r
229                         \r
230                             if(resp!=null && resp.length>0)\r
231                             {\r
232                              routeUtil.groupRoute(resp);\r
233                             }\r
234 \r
235                         },\r
236                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
237                                                    bootbox.alert("get custom services fails:"+textStatus+":"+errorThrown);                       \r
238                                return;\r
239                          },\r
240                          complete:function(){                           \r
241                                 routeUtil.refreshRoute();                               \r
242                           }\r
243                     });\r
244 \r
245 \r
246                                   $.ajax({\r
247                         "type": 'get',\r
248                         "url":  vm.$apiDocsUrl,\r
249                         "dataType": "json",\r
250                         success: function (resp) {  \r
251                              vm.jsonApiSelectList.selectItems= (resp==null)?[]:resp;                    \r
252                         },\r
253                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
254                                                    bootbox.alert("get local apiDocs  fails:"+textStatus+":"+errorThrown); \r
255                          }\r
256                     });\r
257 \r
258 \r
259 \r
260                                   vm.initMSBRoute();\r
261 \r
262 \r
263                 \r
264 \r
265                         },\r
266                         initMSBRoute:function(){\r
267                                 vm.initIUIfori18n();\r
268 \r
269                                 $.ajax({\r
270                         "type": 'get',\r
271                         "url":  vm.$msbRouteUrl,\r
272                         "dataType": "json",\r
273                         success: function (resp) {  \r
274                               vm.msbRouteArray = (resp==null)?[]:resp;  \r
275                         \r
276                              vm.msbRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); \r
277                                                 \r
278                         },\r
279                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
280                                                    bootbox.alert("get msb services fails:"+XMLHttpRequest.responseText);                       \r
281                                return;\r
282                          },\r
283                          complete:function(){\r
284 \r
285                                 table=$('#msbTable').DataTable({\r
286                                                      \r
287                                                           "oLanguage": vm.dataTableLanguage,\r
288                                                           columnDefs: [ {\r
289                                                                       targets: [ 0,8 ],\r
290                                                                       "searchable": false,\r
291                                                                       "bSortable": false,\r
292                                                                     }],                                                              \r
293                                                                    "order": [[2, 'asc']]\r
294                                                         });\r
295                                 \r
296                                 }\r
297                                 });\r
298                \r
299                    \r
300                         },\r
301                         \r
302                         clickDisplayGraphAlink: function () {\r
303                 vm.boxVisible = !vm.boxVisible;\r
304                 },\r
305                 addmsbHost:function(){\r
306                         if(vm.msbRouteInfo.newHost==""){\r
307                                 vm.server_rtn.warning_block=true;\r
308                                     vm.server_rtn.info_block=false; \r
309                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_empty");\r
310                                         return;\r
311                         }\r
312 \r
313                         if(vm.msbRouteInfo.newttl==""){\r
314                                 vm.server_rtn.warning_block=true;\r
315                                     vm.server_rtn.info_block=false; \r
316                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_ttl_empty");\r
317                                         return;\r
318                         }\r
319 \r
320                           var reg=/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))):(\d{1,5})$/   \r
321                            var ip,port; \r
322                                    if(!reg.test(vm.msbRouteInfo.newHost)){  \r
323                                         vm.server_rtn.warning_block=true;\r
324                                     vm.server_rtn.info_block=false; \r
325                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_format");\r
326                                         return;\r
327                                    }\r
328                                    else{\r
329                         \r
330                                         var hosts=vm.msbRouteInfo.newHost.split(":");  \r
331                                         ip=hosts[0];\r
332                                         port=hosts[1];\r
333                                    }\r
334 \r
335                 var reg_ttl=/^\d+$/\r
336          \r
337                                  if(!reg_ttl.test(vm.msbRouteInfo.newttl)){  \r
338                                         vm.server_rtn.warning_block=true;\r
339                                     vm.server_rtn.info_block=false; \r
340                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_ttl_format");\r
341                                         return;\r
342                                    }  \r
343 \r
344                                   \r
345 \r
346                         // determine whether host repeated\r
347                                 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){\r
348                                 \r
349                                                 if(vm.msbRouteInfo.nodes[i].ip==ip && vm.msbRouteInfo.nodes[i].port==port )\r
350                                                 {\r
351                                                         vm.server_rtn.warning_block=true;\r
352                                                     vm.server_rtn.info_block=false; \r
353                                                     vm.server_rtn.rtn_info=  $.i18n.prop('org_openo_msb_route_err_host_repeat',[vm.msbRouteInfo.newHost]); \r
354                                                     return;\r
355                                                 }\r
356                                         \r
357                                 }\r
358 \r
359                                 vm.msbRouteInfo.nodes.push({"ip":ip,"port":port,"ttl":vm.msbRouteInfo.newttl});\r
360                                 vm.msbRouteInfo.newHost="";\r
361                                 vm.msbRouteInfo.newttl="";\r
362                                 vm.server_rtn.warning_block=false;\r
363                             vm.server_rtn.info_block=false; \r
364                                 vm.server_rtn.rtn_info= "";\r
365 \r
366 \r
367                 },\r
368                 delmsbHost:function(ip,port){\r
369                         \r
370                         bootbox.confirm( $.i18n.prop('org_openo_msb_route_err_host_del',[ip],[port]),function(result){\r
371                                 if(result){\r
372                                         \r
373                                          for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){\r
374                                                if(vm.msbRouteInfo.nodes[i].ip == ip && vm.msbRouteInfo.nodes[i].port == port){\r
375                                                     vm.msbRouteInfo.nodes.splice(i, 1);\r
376                                                     break;\r
377                                                 }\r
378                                             }   \r
379 \r
380                                }\r
381         \r
382                                 });\r
383 \r
384                                 vm.server_rtn.warning_block=false;\r
385                             vm.server_rtn.info_block=false; \r
386                                 vm.server_rtn.rtn_info= "";\r
387 \r
388                 },\r
389                 addapiHost:function(){\r
390                         if(vm.apiRouteInfo.server==""){\r
391                                 vm.server_rtn.warning_block=true;\r
392                                     vm.server_rtn.info_block=false; \r
393                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_empty");\r
394                                         return;\r
395                         }\r
396 \r
397                           var reg=/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))):(\d{1,5})$/   \r
398                           var ip,port;\r
399                                    if(!reg.test(vm.apiRouteInfo.server)){  \r
400                                         vm.server_rtn.warning_block=true;\r
401                                     vm.server_rtn.info_block=false; \r
402                                     vm.server_rtn.rtn_info=  $.i18n.prop("org_openo_msb_route_err_host_format");\r
403                                         return;\r
404                                    }\r
405                                    else{\r
406                                         var hosts=vm.apiRouteInfo.server.split(":")\r
407                                         ip=hosts[0];\r
408                                         port=hosts[1];\r
409                                    }\r
410 \r
411                         // determine whether host repeated\r
412                                 for(var i=0;i<vm.apiRouteInfo.servers.length;i++){\r
413                                 \r
414                                                 if(vm.apiRouteInfo.servers[i].ip==ip && vm.apiRouteInfo.servers[i].port==port)\r
415                                                 {\r
416                                                         vm.server_rtn.warning_block=true;\r
417                                                     vm.server_rtn.info_block=false; \r
418                                                     vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_host_repeat',[vm.apiRouteInfo.server]); \r
419                                                         return;\r
420                                                 }\r
421                                         \r
422                                 }\r
423                                 var server={ip:ip,port:port,weight: 0};\r
424                                 vm.apiRouteInfo.servers.push(server);\r
425                                 vm.apiRouteInfo.server="";\r
426                                 vm.server_rtn.warning_block=false;\r
427                             vm.server_rtn.info_block=false; \r
428                                 vm.server_rtn.rtn_info= "";\r
429 \r
430 \r
431                 },\r
432                 delapiHost:function(ip,port){\r
433                         \r
434                         bootbox.confirm( $.i18n.prop('org_openo_msb_route_err_host_del',[ip],[port]),function(result){\r
435                                 if(result){\r
436                                         \r
437                                          for(var i=0;i<vm.apiRouteInfo.servers.length;i++){\r
438                                                if(vm.apiRouteInfo.servers[i].ip == ip && vm.apiRouteInfo.servers[i].port == port ){\r
439                                                     vm.apiRouteInfo.servers.splice(i, 1);\r
440                                                     break;\r
441                                                 }\r
442                                             }   \r
443 \r
444                                }\r
445         \r
446                                 });\r
447 \r
448                                 vm.server_rtn.warning_block=false;\r
449                             vm.server_rtn.info_block=false; \r
450                                 vm.server_rtn.rtn_info= "";\r
451 \r
452                 },\r
453                 addcustomHost:function(){\r
454                         if(vm.customRouteInfo.server==""){\r
455                                 vm.server_rtn.warning_block=true;\r
456                                     vm.server_rtn.info_block=false; \r
457                                     vm.server_rtn.rtn_info=  $.i18n.prop("org_openo_msb_route_err_host_empty");\r
458                                         return;\r
459                         }\r
460 \r
461                           var reg=/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))):(\d{1,5})$/   \r
462                           var ip,port;\r
463                                    if(!reg.test(vm.customRouteInfo.server)){  \r
464                                         vm.server_rtn.warning_block=true;\r
465                                     vm.server_rtn.info_block=false; \r
466                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_format");\r
467                                         return;\r
468                                    }\r
469                                    else{\r
470                                         var hosts=vm.customRouteInfo.server.split(":")\r
471                                         ip=hosts[0];\r
472                                         port=hosts[1];\r
473                                    }\r
474 \r
475                         //判断host是否重复\r
476                                 for(var i=0;i<vm.customRouteInfo.servers.length;i++){\r
477                                 \r
478                                                 if(vm.customRouteInfo.servers[i].ip==ip && vm.customRouteInfo.servers[i].port==port)\r
479                                                 {\r
480                                                         vm.server_rtn.warning_block=true;\r
481                                                     vm.server_rtn.info_block=false; \r
482                                                     vm.server_rtn.rtn_info=  $.i18n.prop('org_openo_msb_route_err_host_repeat',[vm.apiRouteInfo.server]);\r
483                                                         return;\r
484                                                 }\r
485                                         \r
486                                 }\r
487                                 var server={ip:ip,port:port,weight: 0};\r
488                                 vm.customRouteInfo.servers.push(server);\r
489                                 vm.customRouteInfo.server="";\r
490                                 vm.server_rtn.warning_block=false;\r
491                             vm.server_rtn.info_block=false; \r
492                                 vm.server_rtn.rtn_info= "";\r
493 \r
494 \r
495                 },\r
496                 delcustomHost:function(ip,port){\r
497                         \r
498                         bootbox.confirm( $.i18n.prop('org_openo_msb_route_err_host_del',[ip],[port]),function(result){\r
499                                 if(result){\r
500                                         \r
501                                          for(var i=0;i<vm.customRouteInfo.servers.length;i++){\r
502                                                if(vm.customRouteInfo.servers[i].ip == ip && vm.customRouteInfo.servers[i].port == port ){\r
503                                                     vm.customRouteInfo.servers.splice(i, 1);\r
504                                                     break;\r
505                                                 }\r
506                                             }   \r
507 \r
508                                }\r
509         \r
510                                 });\r
511 \r
512                                 vm.server_rtn.warning_block=false;\r
513                             vm.server_rtn.info_block=false; \r
514                                 vm.server_rtn.rtn_info= "";\r
515 \r
516                 },\r
517                 addiuiHost:function(){\r
518                         if(vm.iuiRouteInfo.server==""){\r
519                                 vm.server_rtn.warning_block=true;\r
520                                     vm.server_rtn.info_block=false; \r
521                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_empty");\r
522                                         return;\r
523                         }\r
524 \r
525                           var reg=/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))):(\d{1,5})$/   \r
526                           var ip,port;\r
527                                    if(!reg.test(vm.iuiRouteInfo.server)){  \r
528                                         vm.server_rtn.warning_block=true;\r
529                                     vm.server_rtn.info_block=false; \r
530                                     vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_format");\r
531                                         return;\r
532                                    }\r
533                                    else{\r
534                                         var hosts=vm.iuiRouteInfo.server.split(":")\r
535                                         ip=hosts[0];\r
536                                         port=hosts[1];\r
537                                    }\r
538 \r
539                         //判断host是否重复\r
540                                 for(var i=0;i<vm.iuiRouteInfo.servers.length;i++){\r
541                                 \r
542                                                 if(vm.iuiRouteInfo.servers[i].ip==ip && vm.iuiRouteInfo.servers[i].port==port)\r
543                                                 {\r
544                                                         vm.server_rtn.warning_block=true;\r
545                                                     vm.server_rtn.info_block=false; \r
546                                                     vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_host_repeat',[vm.apiRouteInfo.server]);\r
547                                                         return;\r
548                                                 }\r
549                                         \r
550                                 }\r
551                                 var server={ip:ip,port:port,weight: 0};\r
552                                 vm.iuiRouteInfo.servers.push(server);\r
553                                 vm.iuiRouteInfo.server="";\r
554                                 vm.server_rtn.warning_block=false;\r
555                             vm.server_rtn.info_block=false; \r
556                                 vm.server_rtn.rtn_info= "";\r
557 \r
558 \r
559                 },\r
560                 deliuiHost:function(ip,port){\r
561                         \r
562                         bootbox.confirm($.i18n.prop('org_openo_msb_route_err_host_del',[ip],[port]),function(result){\r
563                                 if(result){\r
564                                         \r
565                                          for(var i=0;i<vm.iuiRouteInfo.servers.length;i++){\r
566                                                if(vm.iuiRouteInfo.servers[i].ip == ip && vm.iuiRouteInfo.servers[i].port == port ){\r
567                                                     vm.iuiRouteInfo.servers.splice(i, 1);\r
568                                                     break;\r
569                                                 }\r
570                                             }   \r
571 \r
572                                }\r
573         \r
574                                 });\r
575 \r
576                                 vm.server_rtn.warning_block=false;\r
577                             vm.server_rtn.info_block=false; \r
578                                 vm.server_rtn.rtn_info= "";\r
579 \r
580                 },\r
581                 $showmsbRouteDlg:function() {\r
582                         vm.msbRouteInfo.serviceName=""; \r
583                                 vm.msbRouteInfo.version="";\r
584                                 vm.msbRouteInfo.url="";\r
585                                 vm.msbRouteInfo.protocol="";\r
586                                 vm.msbRouteInfo.visualRange="";\r
587                                 vm.msbRouteInfo.visualRangeArray=[];\r
588                                 vm.msbRouteInfo.newHost="";\r
589                                 vm.msbRouteInfo.nodes=[];                                       \r
590                                 vm.msbRouteInfo.status="1";     \r
591                         \r
592 \r
593                                 vm.routeDlgInfo.saveType = "add";\r
594                                 vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_add_msb');\r
595                                 vm.server_rtn.warning_block=false;\r
596                                 vm.server_rtn.info_block=false;\r
597 \r
598                 \r
599 \r
600                                 $(".form-group").each(function () {\r
601                                                 $(this).removeClass('has-success');\r
602                                                 $(this).removeClass('has-error');\r
603                                                 $(this).find(".help-block[id]").remove();\r
604                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
605                                                 $(this).find(".item-tip").removeClass('item-tip-focus');\r
606                                         });\r
607 \r
608                                 $("#msbrouteDlg").modal("show");\r
609                 },\r
610                 $showiuiRouteDlg:function() {\r
611 \r
612                                 vm.iuiRouteInfo.serviceName="";\r
613                                 vm.iuiRouteInfo.url="";\r
614                                 vm.iuiRouteInfo.server="";\r
615                                 vm.iuiRouteInfo.servers=[];     \r
616                                 vm.iuiRouteInfo.control="0";    \r
617                                 vm.iuiRouteInfo.status="1";     \r
618                         \r
619 \r
620                                 vm.routeDlgInfo.saveType = "add";\r
621                                 vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_add_iui');\r
622                                 vm.server_rtn.warning_block=false;\r
623                                 vm.server_rtn.info_block=false;\r
624 \r
625                                 //$("input[name='iuioriService']").val("");\r
626 \r
627                                 $(".form-group").each(function () {\r
628                                                 $(this).removeClass('has-success');\r
629                                                 $(this).removeClass('has-error');\r
630                                                 $(this).find(".help-block[id]").remove();\r
631                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
632                                                 $(this).find(".item-tip").removeClass('item-tip-focus');\r
633                                         });\r
634 \r
635                                 $("#iuirouteDlg").modal("show");\r
636                         },\r
637                         $showcustomRouteDlg:function() {\r
638 \r
639                                 vm.customRouteInfo.serviceName="";\r
640                                 vm.customRouteInfo.url="";\r
641                                 vm.customRouteInfo.server="";\r
642                                 vm.customRouteInfo.servers=[];  \r
643                                 vm.customRouteInfo.control="0"; \r
644                                 vm.customRouteInfo.status="1";          \r
645                         \r
646 \r
647                                 vm.routeDlgInfo.saveType = "add";\r
648                                 vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_add_custom');\r
649                                 vm.server_rtn.warning_block=false;\r
650                                 vm.server_rtn.info_block=false;\r
651 \r
652                                 //$("input[name='customoriService']").val("");\r
653 \r
654                                 $(".form-group").each(function () {\r
655                                                 $(this).removeClass('has-success');\r
656                                                 $(this).removeClass('has-error');\r
657                                                 $(this).find(".help-block[id]").remove();\r
658                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
659                                                 $(this).find(".item-tip").removeClass('item-tip-focus');\r
660                                         });\r
661 \r
662                                 $("#customrouteDlg").modal("show");\r
663                         },\r
664                         $showApiRouteDlg : function() {\r
665 \r
666                                 $('#apiTab a:first').tab('show');\r
667                                 vm.apiRouteInfo.serviceName="";\r
668                                 vm.apiRouteInfo.version="";\r
669                                 vm.apiRouteInfo.url="";\r
670                                 vm.apiRouteInfo.metricsUrl="/admin/metrics";\r
671                                 vm.apiRouteInfo.control="0";\r
672                                 vm.apiRouteInfo.status="1";\r
673                                 // vm.apiRouteInfo.apiJson="/service/swagger.json";\r
674                                 vm.apiRouteInfo.apiJsonType="1";                                \r
675                                 vm.apiRouteInfo.server="";\r
676                                 vm.apiRouteInfo.servers=[];     \r
677                         \r
678                                 vm.apiJson.custom="/swagger.json";\r
679 \r
680                                 //$("input[name='oriService']").val("");\r
681 \r
682                                 $('#metricsFullurl').collapse('hide');\r
683                                 $('#apiJsonFullurl').collapse('hide');\r
684 \r
685                         \r
686 \r
687                                 vm.routeDlgInfo.saveType = "add";\r
688                                 vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_add_api');\r
689                                 vm.server_rtn.warning_block=false;\r
690                                 vm.server_rtn.info_block=false;\r
691 \r
692                                 $(".form-group").each(function () {\r
693                                                 $(this).removeClass('has-success');\r
694                                                 $(this).removeClass('has-error');\r
695                                                 $(this).find(".help-block[id]").remove();\r
696                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
697                                                 $(this).find(".item-tip").removeClass('item-tip-focus');\r
698                                         });\r
699 \r
700 \r
701                                 $("#routeDlg").modal("show");\r
702                         },\r
703                         $saveiuiRoute : function() {\r
704 \r
705                                 iuisuccess.hide();\r
706                                 iuierror.hide();\r
707                                 if (iuiform.valid() == false) {\r
708                                         return false;\r
709                                 }\r
710 \r
711                                 vm.server_rtn.warning_block=false;\r
712                                 vm.server_rtn.info_block=true;\r
713 \r
714                                 vm.iuiRouteInfo.serviceName=$.trim(vm.iuiRouteInfo.serviceName);\r
715                                 \r
716                                 var servers=[];\r
717                                 for(var i=0;i<vm.iuiRouteInfo.servers.length;i++){\r
718                                         var server={ip:vm.iuiRouteInfo.servers[i].ip,port:vm.iuiRouteInfo.servers[i].port,weight: 0};\r
719                                         servers.push(server);\r
720                                 }\r
721 \r
722 \r
723 \r
724                                 var iuiRouteUrl=vm.iuiRouteInfo.url=="/"?"":vm.iuiRouteInfo.url;\r
725                                 var data= JSON.stringify({\r
726                                                          "serviceName": vm.iuiRouteInfo.serviceName,\r
727                                                           "url": iuiRouteUrl,\r
728                                                           "control":vm.iuiRouteInfo.control,\r
729                                                           "status":vm.iuiRouteInfo.status,\r
730                                                           "servers": servers\r
731                                                 });\r
732 \r
733                                 if(vm.routeDlgInfo.saveType=="add")\r
734                                 {\r
735 \r
736                                         //Determine whether to repeat\r
737                                         for(var i=0;i<vm.iuiRouteArray.length;i++){\r
738                                         \r
739                                                         if(vm.iuiRouteArray[i].serviceName==vm.iuiRouteInfo.serviceName)\r
740                                                         {\r
741                                                                 vm.server_rtn.warning_block=true;\r
742                                                             vm.server_rtn.info_block=false; \r
743                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_repeat',[vm.iuiRouteInfo.serviceName]);\r
744                                                                 return;\r
745                                                         }\r
746                                                 \r
747                                         }\r
748 \r
749                  //save service\r
750                  \r
751               \r
752                    $.ajax({\r
753                         "type": 'POST',\r
754                         "url":  vm.$iuiRouteUrl,\r
755                         "data" : data,\r
756                         "dataType": "json",\r
757                         "contentType":"application/json",\r
758                         success: function (resp) {  \r
759                                 \r
760                                                 vm.iuiRouteArray.push(JSON.parse(data)); \r
761                                                 vm.iuiRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); \r
762 \r
763                                                 routeUtil.refreshRoute();       \r
764                                                 $('#iuirouteDlg').modal('hide');                                                        \r
765                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_iui'),$.i18n.prop('org_openo_msb_route_service_save'),"success");                  \r
766                         },\r
767                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
768                                                 \r
769                                                    vm.server_rtn.warning_block=true;\r
770                                                vm.server_rtn.info_block=false; \r
771                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown;                \r
772                               \r
773                          }\r
774                     });\r
775                }\r
776                else{  //update\r
777 \r
778                          var url= vm.$iuiRouteInstanceUrl;\r
779                         url=url.replace("{serviceName}",vm.iuiRouteInfo.oldServiceName);\r
780 \r
781                            //Determine whether to repeat\r
782                   if(vm.iuiRouteInfo.serviceName!=vm.iuiRouteInfo.oldServiceName)  //Has been modified service name\r
783                   {\r
784                                         for(var i=0;i<vm.iuiRouteArray.length;i++){\r
785                                         \r
786                                                         if(vm.iuiRouteArray[i].serviceName==vm.iuiRouteInfo.serviceName)\r
787                                                         {\r
788                                                                 vm.server_rtn.warning_block=true;\r
789                                                             vm.server_rtn.info_block=false; \r
790                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_repeat',[vm.iuiRouteInfo.serviceName]);\r
791                                                                 return;\r
792                                                         }\r
793                                                 \r
794                                         }\r
795                                 }\r
796 \r
797                 $.ajax({\r
798                         "type": 'PUT',\r
799                         "url": url,\r
800                          "data" :data,\r
801                         "dataType": "json",\r
802                         "contentType":"application/json",\r
803                         success: function (resp) {  \r
804                           \r
805                                                         for(var i=0;i<vm.iuiRouteArray.length;i++){\r
806                                             if(vm.iuiRouteArray[i].serviceName == vm.iuiRouteInfo.oldServiceName)\r
807                                             { \r
808                                                 vm.iuiRouteArray[i].serviceName=vm.iuiRouteInfo.serviceName;                                          \r
809                                                 vm.iuiRouteArray[i].url=iuiRouteUrl;\r
810                                                 vm.iuiRouteArray[i].servers=vm.iuiRouteInfo.servers;\r
811                                                \r
812                                                 break;\r
813                                             }\r
814                                          }\r
815                               \r
816 \r
817 \r
818                                                 $('#iuirouteDlg').modal('hide');                                                        \r
819                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_iui'),$.i18n.prop('org_openo_msb_route_service_update'),"success"); \r
820                                                 \r
821 \r
822                         },\r
823                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
824                                                 \r
825                                                    vm.server_rtn.warning_block=true;\r
826                                                vm.server_rtn.info_block=false; \r
827                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown;                \r
828                               \r
829                          }\r
830                     });\r
831 \r
832               \r
833                            }\r
834                         },\r
835                         $savecustomRoute : function() {\r
836 \r
837                                 customsuccess.hide();\r
838                                 customerror.hide();\r
839                                 if (customform.valid() == false) {\r
840                                         return false;\r
841                                 }\r
842 \r
843                                 if(vm.customRouteInfo.servers.length==0){\r
844                                         vm.server_rtn.warning_block=true;\r
845                                         vm.server_rtn.info_block=false; \r
846                                         vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_host_leastone');\r
847                                         return;\r
848                                 }\r
849 \r
850                                 vm.server_rtn.warning_block=false;\r
851                                 vm.server_rtn.info_block=true;\r
852 \r
853                                 vm.customRouteInfo.serviceName=$.trim(vm.customRouteInfo.serviceName);\r
854                                 \r
855                                 var servers=[];\r
856                                 for(var i=0;i<vm.customRouteInfo.servers.length;i++){\r
857                                         var server={ip:vm.customRouteInfo.servers[i].ip,port:vm.customRouteInfo.servers[i].port,weight: 0};\r
858                                         servers.push(server);\r
859                                 }\r
860 \r
861                                 var customRouteUrl=vm.customRouteInfo.url=="/"?"":vm.customRouteInfo.url;\r
862                                 var data= JSON.stringify({\r
863                                                          "serviceName": vm.customRouteInfo.serviceName,\r
864                                                           "url": customRouteUrl,\r
865                                                           "control":vm.customRouteInfo.control,\r
866                                                           "status":vm.customRouteInfo.status,\r
867                                                           "servers": servers\r
868                                                 });\r
869 \r
870                                 if(vm.routeDlgInfo.saveType=="add")\r
871                                 {\r
872 \r
873                                         //Determine whether to repeat\r
874                                         for(var i=0;i<vm.customRouteArray.length;i++){\r
875                                         \r
876                                                         if(vm.customRouteArray[i].serviceName==vm.customRouteInfo.serviceName)\r
877                                                         {\r
878                                                                 vm.server_rtn.warning_block=true;\r
879                                                             vm.server_rtn.info_block=false; \r
880                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_repeat',[vm.customRouteInfo.serviceName]);\r
881                                                                 return;\r
882                                                         }\r
883                                                 \r
884                                         }\r
885 \r
886                  //save \r
887                  \r
888               \r
889                    $.ajax({\r
890                         "type": 'POST',\r
891                         "url":  vm.$customRouteInstanceUrl,\r
892                         "data" : data,\r
893                         "dataType": "json",\r
894                         "contentType":"application/json",\r
895                         success: function (resp) {  \r
896                                 \r
897                                                 vm.customRouteArray.push(JSON.parse(data)); \r
898                                                 routeUtil.groupRoute(vm.customRouteArray);\r
899 \r
900 \r
901                                                 routeUtil.refreshRoute();       \r
902                                                 $('#customrouteDlg').modal('hide');                                                     \r
903                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_custom'),$.i18n.prop('org_openo_msb_route_service_save'),"success");                       \r
904                         },\r
905                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
906                                                 \r
907                                                    vm.server_rtn.warning_block=true;\r
908                                                vm.server_rtn.info_block=false; \r
909                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown;                \r
910                               \r
911                          }\r
912                     });\r
913                }\r
914                else{  //update\r
915 \r
916                     //Determine whether to repeat\r
917                   if(vm.customRouteInfo.serviceName!=vm.customRouteInfo.oldServiceName)  //Has been modified service name\r
918                   {\r
919                                         for(var i=0;i<vm.customRouteArray.length;i++){\r
920                                         \r
921                                                         if(vm.customRouteArray[i].serviceName==vm.customRouteInfo.serviceName)\r
922                                                         {\r
923                                                                 vm.server_rtn.warning_block=true;\r
924                                                             vm.server_rtn.info_block=false; \r
925                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_repeat',[vm.customRouteInfo.serviceName]);\r
926                                                                 return;\r
927                                                         }\r
928                                                 \r
929                                         }\r
930                                 }\r
931 \r
932                          var url= vm.$customRouteInstanceUrl+"?serviceName="+vm.customRouteInfo.oldServiceName;\r
933                \r
934                 $.ajax({\r
935                         "type": 'PUT',\r
936                         "url": url,\r
937                          "data" :data,\r
938                         "dataType": "json",\r
939                         "contentType":"application/json",\r
940                         success: function (resp) {  \r
941                      \r
942                                                         for(var i=0;i<vm.customRouteArray.length;i++){\r
943                                             if(vm.customRouteArray[i].serviceName == vm.customRouteInfo.oldServiceName)\r
944                                             {\r
945                                                 vm.customRouteArray[i].serviceName=vm.customRouteInfo.serviceName;                                            \r
946                                                 vm.customRouteArray[i].url=customRouteUrl;\r
947                                                 vm.customRouteArray[i].servers=vm.customRouteInfo.servers;\r
948                                                 break;\r
949                                             }\r
950                                          }\r
951                                                 \r
952                                                 routeUtil.groupRoute(vm.customRouteArray);\r
953                               \r
954 \r
955 \r
956                                                 $('#customrouteDlg').modal('hide');                                                     \r
957                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_custom'),$.i18n.prop('org_openo_msb_route_service_update'),"success"); \r
958                                                 \r
959 \r
960                         },\r
961                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
962                                                 \r
963                                                    vm.server_rtn.warning_block=true;\r
964                                                vm.server_rtn.info_block=false; \r
965                                                vm.server_rtn.rtn_info=$.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown;                \r
966                               \r
967                          }\r
968                     });\r
969 \r
970               \r
971                            }\r
972                         },\r
973                         $saveApiRoute : function() {\r
974 \r
975                                 success.hide();\r
976                                 error.hide();\r
977                                 if (form.valid() == false) {\r
978                                         return false;\r
979                                 }\r
980 \r
981                                 if(vm.apiRouteInfo.servers.length==0){\r
982                                         vm.server_rtn.warning_block=true;\r
983                                         vm.server_rtn.info_block=false; \r
984                                         vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_host_leastone');\r
985                                         return;\r
986                                 }\r
987 \r
988                                 vm.server_rtn.warning_block=false;\r
989                                 vm.server_rtn.info_block=true;\r
990 \r
991                                 \r
992                                 var apiRouteUrl=vm.apiRouteInfo.url=="/"?"":vm.apiRouteInfo.url;\r
993                                 var apiJson=vm.apiRouteInfo.apiJsonType=="1"?vm.apiJson.custom:vm.apiJson.local;        \r
994 \r
995                                 var servers=[];\r
996                                 for(var i=0;i<vm.apiRouteInfo.servers.length;i++){\r
997                                         var server={ip:vm.apiRouteInfo.servers[i].ip,port:vm.apiRouteInfo.servers[i].port,weight: 0};\r
998                                         servers.push(server);\r
999                                 }\r
1000 \r
1001 \r
1002                                 var data= JSON.stringify({\r
1003                                                          "serviceName": vm.apiRouteInfo.serviceName,\r
1004                                                           "version": vm.apiRouteInfo.version,\r
1005                                                           "url": apiRouteUrl,\r
1006                                                           "metricsUrl":vm.apiRouteInfo.metricsUrl,\r
1007                                                           "apiJson": apiJson,\r
1008                                                           "apiJsonType":vm.apiRouteInfo.apiJsonType,\r
1009                                                           "control":vm.apiRouteInfo.control,\r
1010                                                           "status":vm.apiRouteInfo.status,\r
1011                                                           "servers": servers\r
1012                                                 \r
1013                                                 });\r
1014 \r
1015                                 if(vm.routeDlgInfo.saveType=="add")\r
1016                                 {\r
1017 \r
1018                                          //Determine whether to repeat\r
1019                                         for(var i=0;i<vm.apiRouteArray.length;i++){\r
1020                                         \r
1021                                                         if(vm.apiRouteArray[i].serviceName==vm.apiRouteInfo.serviceName \r
1022                                                                 && vm.apiRouteArray[i].version==vm.apiRouteInfo.version )\r
1023                                                         {\r
1024                                                                 vm.server_rtn.warning_block=true;\r
1025                                                             vm.server_rtn.info_block=false; \r
1026                                                             vm.server_rtn.rtn_info=$.i18n.prop('org_openo_msb_route_err_api_repeat',[vm.apiRouteInfo.serviceName],[vm.apiRouteInfo.version]);\r
1027                                                                 return;\r
1028                                                         }\r
1029                                                 \r
1030                                         }\r
1031 \r
1032                  //save\r
1033                  \r
1034               \r
1035                    $.ajax({\r
1036                         "type": 'POST',\r
1037                         "url":  vm.$apiRouteUrl,\r
1038                         "data" : data,\r
1039                         "dataType": "json",\r
1040                         "contentType":"application/json",\r
1041                         success: function (resp) {  \r
1042                                 \r
1043                                                 vm.apiRouteArray.push(JSON.parse(data)); \r
1044                                                 vm.apiRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); \r
1045 \r
1046                                                 routeUtil.refreshRoute();       \r
1047                                                 $('#routeDlg').modal('hide');                                                   \r
1048                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_api'),$.i18n.prop('org_openo_msb_route_service_save'),"success");                  \r
1049                         },\r
1050                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1051                                                 \r
1052                                                    vm.server_rtn.warning_block=true;\r
1053                                                vm.server_rtn.info_block=false; \r
1054                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown;                \r
1055                               \r
1056                          }\r
1057                     });\r
1058                }\r
1059                else{  //update\r
1060                         \r
1061 \r
1062                 //Determine whether to repeat\r
1063                   if(vm.apiRouteInfo.serviceName!=vm.apiRouteInfo.oldServiceName || \r
1064                   vm.apiRouteInfo.version!=vm.apiRouteInfo.oldVersion)  //Has been modified service name\r
1065                   {\r
1066                                         for(var i=0;i<vm.apiRouteArray.length;i++){\r
1067                                         \r
1068                                                         if(vm.apiRouteArray[i].serviceName==vm.apiRouteInfo.serviceName \r
1069                                                                 && vm.apiRouteArray[i].version==vm.apiRouteInfo.version )\r
1070                                                         {\r
1071                                                                 vm.server_rtn.warning_block=true;\r
1072                                                             vm.server_rtn.info_block=false; \r
1073                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_api_repeat',[vm.apiRouteInfo.serviceName],[vm.apiRouteInfo.version]);\r
1074                                                                 return;\r
1075                                                         }\r
1076                                                 \r
1077                                         }\r
1078                                 }\r
1079 \r
1080                                  var url= vm.$apiRouteInstanceUrl;\r
1081                          var version=vm.apiRouteInfo.oldVersion==""?"null":vm.apiRouteInfo.oldVersion;\r
1082                         url=url.replace("{serviceName}",vm.apiRouteInfo.oldServiceName).replace("{version}",version);\r
1083 \r
1084 \r
1085                          $.ajax({\r
1086                         "type": 'PUT',\r
1087                         "url": url,\r
1088                          "data" :data,\r
1089                         "dataType": "json",\r
1090                         "contentType":"application/json",\r
1091                         success: function (resp) {  \r
1092                           \r
1093                                                         for(var i=0;i<vm.apiRouteArray.length;i++){\r
1094                                             if(vm.apiRouteArray[i].serviceName == vm.apiRouteInfo.oldServiceName && \r
1095                                                 vm.apiRouteArray[i].version == vm.apiRouteInfo.oldVersion)\r
1096                                             {\r
1097                                                 //vm.apiRouteArray[i] = JSON.parse(data);\r
1098                                                                 vm.apiRouteArray[i].serviceName=vm.apiRouteInfo.serviceName;\r
1099                                                                         vm.apiRouteArray[i].version= vm.apiRouteInfo.version;\r
1100                                                                         vm.apiRouteArray[i].url=apiRouteUrl;\r
1101                                                                         vm.apiRouteArray[i].metricsUrl=vm.apiRouteInfo.metricsUrl;\r
1102                                                                         vm.apiRouteArray[i].apiJson=apiJson;\r
1103                                                                         vm.apiRouteArray[i].apiJsonType=vm.apiRouteInfo.apiJsonType;\r
1104 \r
1105                                                                         vm.apiRouteArray[i].servers=vm.apiRouteInfo.servers;\r
1106 \r
1107                                                                         \r
1108                                                 break;\r
1109                                             }\r
1110                                          }\r
1111                               \r
1112 \r
1113 \r
1114                                                 $('#routeDlg').modal('hide');                                                   \r
1115                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_api'),$.i18n.prop('org_openo_msb_route_service_update'),"success"); \r
1116                                                 \r
1117 \r
1118                         },\r
1119                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1120                                                 \r
1121                                                    vm.server_rtn.warning_block=true;\r
1122                                                vm.server_rtn.info_block=false; \r
1123                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown;                \r
1124                               \r
1125                          }\r
1126                     });\r
1127 \r
1128               \r
1129                            }\r
1130                         },\r
1131                         $savemsbRoute : function() {\r
1132 \r
1133                                 msbsuccess.hide();\r
1134                                 msberror.hide();\r
1135                                 if (msbform.valid() == false) {\r
1136                                         return false;\r
1137                                 }\r
1138 \r
1139                                 if(vm.msbRouteInfo.nodes.length==0){\r
1140                                         vm.server_rtn.warning_block=true;\r
1141                                         vm.server_rtn.info_block=false; \r
1142                                         vm.server_rtn.rtn_info=$.i18n.prop('org_openo_msb_route_err_host_leastone');\r
1143                                         return;\r
1144                                 }\r
1145 \r
1146                                 if(vm.msbRouteInfo.visualRangeArray.length==0){\r
1147                                         vm.server_rtn.warning_block=true;\r
1148                                         vm.server_rtn.info_block=false; \r
1149                                         vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_visualrange_empty');\r
1150                                         return;\r
1151                                 }\r
1152 \r
1153                                 vm.server_rtn.warning_block=false;\r
1154                                 vm.server_rtn.info_block=true;\r
1155 \r
1156                                 var msbUrl=vm.msbRouteInfo.url=="/"?"":vm.msbRouteInfo.url;\r
1157                 \r
1158 \r
1159                                 var nodes=[];\r
1160                                 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){\r
1161                                         var node={ip:vm.msbRouteInfo.nodes[i].ip,port:vm.msbRouteInfo.nodes[i].port,ttl: vm.msbRouteInfo.nodes[i].ttl};\r
1162                                         nodes.push(node);\r
1163                                 }\r
1164 \r
1165                                 var data= JSON.stringify({\r
1166                                                          "serviceName": vm.msbRouteInfo.serviceName,\r
1167                                                           "version": vm.msbRouteInfo.version,\r
1168                                                           "url": msbUrl,                                                         \r
1169                                                           "nodes": nodes,\r
1170                                                           "protocol":vm.msbRouteInfo.protocol,\r
1171                                                           "visualRange":vm.msbRouteInfo.visualRangeArray.join("|")\r
1172                                                 });\r
1173 \r
1174                                 if(vm.routeDlgInfo.saveType=="add")\r
1175                                 {\r
1176 \r
1177                                         //Determine whether to repeat\r
1178                                         for(var i=0;i<vm.msbRouteArray.length;i++){\r
1179                                         \r
1180                                                         if(vm.msbRouteArray[i].serviceName==vm.msbRouteInfo.serviceName \r
1181                                                                 && vm.msbRouteArray[i].version==vm.msbRouteInfo.version )\r
1182                                                         {\r
1183                                                                 vm.server_rtn.warning_block=true;\r
1184                                                             vm.server_rtn.info_block=false; \r
1185                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_api_repeat',[vm.msbRouteInfo.serviceName],[vm.msbRouteInfo.version]);\r
1186                                                         }\r
1187                                                 \r
1188                                         }\r
1189 \r
1190                  //save\r
1191                  \r
1192               \r
1193                    $.ajax({\r
1194                         "type": 'POST',\r
1195                         "url":  vm.$msbRouteUrl,\r
1196                         "data" : data,\r
1197                         "dataType": "json",\r
1198                         "contentType":"application/json",\r
1199                         success: function (resp) {  \r
1200                            \r
1201                                                  // vm.msbRouteArray.push(JSON.parse(data)); \r
1202                                                   table.destroy();\r
1203                                                   vm.initMSBRoute();\r
1204 \r
1205                                           //       table=$('#msbTable').DataTable({\r
1206                                                      \r
1207                                                         //   "oLanguage": vm.$dataTableLanguage,\r
1208                                                         //   columnDefs: [ {\r
1209                                                         //            targets: [ 7 ],\r
1210                                                         //            "searchable": false,\r
1211                                                         //            "bSortable": false,\r
1212                                                         //          }]\r
1213                                                         // });\r
1214         \r
1215                                                 $('#msbrouteDlg').modal('hide');                                                        \r
1216                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_msb'),$.i18n.prop('org_openo_msb_route_service_save'),"success");                  \r
1217                         },\r
1218                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1219                                                 \r
1220                                                    vm.server_rtn.warning_block=true;\r
1221                                                vm.server_rtn.info_block=false; \r
1222                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+XMLHttpRequest.responseText;                \r
1223                               \r
1224                          }\r
1225                     });\r
1226                }\r
1227                else{  //update\r
1228                         \r
1229 \r
1230                 //Determine whether to repeat\r
1231                   if(vm.msbRouteInfo.serviceName!=vm.msbRouteInfo.oldServiceName || \r
1232                   vm.msbRouteInfo.version!=vm.msbRouteInfo.oldVersion)  //Has been modified service name or version\r
1233                   {\r
1234                                         for(var i=0;i<vm.msbRouteArray.length;i++){\r
1235                                         \r
1236                                                         if(vm.msbRouteArray[i].serviceName==vm.msbRouteInfo.serviceName \r
1237                                                                 && vm.msbRouteArray[i].version==vm.msbRouteInfo.version )\r
1238                                                         {\r
1239                                                                 vm.server_rtn.warning_block=true;\r
1240                                                             vm.server_rtn.info_block=false; \r
1241                                                             vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_api_repeat',[vm.msbRouteInfo.serviceName],[vm.msbRouteInfo.version]);\r
1242                                                                 return;\r
1243                                                         }\r
1244                                                 \r
1245                                         }\r
1246                                 }\r
1247 \r
1248                                  var url= vm.$msbRouteInstanceUrl;\r
1249                          var version=vm.msbRouteInfo.oldVersion==""?"null":vm.msbRouteInfo.oldVersion;\r
1250                          var serviceName2= vm.msbRouteInfo.oldServiceName.replace(/\//g,"*");\r
1251                         url=url.replace("{serviceName}",serviceName2).replace("{version}",version);\r
1252 \r
1253 \r
1254                          $.ajax({\r
1255                         "type": 'PUT',\r
1256                         "url": url,\r
1257                          "data" :data,\r
1258                         "dataType": "json",\r
1259                         "contentType":"application/json",\r
1260                         success: function (resp) {  \r
1261                      \r
1262                                                         for(var i=0;i<vm.msbRouteArray.length;i++){\r
1263                                             if(vm.msbRouteArray[i].serviceName == vm.msbRouteInfo.oldServiceName && \r
1264                                                 vm.msbRouteArray[i].version == vm.msbRouteInfo.oldVersion)\r
1265                                             {\r
1266                                                 //vm.apiRouteArray[i] = JSON.parse(data);\r
1267                                                                 vm.msbRouteArray[i].serviceName=vm.msbRouteInfo.serviceName;\r
1268                                                                         vm.msbRouteArray[i].version= vm.msbRouteInfo.version;\r
1269                                                                         vm.msbRouteArray[i].url=msbUrl;\r
1270                                                                         vm.msbRouteArray[i].protocol=vm.msbRouteInfo.protocol;\r
1271                                                                         vm.msbRouteArray[i].visualRange=vm.msbRouteInfo.visualRange;\r
1272                                                                         vm.msbRouteArray[i].visualRangeArray=vm.msbRouteInfo.visualRangeArray;\r
1273                                                                         vm.msbRouteArray[i].nodes=nodes;\r
1274                                                                                                              \r
1275                                                 break;\r
1276                                             }\r
1277                                          }\r
1278                               \r
1279 \r
1280 \r
1281                                                 $('#msbrouteDlg').modal('hide');                                                        \r
1282                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_msb'),$.i18n.prop('org_openo_msb_route_service_update'),"success"); \r
1283                                                 \r
1284 \r
1285                         },\r
1286                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1287                                                 \r
1288                                                    vm.server_rtn.warning_block=true;\r
1289                                                vm.server_rtn.info_block=false; \r
1290                                                vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+XMLHttpRequest.responseText;                \r
1291                               \r
1292                          }\r
1293                     });\r
1294 \r
1295               \r
1296                            }\r
1297                         },\r
1298 \r
1299                         updateApiRouteStatus:function(serviceName,version,status){\r
1300 \r
1301                                 var url= vm.$apiRouteStatusUrl;\r
1302                                     var version2=version==""?"null":version;\r
1303                         url=url.replace("{serviceName}",serviceName).replace("{version}",version2).replace("{status}",status);\r
1304         \r
1305                                          $.ajax({\r
1306                         "type": 'PUT',\r
1307                         "url": url,\r
1308                         "dataType": "json",\r
1309                         success: function (resp) {  \r
1310                                 \r
1311                               \r
1312                                                          for(var i=0;i<vm.apiRouteArray.length;i++){\r
1313                                                if(vm.apiRouteArray[i].serviceName == serviceName && \r
1314                                                 vm.apiRouteArray[i].version == version){\r
1315                                                     vm.apiRouteArray[i].status=status;\r
1316                                                     break;\r
1317                                                 }\r
1318                                             }   \r
1319 \r
1320                                           if(status=='1')   \r
1321                                           {\r
1322                                             routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_api'),$.i18n.prop('org_openo_msb_route_status_enable'),"success");\r
1323                                           }\r
1324                                           else{\r
1325                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_api'),$.i18n.prop('org_openo_msb_route_status_disable'),"success");\r
1326                                           }\r
1327                                         \r
1328 \r
1329                 \r
1330                         },\r
1331                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1332                                                 \r
1333                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_err_status')+textStatus+":"+errorThrown);                \r
1334                               \r
1335                          }\r
1336                     });\r
1337 \r
1338                         },\r
1339                         updateiuiRouteStatus:function(serviceName,status){\r
1340 \r
1341                                 var url= vm.$iuiRouteStatusUrl;\r
1342                                 \r
1343                      url=url.replace("{serviceName}",serviceName).replace("{status}",status);\r
1344         \r
1345                                          $.ajax({\r
1346                         "type": 'PUT',\r
1347                         "url": url,\r
1348                         "dataType": "json",\r
1349                         success: function (resp) {  \r
1350                                 \r
1351                                \r
1352                                                          for(var i=0;i<vm.iuiRouteArray.length;i++){\r
1353                                                if(vm.iuiRouteArray[i].serviceName == serviceName){\r
1354                                                     vm.iuiRouteArray[i].status=status;\r
1355                                                     break;\r
1356                                                 }\r
1357                                             }   \r
1358 \r
1359                                           if(status=='1')   \r
1360                                           {\r
1361                                             routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_iui'),$.i18n.prop('org_openo_msb_route_status_enable'),"success");\r
1362                                           }\r
1363                                           else{\r
1364                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_iui'),$.i18n.prop('org_openo_msb_route_status_disable'),"success");\r
1365                                           }\r
1366                                         \r
1367                 \r
1368                         },\r
1369                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1370                                                 \r
1371                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_err_status')+textStatus+":"+errorThrown);                \r
1372                               \r
1373                          }\r
1374                     });\r
1375 \r
1376                         },\r
1377                         updatecustomRouteStatus:function(serviceName,status){\r
1378 \r
1379                                 \r
1380               var url= vm.$customRouteStatusUrl+"?serviceName="+serviceName+"&status="+status;\r
1381 \r
1382         \r
1383                                          $.ajax({\r
1384                         "type": 'PUT',\r
1385                         "url": url,\r
1386                         "dataType": "json",\r
1387                         success: function (resp) {  \r
1388                                 \r
1389                           \r
1390                                                          for(var i=0;i<vm.customRouteArray.length;i++){\r
1391                                                if(vm.customRouteArray[i].serviceName == serviceName){\r
1392                                                     vm.customRouteArray[i].status=status;\r
1393                                                     break;\r
1394                                                 }\r
1395                                             }   \r
1396 \r
1397 \r
1398                                     routeUtil.groupRoute(vm.customRouteArray);\r
1399 \r
1400                                           if(status=='1')   \r
1401                                           {\r
1402                                             routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_custom'),$.i18n.prop('org_openo_msb_route_status_enable'),"success");\r
1403                                           }\r
1404                                           else{\r
1405                                                 routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_custom'),$.i18n.prop('org_openo_msb_route_status_disable'),"success");\r
1406                                           }\r
1407                                         \r
1408 \r
1409                 \r
1410                         },\r
1411                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1412                                                 \r
1413                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_err_status')+textStatus+":"+errorThrown);                \r
1414                               \r
1415                          }\r
1416                     });\r
1417 \r
1418                         },\r
1419                         updateApiRoute:function(apiRouteInfo,type){\r
1420                         \r
1421 \r
1422                         \r
1423 \r
1424                                 $('#metricsFullurl').collapse('hide');\r
1425                                 $('#apiJsonFullurl').collapse('hide');\r
1426                                 $('#apiTab a:first').tab('show');\r
1427                                 \r
1428                                 vm.apiRouteInfo.serviceName=apiRouteInfo.serviceName;\r
1429                                 vm.apiRouteInfo.oldServiceName=apiRouteInfo.serviceName;\r
1430                                 vm.apiRouteInfo.version= apiRouteInfo.version;\r
1431                                 vm.apiRouteInfo.oldVersion=apiRouteInfo.version;\r
1432                                 vm.apiRouteInfo.url=apiRouteInfo.url==""?"/":apiRouteInfo.url;\r
1433                                 vm.apiRouteInfo.metricsUrl=apiRouteInfo.metricsUrl;\r
1434                                 vm.apiRouteInfo.apiJson=apiRouteInfo.apiJson;\r
1435                                 vm.apiRouteInfo.apiJsonType=apiRouteInfo.apiJsonType;\r
1436                                 vm.apiRouteInfo.control=apiRouteInfo.control;\r
1437                                 vm.apiRouteInfo.status= apiRouteInfo.status;\r
1438 \r
1439                                 if(vm.apiRouteInfo.apiJsonType=="1"){\r
1440                                         vm.apiJson.custom=apiRouteInfo.apiJson;\r
1441                                 }\r
1442                                 else{\r
1443                                         vm.apiJson.local=apiRouteInfo.apiJson;\r
1444                                         vm.apiJson.custom="/swagger.json";\r
1445                                          $("#apiJsonSelect").val(apiRouteInfo.apiJson);\r
1446                                 }\r
1447 \r
1448                                 vm.apiRouteInfo.server="";\r
1449                                 vm.apiRouteInfo.servers=[];\r
1450                                 vm.apiRouteInfo.servers=apiRouteInfo.servers;\r
1451 \r
1452                                 \r
1453 \r
1454 \r
1455                                 // vm.apiRouteInfo= jQuery.extend({},apiRouteInfo);\r
1456                 \r
1457                                 vm.routeDlgInfo.saveType = type;\r
1458                                 if(type=='update'){\r
1459                                         vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_edit_api');    \r
1460                                 }\r
1461                                 else if(type=='view'){\r
1462                                         vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_view_api');    \r
1463                                 }\r
1464                                 \r
1465                                 vm.server_rtn.warning_block=false;\r
1466                                 vm.server_rtn.info_block=false;\r
1467 \r
1468 \r
1469                                 $(".form-group").each(function () {\r
1470                                                 $(this).removeClass('has-success');\r
1471                                                 $(this).removeClass('has-error');\r
1472                                                 $(this).find(".help-block[id]").remove();\r
1473                                                 $(this).find(".item-tip").addClass("item-tip-focus");\r
1474                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
1475                                         });\r
1476 \r
1477                                 $("#routeDlg").modal("show");\r
1478                         },\r
1479                         updateiuiRoute:function(iuiRouteInfo,type){\r
1480                                 \r
1481                                 \r
1482                                 vm.iuiRouteInfo.serviceName=iuiRouteInfo.serviceName;\r
1483                                 vm.iuiRouteInfo.oldServiceName=iuiRouteInfo.serviceName;\r
1484                                 vm.iuiRouteInfo.url=iuiRouteInfo.url==""?"/":iuiRouteInfo.url;\r
1485                                 vm.iuiRouteInfo.server="";\r
1486                                 vm.iuiRouteInfo.servers=[];\r
1487                                 vm.iuiRouteInfo.servers=iuiRouteInfo.servers;\r
1488                                 vm.iuiRouteInfo.control=iuiRouteInfo.control;\r
1489                                 vm.iuiRouteInfo.status=iuiRouteInfo.status;\r
1490 \r
1491 \r
1492                                 // vm.apiRouteInfo= jQuery.extend({},apiRouteInfo);\r
1493                 \r
1494                                 \r
1495                                 vm.routeDlgInfo.saveType = type;\r
1496                                 if(type=='update'){\r
1497                                         vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_edit_iui');    \r
1498                                 }\r
1499                                 else if(type=='view'){\r
1500                                         vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_view_iui');    \r
1501                                 }\r
1502 \r
1503                                 vm.server_rtn.warning_block=false;\r
1504                                 vm.server_rtn.info_block=false;\r
1505 \r
1506 \r
1507                                 $(".form-group").each(function () {\r
1508                                                 $(this).removeClass('has-success');\r
1509                                                 $(this).removeClass('has-error');\r
1510                                                 $(this).find(".help-block[id]").remove();\r
1511                                                 $(this).find(".item-tip").addClass("item-tip-focus");\r
1512                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
1513                                         });\r
1514 \r
1515                                 $("#iuirouteDlg").modal("show");\r
1516                         },\r
1517                         updatecustomRoute:function(customRouteInfo,type){\r
1518                                 \r
1519                                 \r
1520                                 vm.customRouteInfo.serviceName=customRouteInfo.serviceName;\r
1521                                 vm.customRouteInfo.oldServiceName=customRouteInfo.serviceName;\r
1522                                 \r
1523                                 vm.customRouteInfo.url=customRouteInfo.url==""?"/":customRouteInfo.url;\r
1524                                 vm.customRouteInfo.server="";\r
1525                                 vm.customRouteInfo.servers=[];\r
1526                                 vm.customRouteInfo.servers=customRouteInfo.servers;\r
1527                                 vm.customRouteInfo.control=customRouteInfo.control;\r
1528                                 vm.customRouteInfo.status=customRouteInfo.status;\r
1529 \r
1530                                 // vm.apiRouteInfo= jQuery.extend({},apiRouteInfo);\r
1531                 \r
1532                                 vm.routeDlgInfo.saveType = type;\r
1533                                 if(type=='update'){\r
1534                                         vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_edit_custom');\r
1535                                 }\r
1536                                 else if(type=='view'){\r
1537                                         vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_view_custom');\r
1538                                 }\r
1539                                 vm.server_rtn.warning_block=false;\r
1540                                 vm.server_rtn.info_block=false;\r
1541 \r
1542 \r
1543                                 $(".form-group").each(function () {\r
1544                                                 $(this).removeClass('has-success');\r
1545                                                 $(this).removeClass('has-error');\r
1546                                                 $(this).find(".help-block[id]").remove();\r
1547                                                 $(this).find(".item-tip").addClass("item-tip-focus");\r
1548                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
1549                                         });\r
1550 \r
1551                                 $("#customrouteDlg").modal("show");\r
1552                         },\r
1553                         updatemsbRoute:function(msbRouteInfo){\r
1554                         \r
1555                                         vm.msbRouteInfo.serviceName=msbRouteInfo.serviceName;\r
1556                                         vm.msbRouteInfo.oldServiceName=msbRouteInfo.serviceName;\r
1557                                         vm.msbRouteInfo.version= msbRouteInfo.version;\r
1558                                         vm.msbRouteInfo.oldVersion= msbRouteInfo.version\r
1559                                         vm.msbRouteInfo.url=msbRouteInfo.url==""?"/":msbRouteInfo.url;\r
1560                                         vm.msbRouteInfo.protocol=msbRouteInfo.protocol;\r
1561                                         vm.msbRouteInfo.visualRange=msbRouteInfo.visualRange;\r
1562                                         vm.msbRouteInfo.visualRangeArray=msbRouteInfo.visualRange.split("|");\r
1563                                         vm.msbRouteInfo.nodes=msbRouteInfo.nodes;\r
1564                                         vm.msbRouteInfo.newHost="";\r
1565                                         vm.msbRouteInfo.newttl="";\r
1566                         \r
1567                                 routeUtil.changeTargetServiceUrl();\r
1568                 \r
1569                                 vm.routeDlgInfo.saveType = "update";\r
1570                                 vm.routeDlgInfo.titleName=$.i18n.prop('org_openo_msb_route_title_edit_msb');\r
1571                                 vm.server_rtn.warning_block=false;\r
1572                                 vm.server_rtn.info_block=false;\r
1573 \r
1574 \r
1575                                 $(".form-group").each(function () {\r
1576                                                 $(this).removeClass('has-success');\r
1577                                                 $(this).removeClass('has-error');\r
1578                                                 $(this).find(".help-block[id]").remove();\r
1579                                                 $(this).find(".item-tip").addClass("item-tip-focus");\r
1580                                                 $(this).find(".form-tip").removeClass('form-input-focus');\r
1581                                         });\r
1582 \r
1583                                 $("#msbrouteDlg").modal("show");\r
1584                         },\r
1585                         delApiRoute:function(serviceName,version){\r
1586                                 bootbox.confirm($.i18n.prop('org_openo_msb_route_err_service_del_ask',[serviceName],[version]),function(result){\r
1587                                 if(result){\r
1588                                         var url= vm.$apiRouteInstanceUrl;\r
1589                                     var version2=version==""?"null":version;\r
1590                         url=url.replace("{serviceName}",serviceName).replace("{version}",version2);\r
1591         \r
1592                                          $.ajax({\r
1593                         "type": 'DELETE',\r
1594                         "url": url,\r
1595                         "dataType": "json",\r
1596                         success: function (resp) {  \r
1597                                 \r
1598                                                          for(var i=0;i<vm.apiRouteArray.length;i++){\r
1599                                                if(vm.apiRouteArray[i].serviceName == serviceName && \r
1600                                                 vm.apiRouteArray[i].version == version){\r
1601                                                     vm.apiRouteArray.splice(i, 1);\r
1602                                                     break;\r
1603                                                 }\r
1604                                             }   \r
1605 \r
1606                                          routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_api'),$.i18n.prop('org_openo_msb_route_service_del_success'),"success");\r
1607                                         \r
1608                         },\r
1609                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1610                                                 \r
1611                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_service_del_fail')+textStatus+":"+errorThrown);                \r
1612                               \r
1613                          }\r
1614                     });\r
1615 \r
1616 \r
1617                                }\r
1618         \r
1619                                 });\r
1620                                 \r
1621                         },\r
1622                         deliuiRoute:function(serviceName){\r
1623                                 bootbox.confirm($.i18n.prop('org_openo_msb_route_err_service2_del_ask',[serviceName]),function(result){\r
1624                                 if(result){\r
1625                                         var url= vm.$iuiRouteInstanceUrl;\r
1626                                  \r
1627                         url=url.replace("{serviceName}",serviceName);\r
1628         \r
1629                                          $.ajax({\r
1630                         "type": 'DELETE',\r
1631                         "url": url,\r
1632                         "dataType": "json",\r
1633                         success: function (resp) {  \r
1634                                 \r
1635                                                          for(var i=0;i<vm.iuiRouteArray.length;i++){\r
1636                                                if(vm.iuiRouteArray[i].serviceName == serviceName){\r
1637                                                     vm.iuiRouteArray.splice(i, 1);\r
1638                                                     break;\r
1639                                                 }\r
1640                                             }   \r
1641 \r
1642                                          routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_iui'),$.i18n.prop('org_openo_msb_route_service_del_success'),"success");\r
1643                                         \r
1644                 \r
1645                         },\r
1646                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1647                                                 \r
1648                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_service_del_fail')+textStatus+":"+errorThrown);                \r
1649                               \r
1650                          }\r
1651                     });\r
1652 \r
1653 \r
1654                                }\r
1655         \r
1656                                 });\r
1657                                 \r
1658                         },\r
1659                         delcustomRoute:function(serviceName){\r
1660                                 bootbox.confirm($.i18n.prop('org_openo_msb_route_err_service2_del_ask',[serviceName]),function(result){\r
1661                                 if(result){\r
1662                                         var url= vm.$customRouteInstanceUrl+"?serviceName="+serviceName;\r
1663         \r
1664                                          $.ajax({\r
1665                         "type": 'DELETE',\r
1666                         "url": url,\r
1667                         "dataType": "json",\r
1668                         success: function (resp) {  \r
1669                                 \r
1670                                                          for(var i=0;i<vm.customRouteArray.length;i++){\r
1671                                                if(vm.customRouteArray[i].serviceName == serviceName){\r
1672                                                     vm.customRouteArray.splice(i, 1);\r
1673                                                     break;\r
1674                                                 }\r
1675                                                                 }\r
1676 \r
1677                                              routeUtil.groupRoute(vm.customRouteArray);\r
1678                                                 \r
1679 \r
1680                                          routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_custom'),$.i18n.prop('org_openo_msb_route_service_del_success'),"success");\r
1681                                         \r
1682                         },\r
1683                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1684                                                 \r
1685                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_service_del_fail')+textStatus+":"+errorThrown);                \r
1686                               \r
1687                          }\r
1688                     });\r
1689 \r
1690 \r
1691                                }\r
1692         \r
1693                                 });\r
1694                                 \r
1695                         },\r
1696                         delmsbRoute:function(serviceName,version,obj){\r
1697                                 bootbox.confirm($.i18n.prop('org_openo_msb_route_err_service_del_ask',[serviceName],[version]),function(result){\r
1698                                 if(result){\r
1699                                         var url= vm.$msbRouteInstanceUrl;\r
1700                                     var version2=version==""?"null":version;\r
1701                                     var serviceName2= serviceName.replace(/\//g,"*");\r
1702                         url=url.replace("{serviceName}",serviceName2).replace("{version}",version2);\r
1703         \r
1704                                          $.ajax({\r
1705                         "type": 'DELETE',\r
1706                         "url": url,\r
1707                         "dataType": "json",\r
1708                         success: function (resp) {  \r
1709                                 $(obj).parent().parent().addClass('selected');\r
1710                                 \r
1711                                 for(var i=0;i<vm.msbRouteArray.length;i++){\r
1712                                                if(vm.msbRouteArray[i].serviceName == serviceName &&\r
1713                                                         vm.msbRouteArray[i].version==version ){\r
1714                                                     vm.msbRouteArray.splice(i, 1);\r
1715                                                     break;\r
1716                                                 }\r
1717                                                                 }\r
1718 \r
1719                                                          table.row('.selected').remove().draw( false );\r
1720 \r
1721                                          routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_msb'),$.i18n.prop('org_openo_msb_route_service_del_success'),"success");\r
1722                                         \r
1723                 \r
1724                         },\r
1725                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
1726                                                 \r
1727                                                 bootbox.alert($.i18n.prop('org_openo_msb_route_service_del_fail')+XMLHttpRequest.responseText);                \r
1728                               \r
1729                          }\r
1730                          \r
1731                              \r
1732                     });\r
1733 \r
1734 \r
1735                                }\r
1736         \r
1737                                 });\r
1738                                 \r
1739                         },\r
1740                         exportServices:function(){\r
1741                                 var url=apiBasePath+"/apiRoute/export";\r
1742                                 window.open(url); \r
1743 \r
1744                         },\r
1745                         gotoTarget:function(route,type){\r
1746                                 vm.selectedRoute=route;\r
1747                                 vm.selectedRouteType=type;\r
1748 \r
1749                                 if(type=="api")\r
1750                                 {\r
1751                                   vm.gotoRestDoc(); \r
1752                                 }\r
1753                                 else if(type=="iui"){\r
1754                                   vm.gotoIUI(); \r
1755                                 }\r
1756                                 \r
1757                         },\r
1758                         gotoRestDoc:function(){\r
1759                                 vm.routeTargetTitle=vm.selectedRoute.serviceName+"-"+$.i18n.prop("org_openo_msb_route_content_title");  \r
1760 \r
1761                                 var version=vm.selectedRoute.version==""?"":"/"+vm.selectedRoute.version;       \r
1762 \r
1763                                     if(vm.selectedRoute.apiJsonType=="1")\r
1764                                     {                   \r
1765                                      \r
1766                                      var sourceUrl= "/apijson/"+vm.selectedRoute.serviceName+version;\r
1767                                         }\r
1768                                         else{\r
1769                                          var sourceUrl= iuiBasePath+"/ext/initSwaggerJson/"+vm.selectedRoute.apiJson;   \r
1770                                         }\r
1771                                         //Local json data read from the real API service service address parameter\r
1772                                         var url=iuiBasePath+"/api-doc/index.html?url="+sourceUrl+"&api=/api/"+vm.selectedRoute.serviceName+version;\r
1773 \r
1774                                  $('#msbSubPage').attr("src",url);  \r
1775                                  vm.apiIframeUrl=url; \r
1776                         },\r
1777                         gotoJVM:function(){\r
1778                                 vm.routeTargetTitle=vm.selectedRoute.serviceName+"-"+$.i18n.prop('org_openo_msb_route_metric_content_title');   \r
1779                         \r
1780                                 var version=vm.selectedRoute.version==""?"":"/"+vm.selectedRoute.version;       \r
1781 \r
1782                                 var sourceUrl= "/admin/"+vm.selectedRoute.serviceName+version;\r
1783                          \r
1784                                 \r
1785                                 var url=iuiBasePath+"/metrics/index.html?url="+sourceUrl;\r
1786 \r
1787                                  $('#msbSubPage').attr("src",url);   \r
1788                         },\r
1789                         gotoIUI:function(){\r
1790                                 vm.routeTargetTitle=vm.selectedRoute.serviceName+"-"+$.i18n.prop('org_openo_msb_route_iui_content_title');                              \r
1791                                 var url= "/iui/"+vm.selectedRoute.serviceName+"/";\r
1792                                  $('#msbSubPage').attr("src",url);   \r
1793                                   vm.iuiIframeUrl=url; \r
1794                         },\r
1795                         initIUIfori18n:function(){\r
1796                                 vm.routeTargetTitle=$.i18n.prop("org_openo_msb_route_content_title");   \r
1797                                 vm.showAPITypeName=[$.i18n.prop("org_openo_msb_route_swagger_type_predefined"),$.i18n.prop("org_openo_msb_route_swagger_type_custominput")];\r
1798                                 vm.dataTableLanguage={\r
1799                 "sProcessing": "<img src='../img/loading-spinner-grey.gif'/><span>&nbsp;&nbsp;Loadding...</span>",   \r
1800                 "sLengthMenu": $.i18n.prop("org_openo_msb_route-table-sLengthMenu"),\r
1801                 "sZeroRecords": $.i18n.prop("org_openo_msb_route-table-sZeroRecords"),\r
1802                 "sInfo": "<span class='seperator'>  </span>" + $.i18n.prop("org_openo_msb_route-table-sInfo"),\r
1803                 "sInfoEmpty": $.i18n.prop("org_openo_msb_route-table-sInfoEmpty"),\r
1804                 "sGroupActions": $.i18n.prop("org_openo_msb_route-table-sGroupActions"),\r
1805                 "sAjaxRequestGeneralError": $.i18n.prop("org_openo_msb_route-table-sAjaxRequestGeneralError"),\r
1806                 "sEmptyTable": $.i18n.prop("org_openo_msb_route-table-sEmptyTable"),\r
1807                 "oPaginate": {\r
1808                     "sPrevious": $.i18n.prop("org_openo_msb_route-table-sPrevious"),\r
1809                     "sNext": $.i18n.prop("org_openo_msb_route-table-sNext"),\r
1810                     "sPage": $.i18n.prop("org_openo_msb_route-table-sPage"),\r
1811                     "sPageOf": $.i18n.prop("org_openo_msb_route-table-sPageOf")\r
1812                 },\r
1813                 "sSearch": $.i18n.prop("org_openo_msb_route-table-search"),\r
1814                 "sInfoFiltered": $.i18n.prop("org_openo_msb_route-table-infofilter") \r
1815             };  \r
1816 \r
1817                         }\r
1818                         \r
1819                 \r
1820 \r
1821         });\r
1822 \r
1823 \r