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 = MappingResults;
\r
31 MappingResults = Datas;
\r
32 //return virtualDatas;
\r
35 getMappingResults();
\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(1)').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
118 PathId: [], //virtual-link-id--->physical-path-id
\r
120 //virtualData---->virtul-link,src-node,dest-node
\r
121 //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
122 //id tableId,Data MainData(virtualData)
\r
123 createVirtualLinkTable: function(id, Data, vn_pnData, physicalData) {
\r
126 var virtuallinks = []; //virtual-link-id----->[src-node-id,dest-node-id]
\r
127 var Mylink = Data['virtual-links']['virtual-link'];
\r
128 for (var i in Mylink) {
\r
129 virtuallinks[Mylink[i]['link-id']] = [Mylink[i]['src-node-id'], Mylink[i]['dest-node-id']];
\r
132 console.log(virtuallinks);
\r
133 PathId = []; //virtual-link-id--->physical-path-id
\r
134 var paths = createMappingTables.getPaths(virtuallinks, vn_pnData, physicalData, PathId); //physical-path-id----->[Physical Nodes passed by Path](count=0,1,2,3...)
\r
135 console.log(PathId);
\r
136 console.log(paths);
\r
138 for(var x in virtual_nodes){count++;}
\r
139 if(count==0) return;
\r
140 for (var i in virtuallinks) {
\r
141 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>' + PathId[i] + '</td>'
\r
143 for (var nodesPath in paths[PathId[i]]) {
\r
144 pathsNode += paths[PathId[i]][nodesPath] + '-';
\r
146 pathsNode = pathsNode.substring(0, pathsNode.length - 1);
\r
147 $tr += '<td>' + pathsNode + '</td>';
\r
149 jQuery("#" + id).append($tr);
\r
154 getPaths: function(linkArray, vn_pnData, physicalData, PathId) {
\r
155 // console.log(linkArray);
\r
156 // console.log(vn_pnData);
\r
157 // console.log(physicalData);
\r
158 if (!linkArray || !vn_pnData || !physicalData) return;
\r
160 for (var link in linkArray) {
\r
161 for (var i in vn_pnData['vn-pn-mapping-result']) {
\r
162 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
163 PathId[link] = vn_pnData['vn-pn-mapping-result'][i]['physical-resource-entity-id'];
\r
167 console.log(PathId);
\r
169 var sourcePaths = physicalData['physical-network']['physical-paths']['physical-path'];
\r
170 // console.log(sourcePaths);
\r
171 for (var path in PathId) {
\r
172 for (var sp in sourcePaths) {
\r
173 if (PathId[path] == sourcePaths[sp]['path-id']) {
\r
174 var physical_links = sourcePaths[sp]['physical-link'];
\r
176 if (!physical_links) {
\r
177 Paths[PathId[path]] = [''];
\r
180 if (physical_links.length == 1) {
\r
181 Paths[PathId[path]] = createMappingTables.getNodesByLink(physical_links[0]['link-id'], physicalData);
\r
183 physical_links = physical_links.sort(function(a, b) {
\r
184 return a.order - b.order
\r
186 var passedByPath = [];
\r
187 Paths[PathId[path]] = [];
\r
188 for (var l in physical_links) {
\r
189 passedByPath.push(physical_links[l]['link-id']);
\r
190 var this_paths = createMappingTables.getNodesByLink(physical_links[l]['link-id'], physicalData);
\r
192 Paths[PathId[path]].push(this_paths[0]);
\r
193 Paths[PathId[path]].push(this_paths[1]);
\r
195 Paths[PathId[path]].push(this_paths[1]);
\r
199 //Paths[PathId[path]] = passedByPath;
\r
205 console.log(Paths);
\r
208 getNodesByLink: function(link_id, physicalData) {
\r
209 if (!physicalData) return;
\r
210 var sourceLinks = physicalData['physical-network']['physical-links']['physical-link'];
\r
211 for (var link in sourceLinks) {
\r
212 if (link_id == sourceLinks[link]['link-id']) {
\r
213 var pathnodes = [];
\r
214 pathnodes.push(sourceLinks[link]['src-node-id']);
\r
215 pathnodes.push(sourceLinks[link]['dest-node-id']);
\r
222 // var userid='14ce424a-3e50-4a2a-ad5c-b29845158c8b';
\r
223 //var virtualData = getVirtualInfoById(userId,virtualJson);
\r
224 //var linkArray=CreateVirtualNodeTable('virNodeTab',virtualData);
\r
226 //getPaths(linkArray,getPnMappingResultById(userid,PnMappingJson),userinfo);