1 var MappingResults = '';
\r
3 //intent-vn MappingResults
\r
4 function getMappingResults() {
\r
5 var MappingData = null;
\r
7 url: "/restconf/config/intent-mapping-result:intent-vn-mapping-results/",
\r
11 success: function(data) {
\r
14 MappingResults = data;
\r
15 console.log(MappingData);
\r
17 alert("No intent-vn Mapping Data");
\r
19 error: function(data) {
\r
20 alert("Get intent-vn Mapping Data Error!");
\r
26 function getMappingDatas() {
\r
27 var Datas = getMappingResults();
\r
29 Datas = VnMappingJson;
\r
31 MappingResults = Datas;
\r
32 //return virtualDatas;
\r
35 getMappingResults();
\r
36 // getMappingDatas();
\r
37 function getMappingResultById(user_id, Data) {
\r
38 if (!Data) Data = MappingResults;
\r
40 if (typeof(Data) == 'string') {
\r
41 var user_json = JSON.parse(Data);
\r
43 var user_json = Data;
\r
45 console.log(user_json);
\r
46 var user_info = user_json['intent-vn-mapping-results']['user-intent-vn-mapping'];
\r
47 for (var item in user_info) {
\r
48 if (user_id == user_info[item]['user-id']) {
\r
49 return user_info[item];
\r
54 //vn-pn MappingResults
\r
55 var PnMappingResults = '';
\r
57 function getPnMappingResults() {
\r
58 var MappingData = null;
\r
60 url: "/restconf/config/intent-mapping-result:vn-pn-mapping-results/",
\r
64 success: function(data) {
\r
67 PnMappingResults = data;
\r
68 console.log(PnMappingResults);
\r
70 alert("No vn-pn Mapping Data");
\r
72 error: function(data) {
\r
73 alert("Get vn-pn Mapping Data Error!");
\r
78 getPnMappingResults();
\r
79 function getPnMappingResultById(user_id, Data) {
\r
80 if (!Data) Data = PnMappingResults;
\r
82 if (typeof(Data) == 'string') {
\r
83 var user_json = JSON.parse(Data);
\r
85 var user_json = Data;
\r
87 console.log(user_json);
\r
88 var user_info = user_json['vn-pn-mapping-results']['user-vn-pn-mapping'];
\r
89 for (var item in user_info) {
\r
90 if (user_id == user_info[item]['user-id']) {
\r
91 return user_info[item];
\r
96 var createMappingTables = {
\r
97 //mainData(virtualData)
\r
98 createVirtualNodeTable: function(id, Data) {
\r
101 var virtualnodes = [];
\r
102 var Mynode = Data['virtual-nodes']['virtual-node'];
\r
103 for (var i in Mynode) {
\r
105 virtualnodes[Mynode[i]['node-id']] = Mynode[i]['physical-resource-requirement'][0]['attribute-value']['string-value'];
\r
107 console.log(virtualnodes);
\r
108 // jQuery("#" + id).find('tr:gt(0)').empty();
\r
110 for(var x in virtual_nodes){count++;}
\r
111 if(count==0) return;
\r
112 for (var i in virtualnodes) {
\r
113 var $tr = '<tr><td>' + virtual_nodes[i][1] + '</td><td>' + virtualnodes[i] + '</td></tr>'
\r
114 jQuery("#" + id).append($tr);
\r
116 var node_count = jQuery("#"+id).find('tr').length;
\r
117 console.log("node_count:",node_count);
\r
118 if(!node_count) return
\r
120 jQuery("div.tableBodyContainer:eq(4)").height(node_count*22+5);
\r
123 jQuery("div.tableBodyContainer:eq(4)").height(200);
\r
127 PathId: [], //virtual-link-id--->physical-path-id
\r
129 //virtualData---->virtul-link,src-node,dest-node
\r
130 //virtualData.links<--->vn-pn-Mapping.virtual-resource-entity-id[link]-----vn-pn-Mapping.virtual-physical-entity-id[path]<--->physicalData.physical-path---->Physical Nodes passed by Path
\r
131 //id tableId,Data MainData(virtualData)
\r
132 createVirtualLinkTable: function(id, Data, vn_pnData, physicalData) {
\r
135 var virtuallinks = []; //virtual-link-id----->[src-node-id,dest-node-id]
\r
136 var Mylink = Data['virtual-links']['virtual-link'];
\r
137 for (var i in Mylink) {
\r
138 virtuallinks[Mylink[i]['link-id']] = [Mylink[i]['src-node-id'], Mylink[i]['dest-node-id']];
\r
141 console.log(virtuallinks);
\r
142 PathId = []; //virtual-link-id--->physical-path-id
\r
143 var paths = createMappingTables.getPaths(virtuallinks, vn_pnData, physicalData, PathId); //physical-path-id----->[Physical Nodes passed by Path](count=0,1,2,3...)
\r
144 console.log(PathId);
\r
145 console.log(paths);
\r
147 for(var x in virtual_nodes){count++;}
\r
148 if(count==0) return;
\r
149 for (var i in virtuallinks) {
\r
150 var $tr = '<tr><td>' + virtual_nodes[virtuallinks[i][0]][1] + '-' + virtual_nodes[virtuallinks[i][1]][1] + '</td><td>' + virtual_nodes[virtuallinks[i][0]][1] + '</td><td>' + virtual_nodes[virtuallinks[i][1]][1] + '</td><td title='+PathId[i]+'>' + PathId[i].substring(0,14)+'...' + '</td>'
\r
152 for (var nodesPath in paths[PathId[i]]) {
\r
153 pathsNode += paths[PathId[i]][nodesPath] + '-';
\r
155 pathsNode = pathsNode.substring(0, pathsNode.length - 1);
\r
156 $tr += '<td>' + pathsNode + '</td>';
\r
158 jQuery("#" + id).append($tr);
\r
163 getPaths: function(linkArray, vn_pnData, physicalData, PathId) {
\r
164 // console.log(linkArray);
\r
165 // console.log(vn_pnData);
\r
166 // console.log(physicalData);
\r
167 if (!linkArray || !vn_pnData || !physicalData) return;
\r
169 for (var link in linkArray) {
\r
170 for (var i in vn_pnData['vn-pn-mapping-result']) {
\r
171 if (link == vn_pnData['vn-pn-mapping-result'][i]['virtual-resource-entity-id'] && vn_pnData['vn-pn-mapping-result'][i]['physical-resource-type'] == 'path') {
\r
172 PathId[link] = vn_pnData['vn-pn-mapping-result'][i]['physical-resource-entity-id'];
\r
176 console.log(PathId);
\r
178 var sourcePaths = physicalData['physical-network']['physical-paths'];
\r
179 if(!sourcePaths) return Paths;
\r
181 sourcePaths = physicalData['physical-network']['physical-paths']['physical-path'];
\r
182 // console.log(sourcePaths);
\r
183 for (var path in PathId) {
\r
184 for (var sp in sourcePaths) {
\r
185 if (PathId[path] == sourcePaths[sp]['path-id']) {
\r
186 var physical_links = sourcePaths[sp]['physical-link'];
\r
188 if (!physical_links) {
\r
189 Paths[PathId[path]] = [''];
\r
192 if (physical_links.length == 1) {
\r
193 Paths[PathId[path]] = createMappingTables.getNodesByLink(physical_links[0]['link-id'], physicalData);
\r
195 physical_links = physical_links.sort(function(a, b) {
\r
196 return a.order - b.order
\r
198 var passedByPath = [];
\r
199 Paths[PathId[path]] = [];
\r
200 for (var l in physical_links) {
\r
201 passedByPath.push(physical_links[l]['link-id']);
\r
202 var this_paths = createMappingTables.getNodesByLink(physical_links[l]['link-id'], physicalData);
\r
204 Paths[PathId[path]].push(this_paths[0]);
\r
205 Paths[PathId[path]].push(this_paths[1]);
\r
207 Paths[PathId[path]].push(this_paths[1]);
\r
211 //Paths[PathId[path]] = passedByPath;
\r
217 console.log(Paths);
\r
220 getNodesByLink: function(link_id, physicalData) {
\r
221 if (!physicalData) return;
\r
222 var sourceLinks = physicalData['physical-network']['physical-links']['physical-link'];
\r
223 for (var link in sourceLinks) {
\r
224 if (link_id == sourceLinks[link]['link-id']) {
\r
225 var pathnodes = [];
\r
226 pathnodes.push(sourceLinks[link]['src-node-id']);
\r
227 pathnodes.push(sourceLinks[link]['dest-node-id']);
\r
234 // var userid='14ce424a-3e50-4a2a-ad5c-b29845158c8b';
\r
235 //var virtualData = getVirtualInfoById(userId,virtualJson);
\r
236 //var linkArray=CreateVirtualNodeTable('virNodeTab',virtualData);
\r
238 //getPaths(linkArray,getPnMappingResultById(userid,PnMappingJson),userinfo);