Modify nemo-ui(Add mapping-table) 69/31769/1
authorswsiyu <swsiyu@163.com>
Sat, 19 Dec 2015 09:25:50 +0000 (17:25 +0800)
committerswsiyu <swsiyu@163.com>
Sat, 19 Dec 2015 09:27:23 +0000 (17:27 +0800)
Change-Id: Id745a6fb2f0f4c2bbeeea3db07611f23c5aa86f2
Signed-off-by: swsiyu <swsiyu@163.com>
nemo-ui/src/main/resources/nemo/css/nemo_main.css
nemo-ui/src/main/resources/nemo/css/nemo_user_main.css
nemo-ui/src/main/resources/nemo/js/intentTopo.js
nemo-ui/src/main/resources/nemo/js/phyNetwork.js
nemo-ui/src/main/resources/nemo/js/virNetwork.js
nemo-ui/src/main/resources/nemo/js/vnMapping.js
nemo-ui/src/main/resources/nemo/module/migrate.js
nemo-ui/src/main/resources/nemo/module/test/bod_userJson.js
nemo-ui/src/main/resources/nemo/module/test/servicechain_userJson.js
nemo-ui/src/main/resources/nemo/nemo.tpl.html
nemo-ui/src/main/resources/nemo/nemo.tpl.user.html

index 2fecd14f8d020400981f89552573ee5519b34391..2b49f69c3d1e5a82dd9816187b62471e7d2e8805 100644 (file)
@@ -53,8 +53,9 @@ text-shadow:1px 1px 1px #aaa;
   line-height: 30px;\r
 }\r
 .group{\r
-height: 800px;\r
+height: auto;\r
 background-color: rgba(0,0,0,0);\r
+ margin-bottom: 15px;\r
 }\r
 #intentinfo{\r
   height: 920px;\r
@@ -63,29 +64,64 @@ background-color: rgba(0,0,0,0);
 #PhyNet{\r
   width: 850px;\r
   margin: 20px auto;\r
-  background: #fff;\r
/* background: #fff;\r
   height: 550px;\r
-  border: 1px solid #aaa;\r
+  border: 1px solid #aaa;*/\r
 }\r
 #VirNet{\r
   width: 850px;\r
   margin: 20px auto;\r
-  background: #fff;\r
+/*  background: #fff;\r
   height: 550px;\r
-  border: 1px solid #aaa;\r
+  border: 1px solid #aaa;*/\r
 }\r
 #phy_graph,#vir_graph{\r
 height: 500px;\r
 width: 800px;\r
+background: #fff;\r
+margin: 0 auto;\r
+margin-bottom: 20px;\r
 }\r
 #Mapping{\r
-  height: 800px;\r
+  /*height: 800px;*/\r
 }\r
 #nemo_str_show{\r
   height: 200px !important;\r
-  width:930px !important;\r
+  width:923px !important;\r
   line-height: 10px;\r
 }\r
+#physicalTables{\r
+\r
+}\r
+.group table{\r
+  border-collapse:collapse;\r
+  margin: 10px auto;\r
+  border-spacing:0;\r
+ /* border-left:1px solid #888;\r
+  border-top:1px solid #888;*/\r
+  background:#efefef;\r
+  width: 100%;\r
+  margin-bottom: 20px;\r
+}\r
+.group caption{\r
+  font-size: 18px;\r
+  font-weight: bold;\r
+  color: blue;\r
+  margin-left: 0px;\r
+  text-align: left;\r
+  margin-bottom: 5px;\r
+  /*float:left;*/\r
+}\r
+.group table th{\r
+   border:1px solid black; \r
+   font-weight: bold;\r
+   background-color: #ccc;\r
\r
+}\r
+.group table th,.group table td{\r
+  padding:2px 5px;\r
+  text-align: center;\r
+}\r
 \r
 div#pageContent {\r
   height: 1020px;\r
index b057b365b9f7458715169e1e6c2a007091d1e712..13493f4106835c81f52cf3335715a4b54bfbe3df 100644 (file)
@@ -75,10 +75,11 @@ svg{
 #nemo_str_show span.keyWords{\r
        color:red;\r
 }\r
+\r
 /*jquery ui tab css start*/\r
 /*tab ui li active font color*/\r
 .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {\r
-  color: #eb8f00;\r
+  color: #eb8f00 !important;\r
   text-decoration: none;\r
 }\r
 /*tab ui li*/\r
index 139b9c2fa6d117398f97d97f3da6e6f88aca6a1f..480f70069aaeac6daa9b6f60bf038e55fec7109f 100644 (file)
@@ -9,6 +9,7 @@ function getIntentInfos(){
                        dataType: "json",\r
                        success: function(data) {\r
                                console.log(data);\r
+                               IntentInfos=data;\r
                                userData=data;\r
                        },\r
                        error: function(data) {\r
@@ -29,7 +30,7 @@ function getIntentInfos(){
        //return virtualDatas;\r
  }\r
 \r
-getIntentDatas();\r
+getIntentInfos();\r
 \r
  function getIntentInfoById(user_id,Data){\r
                //console.log(1);\r
index fe7e212ea0cee9683ae44159b955e7ee698b1779..d2961f01e70522714837ea55c7d78ec8122b66d2 100644 (file)
@@ -17,8 +17,8 @@ var physicalData=null;
 jQuery(document).ready(function ($) {
 getPhysicalDatas();
 if(!physicalData) return;
-analy_topo(physicalData);
-create_physical_topo();
+//analy_topo(physicalData);
+//create_physical_topo();
 });
  //physicalJson
  function getPhysicalDatas(){
@@ -53,7 +53,7 @@ create_physical_topo();
  if(!physicalData) physicalData=physicalJson;
  if(!physicalData) return;
  }
-
+getPhysicalData();
 function analy_topo(topo_data)
 {
        phy_hosts = [];
@@ -239,14 +239,62 @@ function create_physical_topo()
                }
                
        };
-       // console.log('before get container');
        console.log(jQuery('#phy_graph').width());
        jQuery('#phy_graph').width(800).height(500);
        console.log(jQuery('#phy_graph').width());
        var container = document.getElementById('phy_graph');
+       if(!container) return;
        var graph = new vis.Graph(container, data, options_phy)
 }
 
+var creataPhysicalTables={
+createPhyicalNodeTable:function (id,Data){
+       if(!Data) Data=physicalData;
+       if(!Data) return;
+       var physicalnodes=[];//physical_node_id---->[physical_node_type,[internal physical port number,external physical port number]]
+       var Mynode=Data['physical-network']['physical-nodes']['physical-node'];
+       for(var i in Mynode){
+               physicalnodes[Mynode[i]['node-id']]=[Mynode[i]['node-type']];
+           var physicalPorts=Mynode[i]['physical-port'];
+           if(!physicalPorts) {physicalnodes[Mynode[i]['node-id']].push(['','']);continue;}
+           var interPort=exterPort=0;
+           for(var port in physicalPorts){
+               if(physicalPorts[port]['port-type']=='internal') interPort++;
+               if(physicalPorts[port]['port-type']=='external') exterPort++;           
+           }
+           physicalnodes[Mynode[i]['node-id']].push([interPort,exterPort]);
+       }
+       console.log(physicalnodes);
+       jQuery("#"+id).find('tr:gt(1)').empty();
+       for(var item in physicalnodes){
+               var $tr='<tr><td>'+item+'</td><td>'+physicalnodes[item][0]+'</td>'
+               $tr+='<td>'+physicalnodes[item][1][0]+'</td><td>'+physicalnodes[item][1][1]+'</td>'
+               $tr+='</tr>'
+               jQuery("#"+id).append($tr);
+       }
+},
+createPhyicalLinkTable:function (id,Data){
+       if(!Data) Data=physicalData;
+       if(!Data) return;
+       var physaicallinks=[];
+       var mylink=Data['physical-network']['physical-links']['physical-link'];
+       for(var i in mylink){
+               if(!mylink[i]['metric'])
+               physaicallinks[mylink[i]['link-id']]=[mylink[i]['src-node-id'],mylink[i]['dest-node-id'],'',mylink[i]['bandwidth'],mylink[i]['delay']];
+           else
+               physaicallinks[mylink[i]['link-id']]=[mylink[i]['src-node-id'],mylink[i]['dest-node-id'],mylink[i]['metric'],mylink[i]['bandwidth'],mylink[i]['delay']];
 
+       }
+       console.log(physaicallinks);
+       jQuery("#"+id).find('tr:gt(1)').empty();
+       for(var item in physaicallinks){
+               var $tr='<tr><td>'+item+'</td><td>'+physaicallinks[item][0]+'</td>'
+                $tr+='<td>'+physaicallinks[item][1]+'</td><td>'+physaicallinks[item][2]+'</td>';
+                $tr+='<td>'+physaicallinks[item][3]+'kbps'+'</td><td>'+physaicallinks[item][4]+'ms'+'</td>';
+                $tr+='</tr>'
+               jQuery("#"+id).append($tr);
+       }
+}
+}
 
 
index 7ddcb0d0a017e651b3e514357732f75b36601223..d437eab460954a4a21f59a751cece2778decc7e3 100644 (file)
@@ -56,7 +56,7 @@ function getVirtualInfoById(user_id,Data){
        }
 }
 
-var virtual_nodes=[];
+var virtual_nodes=[];//virtual_node_id----->[vid_node_id,virtual_node_name]
 function create_virtual_topo(topo_data,intentinfo,mappinginfo)
 {
        nodes_vir.clear();
@@ -66,14 +66,14 @@ function create_virtual_topo(topo_data,intentinfo,mappinginfo)
        var vitrual_network=topo_data;
        if(vitrual_network!=null)
        {       
-               var vitrual_nodes=vitrual_network["virtual-nodes"]["virtual-node"];
-               for(var i in vitrual_nodes)
+               var vitrual_nodes_js=vitrual_network["virtual-nodes"]["virtual-node"];
+               for(var i in vitrual_nodes_js)
                {
-                       virtual_nodes[vitrual_nodes[i]["node-id"]]=(+i+1);              
+                       virtual_nodes[vitrual_nodes_js[i]["node-id"]]=[(+i+1),vitrual_nodes_js[i]["node-type"]+(+i+1)];         
                        nodes_vir.add({
             id: +i+1,
-            label: vitrual_nodes[i]["node-type"],
-            group: vitrual_nodes[i]["node-type"],
+            label: vitrual_nodes_js[i]["node-type"]+(+i+1),
+            group: vitrual_nodes_js[i]["node-type"],
             radius:20
         });
 
@@ -83,8 +83,8 @@ function create_virtual_topo(topo_data,intentinfo,mappinginfo)
        for(var j in vitrual_links){
                   edges_vir.add({
             id: +j+1,
-            from: virtual_nodes[vitrual_links[j]["src-node-id"]],
-            to: virtual_nodes[vitrual_links[j]["dest-node-id"]],
+            from: virtual_nodes[vitrual_links[j]["src-node-id"]][0],
+            to: virtual_nodes[vitrual_links[j]["dest-node-id"]][0],
             length:150,
             width:2,
             color:{color:'ff4e00',highlight:'ff4e00',hover:'ff4e00'}
@@ -162,15 +162,16 @@ console.log(virtual_nodes);
 function drawOthers(virtualData,intentData,mappingData){
        console.log();
        var user_nodes=intentData['objects']['node'];
-       var intentNodes=[];
+       var intentNodes=[];//intent_node_id(physical host or node id)------>[intent_node_type,intent_node_name]
                for (var i in user_nodes) {
                        intentNodes[user_nodes[i]['node-id']]=[user_nodes[i]['node-type'],user_nodes[i]['node-name']];
                };
        var mapping_nodes=mappingData['intent-vn-mapping-result'];
-       var mappingNodes=[];
+       var mappingNodes=[];//intent-id(physical host or node id)------>virtual_node_id
                for (var i in mapping_nodes) {
                        if(mapping_nodes[i]['intent-type']=='node')
                        {
+                               if(mapping_nodes[i]['virtual-resource'][0]['parent-virtual-resource-entity-id'])
                                mappingNodes[mapping_nodes[i]['intent-id']]=mapping_nodes[i]['virtual-resource'][0]['parent-virtual-resource-entity-id'];
                        }
                };
@@ -178,7 +179,7 @@ function drawOthers(virtualData,intentData,mappingData){
        console.log(mappingNodes);
        var nodelen= nodes_vir.get().length;
        for(var item in intentNodes){
-               virtual_nodes[item]=nodelen+1;
+               virtual_nodes[item]=[parseInt(nodelen+1),'external-node'];
                if(intentNodes[item][0]=='host'){
                        nodes_vir.add({
             id: ++nodelen,
@@ -232,17 +233,91 @@ function drawOthers(virtualData,intentData,mappingData){
                                delete virtual_nodes[item];
                        }
        }
+       console.log(virtual_nodes);
        for(var item in mappingNodes){
+               // console.log(virtual_nodes[item]);
+               if(!virtual_nodes[item]) continue;
                var edgeslen=edges_vir.get().length;
                 edges_vir.add({
             id: ++edgeslen,
-            from: virtual_nodes[item],
-            to: virtual_nodes[mappingNodes[item]],
+            from: virtual_nodes[item][0],
+            to: virtual_nodes[mappingNodes[item]][0],
             length:150
         });
        }
 }
 
+var creataVirtualTables={
+createVirtualNodeTable:function (id,Data){
+       // if(!Data) Data=VirtualDatas;
+       if(!Data) return;
+       var virtualnodes=[];
+       // virtualnodes=virtual_nodes;
+       virtualnodes=[];
+       var virtualNodes=Data['virtual-nodes']['virtual-node'];
+       console.log(virtualnodes);
+       for(var item in virtualNodes){
+               //virtualnodes[virtualNodes[item]['node-id']]=[virtual_nodes[virtualNodes[item]['node-id']]]
+               var virTableInfo={};
+               virTableInfo.virtual_node_id=virtualNodes[item]['node-id'];
+               virTableInfo.virtual_node_name=virtual_nodes[virtualNodes[item]['node-id']][1];
+               virTableInfo.internal_port_number='';
+               virTableInfo.external_port_number='';
+               var virtualPort=virtualNodes[item]['virtual-port'];
+               if(!virtualPort){virtualnodes.push(virTableInfo);continue;}
+               var interPort=exterPort=0;
+               for(var i in virtualPort){
+                       if(virtualPort[i]['port-type']=='internal') interPort++;
+                       if(virtualPort[i]['port-type']=='external') exterPort++;
+               }
+               virTableInfo.internal_port_number=interPort;
+               virTableInfo.external_port_number=exterPort;
+               virtualnodes.push(virTableInfo);
+
+       }
+               console.log(virtualnodes);
+       // var Mynode=Data['virtual-network']['virtual-nodes']['virtual-node'];
+       // for(var i in Mynode){
+       //      if(true)
+       //      virtualnodes[Mynode[i]['node-id']]=Mynode[i]['node-type'];
+       // }
+       // console.log(virtualnodes);
+       jQuery("#"+id).find('tr:gt(1)').empty();
+       for(var item in virtualnodes){          
+               // if(virtualnodes[item][1]!='external-node'){}
+
+           var $tr='<tr><td>'+virtualnodes[item].virtual_node_id+'</td><td>'+virtualnodes[item].virtual_node_name+'</td>'
+               $tr+='<td>'+'virtual '+virtualnodes[item].virtual_node_name.substring(1,virtualnodes[item].virtual_node_name.length-1)+'</td>'
+               $tr+='<td>'+virtualnodes[item].internal_port_number+'</td><td>'+virtualnodes[item].external_port_number+'</td>'
+               $tr+='</tr>'
+               jQuery("#"+id).append($tr);
+       }
+},
+
+createVirtualLinkTable:function (id,Data){
+       // if(!Data) Data=VirtualDatas;
+       if(!Data) return;
+       var virtuallinks=[];//virtual_link_id---->[src-node-id,dest-node-id,metric,bandwidth,delay]
+
+       var mylink=Data['virtual-links']['virtual-link'];
+       for(var i in mylink){
+               if(!mylink[i]['metric'])
+               virtuallinks[mylink[i]['link-id']]=[mylink[i]['src-node-id'],mylink[i]['dest-node-id'],'',mylink[i]['bandwidth'],mylink[i]['delay']];
+           else
+               virtuallinks[mylink[i]['link-id']]=[mylink[i]['src-node-id'],mylink[i]['dest-node-id'],mylink[i]['metric'],mylink[i]['bandwidth'],mylink[i]['delay']];
+
+       }
+       console.log(virtuallinks);
+       jQuery("#"+id).find('tr:gt(1)').empty();
+       for(var item in virtuallinks){
+               var $tr='<tr><td>'+item+'</td><td>'+virtual_nodes[virtuallinks[item][0]][1]+'-'+virtual_nodes[virtuallinks[item][1]][1]+'</td>'
+                $tr+='<td>'+virtual_nodes[virtuallinks[item][0]][1]+'<td>'+virtual_nodes[virtuallinks[item][1]][1]+'</td>';
+                $tr+='<td>'+virtuallinks[item][3]+'kbps'+'</td><td>'+virtuallinks[item][4]+'ms'+'</td>';
+                $tr+='</tr>'
+               jQuery("#"+id).append($tr);
+       }
+}
+}
 
 
 
index bf42b1186fb49d2c5a0b71874bfb406b7779ae9b..059e54951b1b65dd298f1bdad7d991340ebfaf3d 100644 (file)
-var MappingResults='';\r
-\r
-function getMappingResults(){\r
-       var MappingData=null;\r
-               jQuery.ajax({\r
-                       url: "/restconf/config/intent-mapping-result:intent-vn-mapping-results/", \r
-                       type:"GET",\r
-                       dataType:"json",\r
-                       async:false,\r
-                       success: function(data){\r
-                               if(data != null)\r
-                               {\r
-                                       MappingData = data;\r
-                                       MappingResults=data;\r
-                                       console.log(MappingData);\r
-                               }\r
-                               else\r
-                                       alert("No Mapping Data");\r
-                       },\r
-                       error:function(data){\r
-                       alert("Get Mapping Data Error!");\r
-                       }\r
-               });\r
+var MappingResults = '';\r
+\r
+//intent-vn MappingResults\r
+function getMappingResults() {\r
+       var MappingData = null;\r
+       jQuery.ajax({\r
+               url: "/restconf/config/intent-mapping-result:intent-vn-mapping-results/",\r
+               type: "GET",\r
+               dataType: "json",\r
+               async: false,\r
+               success: function(data) {\r
+                       if (data != null) {\r
+                               MappingData = data;\r
+                               MappingResults = data;\r
+                               console.log(MappingData);\r
+                       } else\r
+                               alert("No intent-vn Mapping Data");\r
+               },\r
+               error: function(data) {\r
+                       alert("Get intent-vn Mapping Data Error!");\r
+               }\r
+       });\r
        return MappingData;\r
- }\r
+}\r
 \r
- function getMappingDatas(){\r
-       var Datas=getMappingResults();\r
-       if(!Datas){\r
-       Datas=MappingJson;\r
-       }\r
-       MappingResults=Datas;\r
-       //return virtualDatas;\r
- }\r
+function getMappingDatas() {\r
+       var Datas = getMappingResults();\r
+       if (!Datas) {\r
+               Datas = MappingResults;\r
+       }\r
+       MappingResults = Datas;\r
+       //return virtualDatas;\r
+}\r
 \r
 getMappingResults();\r
 \r
- function getMappingResultById(user_id,Data){\r
-    if(!Data) Data=MappingResults;\r
-    if(!Data) return;\r
-       if(typeof(Data)=='string'){\r
-    var user_json = JSON.parse(Data);\r
-    }\r
-    else\r
-    {\r
-    var user_json = Data;\r
-    }\r
-    console.log(user_json);\r
-    var user_info = user_json['intent-vn-mapping-results']['user-intent-vn-mapping'];\r
-       for(var item in user_info){\r
-               if(user_id==user_info[item]['user-id']){\r
-                       return user_info[item];\r
-               }\r
-       }\r
- }\r
+function getMappingResultById(user_id, Data) {\r
+       if (!Data) Data = MappingResults;\r
+       if (!Data) return;\r
+       if (typeof(Data) == 'string') {\r
+               var user_json = JSON.parse(Data);\r
+       } else {\r
+               var user_json = Data;\r
+       }\r
+       console.log(user_json);\r
+       var user_info = user_json['intent-vn-mapping-results']['user-intent-vn-mapping'];\r
+       for (var item in user_info) {\r
+               if (user_id == user_info[item]['user-id']) {\r
+                       return user_info[item];\r
+               }\r
+       }\r
+}\r
+\r
+//vn-pn MappingResults\r
+var PnMappingResults = '';\r
+\r
+function getPnMappingResults() {\r
+       var MappingData = null;\r
+       jQuery.ajax({\r
+               url: "/restconf/config/intent-mapping-result:vn-pn-mapping-results/",\r
+               type: "GET",\r
+               dataType: "json",\r
+               async: false,\r
+               success: function(data) {\r
+                       if (data != null) {\r
+                               MappingData = data;\r
+                               PnMappingResults = data;\r
+                               console.log(PnMappingResults);\r
+                       } else\r
+                               alert("No vn-pn Mapping Data");\r
+               },\r
+               error: function(data) {\r
+                       alert("Get vn-pn Mapping Data Error!");\r
+               }\r
+       });\r
+       return MappingData;\r
+}\r
+getPnMappingResults();\r
+function getPnMappingResultById(user_id, Data) {\r
+       if (!Data) Data = PnMappingResults;\r
+       if (!Data) return;\r
+       if (typeof(Data) == 'string') {\r
+               var user_json = JSON.parse(Data);\r
+       } else {\r
+               var user_json = Data;\r
+       }\r
+       console.log(user_json);\r
+       var user_info = user_json['vn-pn-mapping-results']['user-vn-pn-mapping'];\r
+       for (var item in user_info) {\r
+               if (user_id == user_info[item]['user-id']) {\r
+                       return user_info[item];\r
+               }\r
+       }\r
+}\r
+\r
+var createMappingTables = {\r
+               //mainData(virtualData)\r
+               createVirtualNodeTable: function(id, Data) {\r
+                       if (!Data) return;\r
+                       console.log(Data);\r
+                       var virtualnodes = [];\r
+                       var Mynode = Data['virtual-nodes']['virtual-node'];\r
+                       for (var i in Mynode) {\r
+                               if (true)\r
+                                       virtualnodes[Mynode[i]['node-id']] = Mynode[i]['physical-resource-requirement'][0]['attribute-value']['string-value'];\r
+                       }\r
+                       console.log(virtualnodes);\r
+                       jQuery("#" + id).find('tr:gt(1)').empty();\r
+                       if (!virtual_nodes) return;\r
+                       for (var i in virtualnodes) {\r
+                               var $tr = '<tr><td>' + virtual_nodes[i][1] + '</td><td>' + virtualnodes[i] + '</td></tr>'\r
+                               jQuery("#" + id).append($tr);\r
+                       }\r
+               },\r
+\r
+               PathId: [], //virtual-link-id--->physical-path-id\r
+\r
+               //virtualData---->virtul-link,src-node,dest-node\r
+               //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
+               //id tableId,Data MainData(virtualData)\r
+               createVirtualLinkTable: function(id, Data, vn_pnData, physicalData) {\r
+                       if (!Data) return;\r
+                       console.log(Data);\r
+                       var virtuallinks = []; //virtual-link-id----->[src-node-id,dest-node-id]\r
+                       var Mylink = Data['virtual-links']['virtual-link'];\r
+                       for (var i in Mylink) {\r
+                               virtuallinks[Mylink[i]['link-id']] = [Mylink[i]['src-node-id'], Mylink[i]['dest-node-id']];\r
+                       }\r
+\r
+                       console.log(virtuallinks);\r
+                       PathId = []; //virtual-link-id--->physical-path-id\r
+                       var paths = createMappingTables.getPaths(virtuallinks, vn_pnData, physicalData, PathId); //physical-path-id----->[Physical Nodes passed by Path](count=0,1,2,3...)\r
+                       console.log(PathId);\r
+                       console.log(paths);\r
+                       for (var i in virtuallinks) {\r
+                               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
+                               var pathsNode = ''\r
+                               for (var nodesPath in paths[PathId[i]]) {\r
+                                       pathsNode += paths[PathId[i]][nodesPath] + '-';\r
+                               }\r
+                               pathsNode = pathsNode.substring(0, pathsNode.length - 1);\r
+                               $tr += '<td>' + pathsNode + '</td>';\r
+                               $tr += '</tr>'\r
+                               jQuery("#" + id).append($tr);\r
+                       }\r
+               },\r
+\r
+\r
+               getPaths: function(linkArray, vn_pnData, physicalData, PathId) {\r
+                       // console.log(linkArray);\r
+                       // console.log(vn_pnData);\r
+                       // console.log(physicalData);\r
+                       if (!linkArray || !vn_pnData || !physicalData) return;\r
+                       //PathId=[];\r
+                       for (var link in linkArray) {\r
+                               for (var i in vn_pnData['vn-pn-mapping-result']) {\r
+                                       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
+                                               PathId[link] = vn_pnData['vn-pn-mapping-result'][i]['physical-resource-entity-id'];\r
+                                       }\r
+                               }\r
+                       }\r
+                       console.log(PathId);\r
+                       var Paths = [];\r
+                       var sourcePaths = physicalData['physical-network']['physical-paths']['physical-path'];\r
+                       // console.log(sourcePaths);\r
+                       for (var path in PathId) {\r
+                               for (var sp in sourcePaths) {\r
+                                       if (PathId[path] == sourcePaths[sp]['path-id']) {\r
+                                               var physical_links = sourcePaths[sp]['physical-link'];\r
+\r
+                                               if (!physical_links) {\r
+                                                       Paths[PathId[path]] = [''];\r
+                                                       continue;\r
+                                               } else {\r
+                                                       if (physical_links.length == 1) {\r
+                                                               Paths[PathId[path]] = createMappingTables.getNodesByLink(physical_links[0]['link-id'], physicalData);\r
+                                                       } else {\r
+                                                               physical_links = physical_links.sort(function(a, b) {\r
+                                                                       return a.order - b.order\r
+                                                               });\r
+                                                               var passedByPath = [];\r
+                                                               Paths[PathId[path]] = [];\r
+                                                               for (var l in physical_links) {\r
+                                                                       passedByPath.push(physical_links[l]['link-id']);\r
+                                                                       var this_paths = createMappingTables.getNodesByLink(physical_links[l]['link-id'], physicalData);\r
+                                                                       if (l == 0) {\r
+                                                                               Paths[PathId[path]].push(this_paths[0]);\r
+                                                                               Paths[PathId[path]].push(this_paths[1]);\r
+                                                                       } else {\r
+                                                                               Paths[PathId[path]].push(this_paths[1]);\r
+                                                                       }\r
+                                                               }\r
+\r
+                                                               //Paths[PathId[path]] = passedByPath;\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+                       console.log(Paths);\r
+                       return Paths;\r
+               },\r
+               getNodesByLink: function(link_id, physicalData) {\r
+                       if (!physicalData) return;\r
+                       var sourceLinks = physicalData['physical-network']['physical-links']['physical-link'];\r
+                       for (var link in sourceLinks) {\r
+                               if (link_id == sourceLinks[link]['link-id']) {\r
+                                       var pathnodes = [];\r
+                                       pathnodes.push(sourceLinks[link]['src-node-id']);\r
+                                       pathnodes.push(sourceLinks[link]['dest-node-id']);\r
+                                       return pathnodes;\r
+                               }\r
+                       }\r
+                       return null;\r
+               }\r
+       }\r
+       // var userid='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+       //var virtualData = getVirtualInfoById(userId,virtualJson);\r
+       //var linkArray=CreateVirtualNodeTable('virNodeTab',virtualData);\r
+\r
+//getPaths(linkArray,getPnMappingResultById(userid,PnMappingJson),userinfo);
\ No newline at end of file
index 5ff5586c077a34bdcf65709034c5a987de9e7757..ca47e568c5ead9485a921322da1958756d4d0d92 100644 (file)
@@ -1,4 +1,5 @@
 var physicalJson=null;\r
-var user_info=null;\r
+var userinfo=null;\r
 var virtualJson=null;\r
-var MappingJson=null;
\ No newline at end of file
+var VnMappingJson=null;\r
+var PnMappingJson=null;
\ No newline at end of file
index d0a734c871155be6357b0f5407130fd3737af8bd..a97bf5b9468729a17fbcbad0bec0eba440b58825 100644 (file)
@@ -1,4 +1,3 @@
-var keyWords=['Create','Import','Host','Node','Connection','Flow','Operation','Type','Endnodes','Property','Contain','Match','Target','Action'];\r
 var userinfo ={\r
   "users": {\r
     "user": [\r
@@ -293,18 +292,12 @@ var userinfo ={
             }\r
           ]\r
         }\r
-      },\r
-      {\r
-        "user-id": "64af5353-9b5d-46e2-6bda-072c3a94a591",\r
-        "user-role": "tenant",\r
-        "user-password": "q",\r
-        "user-name": "q"\r
       }\r
     ]\r
   }\r
 }\r
 //console.log(userinfo);\r
-var physicalJson= {\r
+var physicalJson={\r
   "physical-network": {\r
     "physical-hosts": {\r
       "physical-host": [\r
@@ -361,228 +354,52 @@ var physicalJson= {
     "physical-nodes": {\r
       "physical-node": [\r
         {\r
-          "node-id": "openflow:1",\r
+          "node-id": "openflow:3",\r
           "attribute": [\r
             {\r
               "attribute-name": "location",\r
               "attribute-value": {\r
-                "string-value": "openflow:1"\r
+                "string-value": "openflow:3"\r
               }\r
             }\r
           ],\r
-          "node-type": "switch",\r
-          "physical-port": [\r
-            {\r
-              "port-id": "openflow:1:1",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:1:1"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "external",\r
-              "mac-address": "22:37:1D:6B:94:E5",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:1:2",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:1:2"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "external",\r
-              "mac-address": "46:8E:D7:44:14:CC",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:1:3",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:1:3"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "internal",\r
-              "mac-address": "02:34:9F:53:DD:05",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
+          "node-type": "router"\r
         },\r
         {\r
-          "node-id": "openflow:2",\r
+          "node-id": "openflow:4",\r
           "attribute": [\r
             {\r
               "attribute-name": "location",\r
               "attribute-value": {\r
-                "string-value": "openflow:2"\r
+                "string-value": "openflow:4"\r
               }\r
             }\r
           ],\r
-          "node-type": "switch",\r
-          "physical-port": [\r
-            {\r
-              "port-id": "openflow:2:3",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:2:3"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "internal",\r
-              "mac-address": "66:EC:EA:63:EC:AD",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:2:2",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:2:2"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "external",\r
-              "mac-address": "00:0C:29:98:7E:13",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:2:1",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:2:1"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "external",\r
-              "mac-address": "C2:0D:AE:D8:3C:56",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
+          "node-type": "router"\r
         },\r
         {\r
-          "node-id": "openflow:3",\r
+          "node-id": "openflow:1",\r
           "attribute": [\r
             {\r
               "attribute-name": "location",\r
               "attribute-value": {\r
-                "string-value": "openflow:3"\r
+                "string-value": "openflow:1"\r
               }\r
             }\r
           ],\r
-          "node-type": "router",\r
-          "physical-port": [\r
-            {\r
-              "port-id": "openflow:3:1",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:3:1"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "internal",\r
-              "mac-address": "4A:EB:B6:F8:E1:9C",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:3:2",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:3:2"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "internal",\r
-              "mac-address": "8A:0F:06:EA:40:07",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:3:3",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:3:3"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "internal",\r
-              "mac-address": "EA:76:A0:D3:8D:F8",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:3:4",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:3:4"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "external",\r
-              "mac-address": "00:0C:29:98:7E:1D",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
+          "node-type": "switch"\r
         },\r
         {\r
-          "node-id": "openflow:4",\r
+          "node-id": "openflow:2",\r
           "attribute": [\r
             {\r
               "attribute-name": "location",\r
               "attribute-value": {\r
-                "string-value": "openflow:4"\r
+                "string-value": "openflow:2"\r
               }\r
             }\r
           ],\r
-          "node-type": "router",\r
-          "physical-port": [\r
-            {\r
-              "port-id": "openflow:4:2",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:4:2"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "external",\r
-              "mac-address": "00:0C:29:98:7E:27",\r
-              "bandwidth": 10240\r
-            },\r
-            {\r
-              "port-id": "openflow:4:1",\r
-              "attribute": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:4:1"\r
-                  }\r
-                }\r
-              ],\r
-              "port-type": "internal",\r
-              "mac-address": "9A:E4:DE:B1:B2:11",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
+          "node-type": "switch"\r
         }\r
       ]\r
     },\r
@@ -592,55 +409,55 @@ var physicalJson= {
           "link-id": "openflow:4:2",\r
           "loss-rate": 1,\r
           "delay": 1,\r
-          "dest-port-id": "openflow:2:2",\r
+          "dest-port-id": "openflow:3:4",\r
           "src-port-id": "openflow:4:2",\r
-          "dest-node-id": "openflow:2",\r
+          "dest-node-id": "openflow:3",\r
           "bandwidth": 10240,\r
           "src-node-id": "openflow:4"\r
         },\r
         {\r
-          "link-id": "openflow:2:3",\r
+          "link-id": "openflow:4:1",\r
           "loss-rate": 1,\r
           "delay": 1,\r
-          "src-port-id": "openflow:2:3",\r
+          "src-port-id": "openflow:4:1",\r
           "dest-node-id": "openflow:3",\r
           "metric": 1,\r
-          "dest-port-id": "openflow:3:2",\r
+          "dest-port-id": "openflow:3:3",\r
           "bandwidth": 10240,\r
-          "src-node-id": "openflow:2"\r
+          "src-node-id": "openflow:4"\r
         },\r
         {\r
-          "link-id": "openflow:4:1",\r
+          "link-id": "openflow:1:3",\r
           "loss-rate": 1,\r
           "delay": 1,\r
-          "src-port-id": "openflow:4:1",\r
+          "src-port-id": "openflow:1:3",\r
           "dest-node-id": "openflow:3",\r
           "metric": 1,\r
-          "dest-port-id": "openflow:3:3",\r
+          "dest-port-id": "openflow:3:1",\r
           "bandwidth": 10240,\r
-          "src-node-id": "openflow:4"\r
+          "src-node-id": "openflow:1"\r
         },\r
         {\r
-          "link-id": "openflow:3:1",\r
+          "link-id": "openflow:2:3",\r
           "loss-rate": 1,\r
           "delay": 1,\r
-          "src-port-id": "openflow:3:1",\r
-          "dest-node-id": "openflow:1",\r
+          "src-port-id": "openflow:2:3",\r
+          "dest-node-id": "openflow:3",\r
           "metric": 1,\r
-          "dest-port-id": "openflow:1:3",\r
+          "dest-port-id": "openflow:3:2",\r
           "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
+          "src-node-id": "openflow:2"\r
         },\r
         {\r
-          "link-id": "openflow:1:3",\r
+          "link-id": "openflow:3:1",\r
           "loss-rate": 1,\r
           "delay": 1,\r
-          "src-port-id": "openflow:1:3",\r
-          "dest-node-id": "openflow:3",\r
+          "src-port-id": "openflow:3:1",\r
+          "dest-node-id": "openflow:1",\r
           "metric": 1,\r
-          "dest-port-id": "openflow:3:1",\r
+          "dest-port-id": "openflow:1:3",\r
           "bandwidth": 10240,\r
-          "src-node-id": "openflow:1"\r
+          "src-node-id": "openflow:3"\r
         },\r
         {\r
           "link-id": "openflow:3:3",\r
@@ -678,9 +495,9 @@ var physicalJson= {
           "link-id": "openflow:3:4",\r
           "loss-rate": 1,\r
           "delay": 1,\r
-          "dest-port-id": "openflow:2:2",\r
+          "dest-port-id": "openflow:4:2",\r
           "src-port-id": "openflow:3:4",\r
-          "dest-node-id": "openflow:2",\r
+          "dest-node-id": "openflow:4",\r
           "bandwidth": 10240,\r
           "src-node-id": "openflow:3"\r
         }\r
@@ -689,19 +506,31 @@ var physicalJson= {
     "physical-paths": {\r
       "physical-path": [\r
         {\r
-          "path-id": "41068e63-c61d-414f-93b3-4109db13b39a",\r
+          "path-id": "847ce4e6-d631-4d90-b2f3-dcfd56dbce3a",\r
+          "delay": 0,\r
+          "metric": 0,\r
+          "bandwidth": 0\r
+        },\r
+        {\r
+          "path-id": "4ce046d2-0c20-43c7-b7f8-fa441e07d443",\r
+          "delay": 0,\r
+          "metric": 0,\r
+          "bandwidth": 0\r
+        },\r
+        {\r
+          "path-id": "6657f46b-edd2-47fe-b3fc-7b5aa16c7b97",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:2:3",\r
+              "link-id": "openflow:4:1",\r
               "order": 0\r
             }\r
           ],\r
           "metric": 1,\r
-          "bandwidth": 0\r
+          "bandwidth": 128\r
         },\r
         {\r
-          "path-id": "8c71bff9-7b13-4842-9109-1cda48865160",\r
+          "path-id": "7b875b56-ce40-4fcd-ac76-b361d0311d8f",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
@@ -717,27 +546,11 @@ var physicalJson= {
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "456ad088-8610-4154-bf14-6e1ad236edaa",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:2:3",\r
-              "order": 0\r
-            },\r
-            {\r
-              "link-id": "openflow:3:1",\r
-              "order": 1\r
-            }\r
-          ],\r
-          "metric": 2,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "5d9fd420-e20c-4ddd-97c7-0fe85d06ea17",\r
+          "path-id": "cb9b13ad-0172-43f5-9678-69859698071d",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:3:2",\r
+              "link-id": "openflow:1:3",\r
               "order": 0\r
             }\r
           ],\r
@@ -745,51 +558,35 @@ var physicalJson= {
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "d86e2725-b848-4ce8-904a-967f9e083577",\r
+          "path-id": "23f80b16-76d1-424c-9a71-aacd60a62bcd",\r
           "delay": 0,\r
           "metric": 0,\r
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "397a6c45-b87f-4e67-865a-7ca9f4b12975",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:1",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 1,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "e98cd5ca-361a-4b8d-a6a6-7088a8a8514d",\r
+          "path-id": "3b9d1480-df24-4b0b-ba58-8c92605fe917",\r
           "delay": 0,\r
           "metric": 0,\r
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "aefbb3a4-d71c-4bb3-8298-a4ec9123e973",\r
+          "path-id": "f84b9fda-b3f6-4631-a829-5089274093b0",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
               "link-id": "openflow:2:3",\r
               "order": 0\r
-            },\r
-            {\r
-              "link-id": "openflow:3:1",\r
-              "order": 1\r
             }\r
           ],\r
-          "metric": 2,\r
+          "metric": 1,\r
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "b8dc0a4d-319a-49fd-92a0-ad8b70c58cb4",\r
+          "path-id": "bdd1e0cb-72aa-4f04-a2db-a07a15c62d61",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:1:3",\r
+              "link-id": "openflow:3:2",\r
               "order": 0\r
             }\r
           ],\r
@@ -797,7 +594,7 @@ var physicalJson= {
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "9559b3ce-356c-4989-b87f-023ddc39f15b",\r
+          "path-id": "eaa935ac-c511-4541-80cd-4a1640ae2246",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
@@ -813,35 +610,41 @@ var physicalJson= {
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "dffd6c72-39d6-43b5-95c0-139b7c06cb81",\r
+          "path-id": "cb3de13d-cd6f-4f32-9596-09ddbb6d1c44",\r
+          "delay": 0,\r
+          "metric": 0,\r
+          "bandwidth": 0\r
+        },\r
+        {\r
+          "path-id": "4fdc5a09-ceca-461a-b3d3-1c3a9506dc74",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:2:3",\r
+              "link-id": "openflow:3:3",\r
               "order": 0\r
             }\r
           ],\r
           "metric": 1,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "dea9decf-7713-44ad-9276-0c49624f8c20",\r
-          "delay": 0,\r
-          "metric": 0,\r
-          "bandwidth": 0\r
+          "bandwidth": 128\r
         },\r
         {\r
-          "path-id": "36768acc-2cdd-4e64-8db5-27b753a36e81",\r
+          "path-id": "c231b5a3-7752-4f78-b8eb-b023ad4bea2f",\r
           "delay": 0,\r
-          "metric": 0,\r
+          "physical-link": [\r
+            {\r
+              "link-id": "openflow:3:2",\r
+              "order": 0\r
+            }\r
+          ],\r
+          "metric": 1,\r
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "264b59f1-3316-484a-bf5e-0d1412668a13",\r
+          "path-id": "aab18b50-3bf6-4fde-aac1-968ffe22f518",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:3:2",\r
+              "link-id": "openflow:3:1",\r
               "order": 0\r
             }\r
           ],\r
@@ -849,41 +652,45 @@ var physicalJson= {
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "299eb64e-dbb4-4cc6-b1d7-bc694034052b",\r
+          "path-id": "ba0726d2-c72f-4b3e-b972-72da39430537",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:3:3",\r
+              "link-id": "openflow:2:3",\r
               "order": 0\r
+            },\r
+            {\r
+              "link-id": "openflow:3:1",\r
+              "order": 1\r
             }\r
           ],\r
-          "metric": 1,\r
-          "bandwidth": 128\r
+          "metric": 2,\r
+          "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "18ccd1d0-4d60-47f1-a5da-92dbf2cc5a24",\r
+          "path-id": "e0f22266-e0c2-4467-b143-800a7b212a98",\r
           "delay": 0,\r
           "metric": 0,\r
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "d181589e-d067-4b71-9991-ba26248e0cd4",\r
+          "path-id": "765e80be-6232-498d-b095-3b2c59448535",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:4:1",\r
+              "link-id": "openflow:2:3",\r
               "order": 0\r
             }\r
           ],\r
           "metric": 1,\r
-          "bandwidth": 128\r
+          "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "fc0c1384-8c1e-4a44-815f-b2c9c2749bfc",\r
+          "path-id": "a710b9b8-5abf-4c59-9afd-88ccf8d935b0",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:1:3",\r
+              "link-id": "openflow:3:1",\r
               "order": 0\r
             }\r
           ],\r
@@ -891,21 +698,31 @@ var physicalJson= {
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "eece4538-22ba-4876-bb0e-28b363f4ee0f",\r
+          "path-id": "61c4597d-02a5-4609-8756-955024691a17",\r
           "delay": 0,\r
-          "metric": 0,\r
+          "physical-link": [\r
+            {\r
+              "link-id": "openflow:1:3",\r
+              "order": 0\r
+            }\r
+          ],\r
+          "metric": 1,\r
           "bandwidth": 0\r
         },\r
         {\r
-          "path-id": "1338e6bb-82b4-4ca8-973a-df77b5fff3ea",\r
+          "path-id": "5fc169b2-1209-4663-92c3-031100923f6f",\r
           "delay": 0,\r
           "physical-link": [\r
             {\r
-              "link-id": "openflow:3:1",\r
+              "link-id": "openflow:2:3",\r
               "order": 0\r
+            },\r
+            {\r
+              "link-id": "openflow:3:1",\r
+              "order": 1\r
             }\r
           ],\r
-          "metric": 1,\r
+          "metric": 2,\r
           "bandwidth": 0\r
         }\r
       ]\r
@@ -920,73 +737,75 @@ var virtualJson={
         "virtual-nodes": {\r
           "virtual-node": [\r
             {\r
-              "node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
-              "node-type": "vswitch",\r
+              "node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+              "node-type": "vrouter",\r
               "physical-resource-requirement": [\r
                 {\r
                   "attribute-name": "location",\r
                   "attribute-value": {\r
-                    "string-value": "openflow:2"\r
+                    "string-value": "openflow:3"\r
                   },\r
                   "attribute-match-pattern": "equal"\r
                 }\r
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "2d56888f-d697-4758-9de1-53540476afac",\r
-                  "port-type": "internal"\r
+                  "port-id": "ee08bce2-0d1b-45f7-947c-73fa82175ee8",\r
+                  "port-type": "internal",\r
+                  "bandwidth": 128\r
                 },\r
                 {\r
-                  "port-id": "4a0307d7-0ca1-4e66-83d9-d6051c116bd9",\r
+                  "port-id": "5f965841-2e92-4317-a550-4be57d706896",\r
+                  "external-ip-prefixes": {\r
+                    "external-ip-prefix": [\r
+                      "192.168.12.0/24"\r
+                    ]\r
+                  },\r
                   "port-type": "internal"\r
                 },\r
                 {\r
-                  "port-id": "b553b789-7e7b-4577-ad7d-d40cdb54b525",\r
+                  "port-id": "81e7f41a-be2c-4986-ac1d-11fbd4062be4",\r
+                  "port-type": "internal",\r
+                  "bandwidth": 0\r
+                },\r
+                {\r
+                  "port-id": "c3ea674e-3dfb-492b-98d4-94b5f3b826e5",\r
+                  "external-ip-prefixes": {\r
+                    "external-ip-prefix": [\r
+                      "192.168.12.0/24"\r
+                    ]\r
+                  },\r
                   "port-type": "internal"\r
                 },\r
                 {\r
-                  "port-id": "56d54ad9-1d55-455d-828c-add02f9cfbd3",\r
-                  "external-mac-addresses": {\r
-                    "external-mac-address": [\r
-                      "08:00:27:a0:a9:b3"\r
+                  "port-id": "c04b0c95-b19b-4d29-962d-bb88ee271703",\r
+                  "external-ip-prefixes": {\r
+                    "external-ip-prefix": [\r
+                      "192.168.12.0/24"\r
                     ]\r
                   },\r
-                  "port-type": "external",\r
-                  "physical-resource-requirement": [\r
-                    {\r
-                      "attribute-name": "location",\r
-                      "attribute-value": {\r
-                        "string-value": "openflow:2:2"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
+                  "port-type": "internal"\r
                 }\r
               ]\r
             },\r
             {\r
-              "node-id": "74766098-9f67-4be0-8b6d-b6011110198c",\r
-              "node-type": "vrouter",\r
+              "node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+              "node-type": "vswitch",\r
               "physical-resource-requirement": [\r
                 {\r
                   "attribute-name": "location",\r
                   "attribute-value": {\r
-                    "string-value": "openflow:3"\r
+                    "string-value": "openflow:2"\r
                   },\r
                   "attribute-match-pattern": "equal"\r
                 }\r
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "19e72797-a78c-418c-8f99-1e2d4293f3e5",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                },\r
-                {\r
-                  "port-id": "9680299d-dc93-4ba0-aff4-20c43962b249",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "172.168.1.0/24"\r
+                  "port-id": "fe8a0153-2a95-4473-8b62-16a6542c9212",\r
+                  "external-mac-addresses": {\r
+                    "external-mac-address": [\r
+                      "08:00:27:a0:a9:b3"\r
                     ]\r
                   },\r
                   "port-type": "external",\r
@@ -994,32 +813,56 @@ var virtualJson={
                     {\r
                       "attribute-name": "location",\r
                       "attribute-value": {\r
-                        "string-value": "openflow:3:4"\r
+                        "string-value": "openflow:2:2"\r
                       },\r
                       "attribute-match-pattern": "equal"\r
                     }\r
                   ]\r
+                },\r
+                {\r
+                  "port-id": "f7782068-8bf2-4ffb-a432-447a5cb708c4",\r
+                  "port-type": "internal"\r
+                },\r
+                {\r
+                  "port-id": "7cb2dda8-3cd2-4d84-996a-1d61aa0358a5",\r
+                  "port-type": "internal"\r
+                },\r
+                {\r
+                  "port-id": "f6171160-ef25-45e9-8251-7a44468a9a68",\r
+                  "port-type": "internal"\r
                 }\r
               ]\r
             },\r
             {\r
-              "node-id": "ba9e5273-2c47-43c1-a959-5779488ce1f8",\r
-              "node-type": "vrouter",\r
+              "node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
+              "node-type": "vswitch",\r
               "physical-resource-requirement": [\r
                 {\r
                   "attribute-name": "location",\r
                   "attribute-value": {\r
-                    "string-value": "openflow:4"\r
+                    "string-value": "openflow:1"\r
                   },\r
                   "attribute-match-pattern": "equal"\r
                 }\r
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "25ba99fd-8846-490b-bbe7-883f71914851",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "192.168.13.0/24"\r
+                  "port-id": "34bca859-1b88-4d5a-b564-7d9080063609",\r
+                  "port-type": "internal"\r
+                },\r
+                {\r
+                  "port-id": "707d56c8-4aee-4466-9383-503ecedd31c3",\r
+                  "port-type": "internal"\r
+                },\r
+                {\r
+                  "port-id": "32ea562d-5ba2-4c84-8560-9f0b4f8dc3ae",\r
+                  "port-type": "internal"\r
+                },\r
+                {\r
+                  "port-id": "c0284004-7b36-4bda-ab98-3f33a67655db",\r
+                  "external-mac-addresses": {\r
+                    "external-mac-address": [\r
+                      "00:00:00:00:00:01"\r
                     ]\r
                   },\r
                   "port-type": "external",\r
@@ -1027,21 +870,16 @@ var virtualJson={
                     {\r
                       "attribute-name": "location",\r
                       "attribute-value": {\r
-                        "string-value": "openflow:4:2"\r
+                        "string-value": "openflow:1:2"\r
                       },\r
                       "attribute-match-pattern": "equal"\r
                     }\r
                   ]\r
-                },\r
-                {\r
-                  "port-id": "90b1cc61-d631-4c9c-90bc-0aed911679ff",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 128\r
                 }\r
               ]\r
             },\r
             {\r
-              "node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
+              "node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
               "node-type": "vrouter",\r
               "physical-resource-requirement": [\r
                 {\r
@@ -1054,38 +892,20 @@ var virtualJson={
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "7a558ce5-cbfd-4c4e-ac4b-223cb553ea42",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "192.168.12.0/24"\r
-                    ]\r
-                  },\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "8981025b-2990-4d77-b041-0db8af1f8325",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "192.168.12.0/24"\r
-                    ]\r
-                  },\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "ea178dbc-4ea7-4855-b1f0-130caae61ac5",\r
+                  "port-id": "9fb8376a-f286-489a-bde4-d5adde1c28c8",\r
                   "port-type": "internal",\r
-                  "bandwidth": 128\r
+                  "bandwidth": 0\r
                 },\r
                 {\r
-                  "port-id": "e246cc12-1c0a-467f-8440-b7bb43539b18",\r
+                  "port-id": "b743e2d7-bec1-4e88-b2f8-0c3438322e03",\r
                   "port-type": "internal",\r
                   "bandwidth": 0\r
                 },\r
                 {\r
-                  "port-id": "03e82eac-9906-4c52-8960-0c6c34b6605a",\r
+                  "port-id": "57c62f69-536a-4628-8d03-a3bf230ac607",\r
                   "external-ip-prefixes": {\r
                     "external-ip-prefix": [\r
-                      "192.168.12.0/24"\r
+                      "192.168.11.0/24"\r
                     ]\r
                   },\r
                   "port-type": "internal"\r
@@ -1093,65 +913,66 @@ var virtualJson={
               ]\r
             },\r
             {\r
-              "node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
+              "node-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
               "node-type": "vrouter",\r
               "physical-resource-requirement": [\r
                 {\r
                   "attribute-name": "location",\r
                   "attribute-value": {\r
-                    "string-value": "openflow:3"\r
+                    "string-value": "openflow:4"\r
                   },\r
                   "attribute-match-pattern": "equal"\r
                 }\r
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "eb30411b-1fc3-47c6-9238-ad437e362416",\r
+                  "port-id": "01a637dd-55c9-4d96-8729-91538346001f",\r
+                  "port-type": "internal",\r
+                  "bandwidth": 128\r
+                },\r
+                {\r
+                  "port-id": "1b10a84d-247c-40b7-b4e6-6e3e0b140cda",\r
                   "external-ip-prefixes": {\r
                     "external-ip-prefix": [\r
-                      "192.168.11.0/24"\r
+                      "192.168.13.0/24"\r
                     ]\r
                   },\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "831ff095-5fed-4125-8249-3b1238e05a9e",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                },\r
-                {\r
-                  "port-id": "56d04cbc-2557-4514-ae69-35d3b4fb6dc3",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
+                  "port-type": "external",\r
+                  "physical-resource-requirement": [\r
+                    {\r
+                      "attribute-name": "location",\r
+                      "attribute-value": {\r
+                        "string-value": "openflow:4:2"\r
+                      },\r
+                      "attribute-match-pattern": "equal"\r
+                    }\r
+                  ]\r
                 }\r
               ]\r
             },\r
             {\r
-              "node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
-              "node-type": "vswitch",\r
+              "node-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
+              "node-type": "vrouter",\r
               "physical-resource-requirement": [\r
                 {\r
                   "attribute-name": "location",\r
                   "attribute-value": {\r
-                    "string-value": "openflow:2"\r
+                    "string-value": "openflow:3"\r
                   },\r
                   "attribute-match-pattern": "equal"\r
                 }\r
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "56e7046b-3f13-4f73-92a4-e166cc076f5a",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "bc7f6f1d-3921-44a8-b7e0-12c03bfdf9b3",\r
-                  "port-type": "internal"\r
+                  "port-id": "3ac1b718-b541-4df4-8e7b-a56407673cbf",\r
+                  "port-type": "internal",\r
+                  "bandwidth": 0\r
                 },\r
                 {\r
-                  "port-id": "e5a44c4c-6efb-4852-bf0a-2639d9cb739c",\r
-                  "external-mac-addresses": {\r
-                    "external-mac-address": [\r
-                      "00:00:00:00:00:02"\r
+                  "port-id": "89f43bd8-e6f7-4aea-9fb2-936f6255bf4b",\r
+                  "external-ip-prefixes": {\r
+                    "external-ip-prefix": [\r
+                      "172.168.1.0/24"\r
                     ]\r
                   },\r
                   "port-type": "external",\r
@@ -1159,48 +980,44 @@ var virtualJson={
                     {\r
                       "attribute-name": "location",\r
                       "attribute-value": {\r
-                        "string-value": "openflow:2:1"\r
+                        "string-value": "openflow:3:4"\r
                       },\r
                       "attribute-match-pattern": "equal"\r
                     }\r
                   ]\r
-                },\r
-                {\r
-                  "port-id": "b295c6ad-eb02-4d43-bb48-a5f72db8b63c",\r
-                  "port-type": "internal"\r
                 }\r
               ]\r
             },\r
             {\r
-              "node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
+              "node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
               "node-type": "vswitch",\r
               "physical-resource-requirement": [\r
                 {\r
                   "attribute-name": "location",\r
                   "attribute-value": {\r
-                    "string-value": "openflow:1"\r
+                    "string-value": "openflow:2"\r
                   },\r
                   "attribute-match-pattern": "equal"\r
                 }\r
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "577517d2-f936-4227-9b3a-ecb462a57d15",\r
+                  "port-id": "57c413cd-8b84-4eb9-80d1-b67b3b187687",\r
                   "port-type": "internal"\r
                 },\r
                 {\r
-                  "port-id": "92931833-02db-4e6d-8cf7-8fa5d43c34a5",\r
+                  "port-id": "3ccecbc5-6871-448e-bfe7-7da0d8d617da",\r
                   "port-type": "internal"\r
                 },\r
                 {\r
-                  "port-id": "948651a1-a523-43dc-b593-b0f44c817826",\r
+                  "port-id": "7ac662fe-1684-445e-9253-9b55a3cbd03c",\r
                   "port-type": "internal"\r
                 },\r
                 {\r
-                  "port-id": "3020a073-aec7-4e45-888b-98a7c06a0cb4",\r
+                  "port-id": "78baf6e4-5df3-45b2-be20-107844d71d87",\r
                   "external-mac-addresses": {\r
                     "external-mac-address": [\r
-                      "00:00:00:00:00:01"\r
+                      "00:00:00:00:00:02"\r
                     ]\r
                   },\r
                   "port-type": "external",\r
@@ -1208,7 +1025,7 @@ var virtualJson={
                     {\r
                       "attribute-name": "location",\r
                       "attribute-value": {\r
-                        "string-value": "openflow:1:2"\r
+                        "string-value": "openflow:2:1"\r
                       },\r
                       "attribute-match-pattern": "equal"\r
                     }\r
@@ -1217,7 +1034,7 @@ var virtualJson={
               ]\r
             },\r
             {\r
-              "node-id": "3c641151-82a9-45f1-a40b-6d3fa6ddccd1",\r
+              "node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
               "node-type": "vswitch",\r
               "physical-resource-requirement": [\r
                 {\r
@@ -1230,11 +1047,11 @@ var virtualJson={
               ],\r
               "virtual-port": [\r
                 {\r
-                  "port-id": "b76cd89e-6d7f-48d5-aada-0aab94fa8d3f",\r
+                  "port-id": "58efb0ef-eb99-4afe-bfaa-ee1d6f98e235",\r
                   "port-type": "internal"\r
                 },\r
                 {\r
-                  "port-id": "b57dc73e-e107-4913-9de2-d1a13b06b8b0",\r
+                  "port-id": "2ec42067-0694-497f-8fd6-142d5e1e2820",\r
                   "external-mac-addresses": {\r
                     "external-mac-address": [\r
                       "00:00:00:00:00:03"\r
@@ -1259,231 +1076,231 @@ var virtualJson={
           "virtual-arp": [\r
             {\r
               "ip-address": "192.168.12.4",\r
-              "node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
+              "node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
               "mac-address": "08:00:27:a0:a9:b3",\r
-              "port-id": "56d54ad9-1d55-455d-828c-add02f9cfbd3"\r
+              "port-id": "fe8a0153-2a95-4473-8b62-16a6542c9212"\r
             },\r
             {\r
               "ip-address": "192.168.11.2",\r
-              "node-id": "3c641151-82a9-45f1-a40b-6d3fa6ddccd1",\r
+              "node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
               "mac-address": "00:00:00:00:00:03",\r
-              "port-id": "b57dc73e-e107-4913-9de2-d1a13b06b8b0"\r
+              "port-id": "2ec42067-0694-497f-8fd6-142d5e1e2820"\r
             },\r
             {\r
               "ip-address": "192.168.12.2",\r
-              "node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
+              "node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
               "mac-address": "00:00:00:00:00:01",\r
-              "port-id": "3020a073-aec7-4e45-888b-98a7c06a0cb4"\r
+              "port-id": "c0284004-7b36-4bda-ab98-3f33a67655db"\r
             },\r
             {\r
               "ip-address": "192.168.12.3",\r
-              "node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
+              "node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
               "mac-address": "00:00:00:00:00:02",\r
-              "port-id": "e5a44c4c-6efb-4852-bf0a-2639d9cb739c"\r
+              "port-id": "78baf6e4-5df3-45b2-be20-107844d71d87"\r
             }\r
           ]\r
         },\r
         "virtual-links": {\r
           "virtual-link": [\r
             {\r
-              "link-id": "d5a26599-8433-4e32-ae2f-8bf81c15a007",\r
-              "src-node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
-              "delay": 0,\r
-              "dest-port-id": "03e82eac-9906-4c52-8960-0c6c34b6605a",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
-              "src-port-id": "92931833-02db-4e6d-8cf7-8fa5d43c34a5"\r
-            },\r
-            {\r
-              "link-id": "93605e9e-cfbe-4d87-80ea-7bcd3f2c1b72",\r
-              "src-node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
+              "link-id": "b19b3f5c-0fb3-4dca-98b5-5136b406e988",\r
+              "src-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
               "delay": 0,\r
-              "dest-port-id": "2d56888f-d697-4758-9de1-53540476afac",\r
-              "metric": 2,\r
+              "dest-port-id": "3ac1b718-b541-4df4-8e7b-a56407673cbf",\r
+              "metric": 0,\r
               "bandwidth": 0,\r
-              "dest-node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
-              "src-port-id": "948651a1-a523-43dc-b593-b0f44c817826"\r
+              "dest-node-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
+              "src-port-id": "b743e2d7-bec1-4e88-b2f8-0c3438322e03"\r
             },\r
             {\r
-              "link-id": "3c2cdead-f362-495a-8e97-6f14c97ff077",\r
-              "src-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
+              "link-id": "6632b4c7-a794-4e14-a2c7-872e81277d94",\r
+              "src-node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
               "delay": 0,\r
-              "dest-port-id": "b553b789-7e7b-4577-ad7d-d40cdb54b525",\r
+              "dest-port-id": "57c62f69-536a-4628-8d03-a3bf230ac607",\r
               "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
-              "src-port-id": "7a558ce5-cbfd-4c4e-ac4b-223cb553ea42"\r
+              "dest-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
+              "src-port-id": "58efb0ef-eb99-4afe-bfaa-ee1d6f98e235"\r
             },\r
             {\r
-              "link-id": "09692509-6681-4b41-915b-ce12ae33187f",\r
-              "src-node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
+              "link-id": "8b2218cf-fbbb-4e14-85ca-694ceac1edfb",\r
+              "src-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
               "delay": 0,\r
-              "dest-port-id": "b295c6ad-eb02-4d43-bb48-a5f72db8b63c",\r
+              "dest-port-id": "f7782068-8bf2-4ffb-a432-447a5cb708c4",\r
               "metric": 2,\r
               "bandwidth": 0,\r
-              "dest-node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
-              "src-port-id": "577517d2-f936-4227-9b3a-ecb462a57d15"\r
+              "dest-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+              "src-port-id": "707d56c8-4aee-4466-9383-503ecedd31c3"\r
             },\r
             {\r
-              "link-id": "54e28d07-370d-4023-a80d-9897819bfda6",\r
-              "src-node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
+              "link-id": "4b591338-e82f-4b8b-a7c4-afb241549455",\r
+              "src-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
               "delay": 0,\r
-              "dest-port-id": "577517d2-f936-4227-9b3a-ecb462a57d15",\r
-              "metric": 2,\r
+              "dest-port-id": "7ac662fe-1684-445e-9253-9b55a3cbd03c",\r
+              "metric": 0,\r
               "bandwidth": 0,\r
-              "dest-node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
-              "src-port-id": "b295c6ad-eb02-4d43-bb48-a5f72db8b63c"\r
+              "dest-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
+              "src-port-id": "f6171160-ef25-45e9-8251-7a44468a9a68"\r
             },\r
             {\r
-              "link-id": "b920b33f-10f1-4b9a-858b-76ef2c2565fb",\r
-              "src-node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
+              "link-id": "8cb78a59-146d-48f6-90e0-6fda9165a901",\r
+              "src-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
               "delay": 0,\r
-              "dest-port-id": "948651a1-a523-43dc-b593-b0f44c817826",\r
-              "metric": 2,\r
+              "dest-port-id": "81e7f41a-be2c-4986-ac1d-11fbd4062be4",\r
+              "metric": 0,\r
               "bandwidth": 0,\r
-              "dest-node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
-              "src-port-id": "2d56888f-d697-4758-9de1-53540476afac"\r
+              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+              "src-port-id": "9fb8376a-f286-489a-bde4-d5adde1c28c8"\r
             },\r
             {\r
-              "link-id": "8e495e86-e415-4f5b-acd6-1e45472e07f7",\r
-              "src-node-id": "3c641151-82a9-45f1-a40b-6d3fa6ddccd1",\r
+              "link-id": "110d2527-b282-4126-932f-8c2b9d728f82",\r
+              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
               "delay": 0,\r
-              "dest-port-id": "eb30411b-1fc3-47c6-9238-ad437e362416",\r
+              "dest-port-id": "34bca859-1b88-4d5a-b564-7d9080063609",\r
               "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
-              "src-port-id": "b76cd89e-6d7f-48d5-aada-0aab94fa8d3f"\r
+              "dest-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
+              "src-port-id": "c3ea674e-3dfb-492b-98d4-94b5f3b826e5"\r
             },\r
             {\r
-              "link-id": "07510b23-7253-4ead-94f0-a536f1db346f",\r
-              "src-node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
+              "link-id": "c00198e9-8b1c-4f12-84f2-5ddc5bbee995",\r
+              "src-node-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
               "delay": 0,\r
-              "dest-port-id": "b76cd89e-6d7f-48d5-aada-0aab94fa8d3f",\r
-              "metric": 1,\r
+              "dest-port-id": "b743e2d7-bec1-4e88-b2f8-0c3438322e03",\r
+              "metric": 0,\r
               "bandwidth": 0,\r
-              "dest-node-id": "3c641151-82a9-45f1-a40b-6d3fa6ddccd1",\r
-              "src-port-id": "eb30411b-1fc3-47c6-9238-ad437e362416"\r
+              "dest-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
+              "src-port-id": "3ac1b718-b541-4df4-8e7b-a56407673cbf"\r
             },\r
             {\r
-              "link-id": "2c7793da-a1ad-4651-9367-db754c19684e",\r
-              "src-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
+              "link-id": "98d7b523-9532-4974-825e-c91aa402fe28",\r
+              "src-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
               "delay": 0,\r
-              "dest-port-id": "92931833-02db-4e6d-8cf7-8fa5d43c34a5",\r
+              "dest-port-id": "5f965841-2e92-4317-a550-4be57d706896",\r
               "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
-              "src-port-id": "03e82eac-9906-4c52-8960-0c6c34b6605a"\r
+              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+              "src-port-id": "7cb2dda8-3cd2-4d84-996a-1d61aa0358a5"\r
             },\r
             {\r
-              "link-id": "2579caf3-2a2d-49bb-b5c3-226aab60c3e5",\r
-              "src-node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
+              "link-id": "ad1e1487-59a5-4fc1-8680-7a1e4d1aaf1a",\r
+              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
               "delay": 0,\r
-              "dest-port-id": "4a0307d7-0ca1-4e66-83d9-d6051c116bd9",\r
-              "metric": 0,\r
+              "dest-port-id": "3ccecbc5-6871-448e-bfe7-7da0d8d617da",\r
+              "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
-              "src-port-id": "bc7f6f1d-3921-44a8-b7e0-12c03bfdf9b3"\r
+              "dest-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
+              "src-port-id": "c04b0c95-b19b-4d29-962d-bb88ee271703"\r
             },\r
             {\r
-              "link-id": "b44bdf96-f78b-40b0-8b06-0f9cc5c46b24",\r
-              "src-node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
+              "link-id": "3909140b-cd9d-4dce-a82f-a8b16d33f20b",\r
+              "src-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
               "delay": 0,\r
-              "dest-port-id": "bc7f6f1d-3921-44a8-b7e0-12c03bfdf9b3",\r
-              "metric": 0,\r
+              "dest-port-id": "32ea562d-5ba2-4c84-8560-9f0b4f8dc3ae",\r
+              "metric": 2,\r
               "bandwidth": 0,\r
-              "dest-node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
-              "src-port-id": "4a0307d7-0ca1-4e66-83d9-d6051c116bd9"\r
+              "dest-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
+              "src-port-id": "57c413cd-8b84-4eb9-80d1-b67b3b187687"\r
             },\r
             {\r
-              "link-id": "b4abce22-18a3-4c3c-8c1a-4560b18b2f04",\r
-              "src-node-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
+              "link-id": "f24926ee-586f-4434-a56c-b0e77c2b6031",\r
+              "src-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
               "delay": 0,\r
-              "dest-port-id": "7a558ce5-cbfd-4c4e-ac4b-223cb553ea42",\r
+              "dest-port-id": "c04b0c95-b19b-4d29-962d-bb88ee271703",\r
               "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
-              "src-port-id": "b553b789-7e7b-4577-ad7d-d40cdb54b525"\r
+              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+              "src-port-id": "3ccecbc5-6871-448e-bfe7-7da0d8d617da"\r
             },\r
             {\r
-              "link-id": "85c374ab-4135-4d5a-b3f7-80b780d12ddb",\r
-              "src-node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
+              "link-id": "866bf38c-8a6b-4c73-8d7b-74b02797171d",\r
+              "src-node-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
               "delay": 0,\r
-              "dest-port-id": "e246cc12-1c0a-467f-8440-b7bb43539b18",\r
-              "metric": 0,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
-              "src-port-id": "831ff095-5fed-4125-8249-3b1238e05a9e"\r
+              "dest-port-id": "ee08bce2-0d1b-45f7-947c-73fa82175ee8",\r
+              "metric": 1,\r
+              "bandwidth": 128,\r
+              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+              "src-port-id": "01a637dd-55c9-4d96-8729-91538346001f"\r
             },\r
             {\r
-              "link-id": "bf4ccacb-cb99-46ce-8365-b2e1545cfe45",\r
-              "src-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
+              "link-id": "16e4dfd8-74e4-44ba-8a7d-0ddba8e00b52",\r
+              "src-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
               "delay": 0,\r
-              "dest-port-id": "831ff095-5fed-4125-8249-3b1238e05a9e",\r
-              "metric": 0,\r
+              "dest-port-id": "58efb0ef-eb99-4afe-bfaa-ee1d6f98e235",\r
+              "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
-              "src-port-id": "e246cc12-1c0a-467f-8440-b7bb43539b18"\r
+              "dest-node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
+              "src-port-id": "57c62f69-536a-4628-8d03-a3bf230ac607"\r
             },\r
             {\r
-              "link-id": "decd48aa-5e1b-4775-899b-8e25e8d006f3",\r
-              "src-node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
+              "link-id": "8295f474-0788-4431-ab0d-124b0c3d0b5f",\r
+              "src-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
               "delay": 0,\r
-              "dest-port-id": "8981025b-2990-4d77-b041-0db8af1f8325",\r
-              "metric": 1,\r
+              "dest-port-id": "f6171160-ef25-45e9-8251-7a44468a9a68",\r
+              "metric": 0,\r
               "bandwidth": 0,\r
-              "dest-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
-              "src-port-id": "56e7046b-3f13-4f73-92a4-e166cc076f5a"\r
+              "dest-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+              "src-port-id": "7ac662fe-1684-445e-9253-9b55a3cbd03c"\r
             },\r
             {\r
-              "link-id": "136907df-d099-45ab-b55e-5ff32d4d1579",\r
-              "src-node-id": "74766098-9f67-4be0-8b6d-b6011110198c",\r
+              "link-id": "63d55804-3204-4119-8187-7bd794061986",\r
+              "src-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
               "delay": 0,\r
-              "dest-port-id": "56d04cbc-2557-4514-ae69-35d3b4fb6dc3",\r
-              "metric": 0,\r
+              "dest-port-id": "57c413cd-8b84-4eb9-80d1-b67b3b187687",\r
+              "metric": 2,\r
               "bandwidth": 0,\r
-              "dest-node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
-              "src-port-id": "19e72797-a78c-418c-8f99-1e2d4293f3e5"\r
+              "dest-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
+              "src-port-id": "32ea562d-5ba2-4c84-8560-9f0b4f8dc3ae"\r
             },\r
             {\r
-              "link-id": "c7aa534e-fcd5-4164-a636-a236d95ba624",\r
-              "src-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
+              "link-id": "92e5487b-ef90-4769-9ca8-10f60ab43c83",\r
+              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
               "delay": 0,\r
-              "dest-port-id": "90b1cc61-d631-4c9c-90bc-0aed911679ff",\r
+              "dest-port-id": "01a637dd-55c9-4d96-8729-91538346001f",\r
               "metric": 1,\r
               "bandwidth": 128,\r
-              "dest-node-id": "ba9e5273-2c47-43c1-a959-5779488ce1f8",\r
-              "src-port-id": "ea178dbc-4ea7-4855-b1f0-130caae61ac5"\r
+              "dest-node-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
+              "src-port-id": "ee08bce2-0d1b-45f7-947c-73fa82175ee8"\r
             },\r
             {\r
-              "link-id": "f14c1592-d107-48c1-a5ca-835ad347e38b",\r
-              "src-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
+              "link-id": "fad38c1a-153b-4814-bf12-8d40887808b3",\r
+              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
               "delay": 0,\r
-              "dest-port-id": "56e7046b-3f13-4f73-92a4-e166cc076f5a",\r
+              "dest-port-id": "7cb2dda8-3cd2-4d84-996a-1d61aa0358a5",\r
               "metric": 1,\r
               "bandwidth": 0,\r
-              "dest-node-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
-              "src-port-id": "8981025b-2990-4d77-b041-0db8af1f8325"\r
+              "dest-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+              "src-port-id": "5f965841-2e92-4317-a550-4be57d706896"\r
             },\r
             {\r
-              "link-id": "94d01a13-0f9d-42ce-bc2e-308f16789dc7",\r
-              "src-node-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47",\r
+              "link-id": "5467514b-9598-4767-8c76-f8e9d23a69b3",\r
+              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
               "delay": 0,\r
-              "dest-port-id": "19e72797-a78c-418c-8f99-1e2d4293f3e5",\r
+              "dest-port-id": "9fb8376a-f286-489a-bde4-d5adde1c28c8",\r
               "metric": 0,\r
               "bandwidth": 0,\r
-              "dest-node-id": "74766098-9f67-4be0-8b6d-b6011110198c",\r
-              "src-port-id": "56d04cbc-2557-4514-ae69-35d3b4fb6dc3"\r
+              "dest-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
+              "src-port-id": "81e7f41a-be2c-4986-ac1d-11fbd4062be4"\r
+            },\r
+            {\r
+              "link-id": "316d4aa1-88ff-4b4b-bff2-fa8089f04e83",\r
+              "src-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+              "delay": 0,\r
+              "dest-port-id": "707d56c8-4aee-4466-9383-503ecedd31c3",\r
+              "metric": 2,\r
+              "bandwidth": 0,\r
+              "dest-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
+              "src-port-id": "f7782068-8bf2-4ffb-a432-447a5cb708c4"\r
             },\r
             {\r
-              "link-id": "65b81cf0-5006-4aa4-80ca-f9cd01ada1b6",\r
-              "src-node-id": "ba9e5273-2c47-43c1-a959-5779488ce1f8",\r
+              "link-id": "ae7131f1-7207-4693-a149-e497738b1081",\r
+              "src-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
               "delay": 0,\r
-              "dest-port-id": "ea178dbc-4ea7-4855-b1f0-130caae61ac5",\r
+              "dest-port-id": "c3ea674e-3dfb-492b-98d4-94b5f3b826e5",\r
               "metric": 1,\r
-              "bandwidth": 128,\r
-              "dest-node-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb",\r
-              "src-port-id": "90b1cc61-d631-4c9c-90bc-0aed911679ff"\r
+              "bandwidth": 0,\r
+              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+              "src-port-id": "34bca859-1b88-4d5a-b564-7d9080063609"\r
             }\r
           ]\r
         },\r
@@ -1494,7 +1311,7 @@ var virtualJson={
     ]\r
   }\r
 }\r
-var MappingJson={\r
+var VnMappingJson={\r
   "intent-vn-mapping-results": {\r
     "user-intent-vn-mapping": [\r
       {\r
@@ -1505,11 +1322,11 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "29bd638b-2187-4c73-9298-2c887d331a7d",\r
-                "parent-virtual-resource-entity-id": "ba9e5273-2c47-43c1-a959-5779488ce1f8",\r
+                "virtual-resource-id": "af948b19-9636-461f-8a46-4d7d340d17e5",\r
+                "parent-virtual-resource-entity-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
                 "virtual-resource-type": "vport",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "25ba99fd-8846-490b-bbe7-883f71914851"\r
+                "virtual-resource-entity-id": "1b10a84d-247c-40b7-b4e6-6e3e0b140cda"\r
               }\r
             ]\r
           },\r
@@ -1518,11 +1335,11 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "ecd7a4eb-4f68-416f-88d0-af96f914ee3d",\r
-                "parent-virtual-resource-entity-id": "3450efe7-dd9c-46c9-a10d-a57b609f2885",\r
+                "virtual-resource-id": "88d1b2f5-f3f6-4060-ab94-f99ff2db1ca1",\r
+                "parent-virtual-resource-entity-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
                 "virtual-resource-type": "vport",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "e5a44c4c-6efb-4852-bf0a-2639d9cb739c"\r
+                "virtual-resource-entity-id": "78baf6e4-5df3-45b2-be20-107844d71d87"\r
               }\r
             ]\r
           },\r
@@ -1531,16 +1348,16 @@ var MappingJson={
             "intent-type": "connection",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "466dac24-f6ea-44b4-8011-2de59bc5cd97",\r
+                "virtual-resource-id": "a4cdf6b5-adcf-4533-b7b0-aed75fa32bbb",\r
                 "virtual-resource-type": "vlink",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "94d01a13-0f9d-42ce-bc2e-308f16789dc7"\r
+                "virtual-resource-entity-id": "c00198e9-8b1c-4f12-84f2-5ddc5bbee995"\r
               },\r
               {\r
-                "virtual-resource-id": "135ba490-19d9-4cb0-a211-49c6571c5064",\r
+                "virtual-resource-id": "f4025170-a20b-4a7f-aad1-1f1d4c4c4b4c",\r
                 "virtual-resource-type": "vlink",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "136907df-d099-45ab-b55e-5ff32d4d1579"\r
+                "virtual-resource-entity-id": "b19b3f5c-0fb3-4dca-98b5-5136b406e988"\r
               }\r
             ]\r
           },\r
@@ -1549,10 +1366,10 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "d56007fd-01bc-4f07-a770-9a22a4ebb11f",\r
+                "virtual-resource-id": "293c7f66-8a22-4a20-8a91-0fe672431436",\r
                 "virtual-resource-type": "vnode",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "7826e5d1-2a8c-4bca-be38-ada2fb54dd47"\r
+                "virtual-resource-entity-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883"\r
               }\r
             ]\r
           },\r
@@ -1561,11 +1378,11 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "05d68f48-1f68-4c3b-b19e-312a9a2b0471",\r
-                "parent-virtual-resource-entity-id": "74766098-9f67-4be0-8b6d-b6011110198c",\r
+                "virtual-resource-id": "a267bedc-fb63-4c5b-9862-87794345695c",\r
+                "parent-virtual-resource-entity-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
                 "virtual-resource-type": "vport",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "9680299d-dc93-4ba0-aff4-20c43962b249"\r
+                "virtual-resource-entity-id": "89f43bd8-e6f7-4aea-9fb2-936f6255bf4b"\r
               }\r
             ]\r
           },\r
@@ -1574,16 +1391,16 @@ var MappingJson={
             "intent-type": "connection",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "9101d69a-312a-43b4-a9e1-a68c1d7acea4",\r
+                "virtual-resource-id": "6bd8c604-dbb7-473b-85eb-4e6df01fa17b",\r
                 "virtual-resource-type": "vlink",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "bf4ccacb-cb99-46ce-8365-b2e1545cfe45"\r
+                "virtual-resource-entity-id": "8cb78a59-146d-48f6-90e0-6fda9165a901"\r
               },\r
               {\r
-                "virtual-resource-id": "d6ed9071-e257-4a52-a64b-678bb1156221",\r
+                "virtual-resource-id": "39b09f4c-eaeb-4a87-a1ee-bf209926328b",\r
                 "virtual-resource-type": "vlink",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "85c374ab-4135-4d5a-b3f7-80b780d12ddb"\r
+                "virtual-resource-entity-id": "5467514b-9598-4767-8c76-f8e9d23a69b3"\r
               }\r
             ]\r
           },\r
@@ -1592,16 +1409,16 @@ var MappingJson={
             "intent-type": "connection",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "3c37017e-5495-4d2e-8a91-dfd7afe3d63d",\r
+                "virtual-resource-id": "a7997c59-6880-479d-a50a-7a00ee21ed01",\r
                 "virtual-resource-type": "vlink",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "65b81cf0-5006-4aa4-80ca-f9cd01ada1b6"\r
+                "virtual-resource-entity-id": "866bf38c-8a6b-4c73-8d7b-74b02797171d"\r
               },\r
               {\r
-                "virtual-resource-id": "0eddd640-073f-4762-abd0-ca9af26fd380",\r
+                "virtual-resource-id": "be484e6c-7f80-4d70-b244-d394065e98e1",\r
                 "virtual-resource-type": "vlink",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "c7aa534e-fcd5-4164-a636-a236d95ba624"\r
+                "virtual-resource-entity-id": "92e5487b-ef90-4769-9ca8-10f60ab43c83"\r
               }\r
             ]\r
           },\r
@@ -1610,11 +1427,11 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "fe7c8040-3e8e-44e9-882f-17a0557af7ad",\r
-                "parent-virtual-resource-entity-id": "8c79c039-41c0-4bd9-a7af-704ed437cd49",\r
+                "virtual-resource-id": "5dc78465-e253-430d-bffc-c4c62ea8159a",\r
+                "parent-virtual-resource-entity-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
                 "virtual-resource-type": "vport",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "3020a073-aec7-4e45-888b-98a7c06a0cb4"\r
+                "virtual-resource-entity-id": "c0284004-7b36-4bda-ab98-3f33a67655db"\r
               }\r
             ]\r
           },\r
@@ -1623,10 +1440,10 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "7fff5626-dd2a-42e8-a0f2-efe374470178",\r
+                "virtual-resource-id": "52eace82-2f94-4d1d-b135-1a2fb928b741",\r
                 "virtual-resource-type": "vnode",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "d7b911e0-f7b4-4fb5-b9dc-af87738485bb"\r
+                "virtual-resource-entity-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88"\r
               }\r
             ]\r
           },\r
@@ -1635,11 +1452,11 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "a892362e-f2c2-4cf6-bfb2-5b5b1ca3014d",\r
-                "parent-virtual-resource-entity-id": "3c641151-82a9-45f1-a40b-6d3fa6ddccd1",\r
+                "virtual-resource-id": "acfe47d3-274a-4ce5-bcd9-3a8e947ef666",\r
+                "parent-virtual-resource-entity-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
                 "virtual-resource-type": "vport",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "b57dc73e-e107-4913-9de2-d1a13b06b8b0"\r
+                "virtual-resource-entity-id": "2ec42067-0694-497f-8fd6-142d5e1e2820"\r
               }\r
             ]\r
           },\r
@@ -1648,11 +1465,11 @@ var MappingJson={
             "intent-type": "node",\r
             "virtual-resource": [\r
               {\r
-                "virtual-resource-id": "d43bd8d0-3564-46a6-a2b1-441bdd947543",\r
-                "parent-virtual-resource-entity-id": "6e77a772-602a-4e23-9275-522dd8b2fccb",\r
+                "virtual-resource-id": "dcba1206-0961-4571-89a5-a96bcdce2e50",\r
+                "parent-virtual-resource-entity-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
                 "virtual-resource-type": "vport",\r
                 "order": 0,\r
-                "virtual-resource-entity-id": "56d54ad9-1d55-455d-828c-add02f9cfbd3"\r
+                "virtual-resource-entity-id": "fe8a0153-2a95-4473-8b62-16a6542c9212"\r
               }\r
             ]\r
           }\r
@@ -1661,4 +1478,300 @@ var MappingJson={
       }\r
     ]\r
   }\r
+}\r
+var PnMappingJson={\r
+  "vn-pn-mapping-results": {\r
+    "user-vn-pn-mapping": [\r
+      {\r
+        "virtual-network-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",\r
+        "vn-pn-mapping-result": [\r
+          {\r
+            "virtual-resource-entity-id": "78baf6e4-5df3-45b2-be20-107844d71d87",\r
+            "parent-physical-resource-entity-id": "openflow:2",\r
+            "parent-virtual-resource-entity-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
+            "virtual-resource-id": "ad67bbcf-030a-44cb-8694-a25007ce05e3",\r
+            "physical-resource-id": "e8135c7c-a1e0-41c0-843b-9c2d4bd87761",\r
+            "physical-resource-entity-id": "openflow:2:1",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "fad38c1a-153b-4814-bf12-8d40887808b3",\r
+            "virtual-resource-id": "01b5783e-db6e-4103-83c9-2445f5a72752",\r
+            "physical-resource-id": "f856a1c9-9c1d-4e9f-873e-1a4543b195f0",\r
+            "physical-resource-entity-id": "c231b5a3-7752-4f78-b8eb-b023ad4bea2f",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "fe8a0153-2a95-4473-8b62-16a6542c9212",\r
+            "parent-physical-resource-entity-id": "openflow:2",\r
+            "parent-virtual-resource-entity-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+            "virtual-resource-id": "e8121faa-0109-4cec-89ef-54a3bfcd78ff",\r
+            "physical-resource-id": "b1682914-fb2b-4bbb-b5a0-a9bd43fbfa3e",\r
+            "physical-resource-entity-id": "openflow:2:2",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
+            "virtual-resource-id": "fa7d0f51-3a65-46a6-a428-a1d6fc927c1f",\r
+            "physical-resource-id": "f992d18f-1d8a-43fb-9b4f-e2c7d63210e8",\r
+            "physical-resource-entity-id": "openflow:3",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "5467514b-9598-4767-8c76-f8e9d23a69b3",\r
+            "virtual-resource-id": "f702bebc-725a-41c2-89e4-06bcde838282",\r
+            "physical-resource-id": "a1836436-17ff-495f-be9a-39e44bb77e26",\r
+            "physical-resource-entity-id": "3b9d1480-df24-4b0b-ba58-8c92605fe917",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "6632b4c7-a794-4e14-a2c7-872e81277d94",\r
+            "virtual-resource-id": "9b3fe3f6-2959-460c-a354-7d3ccc571554",\r
+            "physical-resource-id": "2d70ca54-9b42-47dc-8632-0c69c1e72e01",\r
+            "physical-resource-entity-id": "cb9b13ad-0172-43f5-9678-69859698071d",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "3909140b-cd9d-4dce-a82f-a8b16d33f20b",\r
+            "virtual-resource-id": "6b6250dd-2f79-424a-b6d0-4a80b8059e20",\r
+            "physical-resource-id": "f43d01be-ea31-40d1-9263-f019f78ccf12",\r
+            "physical-resource-entity-id": "5fc169b2-1209-4663-92c3-031100923f6f",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
+            "virtual-resource-id": "6b91164b-81fd-4781-9042-d09ee6eac4da",\r
+            "physical-resource-id": "39f2ba50-661b-484a-91b2-53a845bbe0f2",\r
+            "physical-resource-entity-id": "openflow:1",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "1b10a84d-247c-40b7-b4e6-6e3e0b140cda",\r
+            "parent-physical-resource-entity-id": "openflow:4",\r
+            "parent-virtual-resource-entity-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
+            "virtual-resource-id": "0b34cbe8-20ab-49f6-b717-b9e878670581",\r
+            "physical-resource-id": "dded9100-be4c-4fb9-9e70-656bf3845309",\r
+            "physical-resource-entity-id": "openflow:4:2",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
+            "virtual-resource-id": "98787bce-8bad-480b-a786-47932246ec4f",\r
+            "physical-resource-id": "f0c5e55f-2256-4e01-b8b7-6fea603c90ba",\r
+            "physical-resource-entity-id": "openflow:2",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
+            "virtual-resource-id": "4f7de648-9a9a-4e4a-ac41-01e6b2ff146a",\r
+            "physical-resource-id": "e50ff1b1-e386-45d8-8ff3-70edb1cd4dbf",\r
+            "physical-resource-entity-id": "openflow:2",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "316d4aa1-88ff-4b4b-bff2-fa8089f04e83",\r
+            "virtual-resource-id": "072ec5ca-4e7c-47ab-934b-709de978b85c",\r
+            "physical-resource-id": "3deee815-b701-4a21-b65d-d1d55ff755ef",\r
+            "physical-resource-entity-id": "ba0726d2-c72f-4b3e-b972-72da39430537",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "866bf38c-8a6b-4c73-8d7b-74b02797171d",\r
+            "virtual-resource-id": "a368c2b2-8bbb-4927-8966-bb4e02e8258e",\r
+            "physical-resource-id": "5a9223b1-3a6a-4dbb-9f34-d3b1449f9dae",\r
+            "physical-resource-entity-id": "6657f46b-edd2-47fe-b3fc-7b5aa16c7b97",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "f24926ee-586f-4434-a56c-b0e77c2b6031",\r
+            "virtual-resource-id": "72f002b8-3dab-4c04-ad66-646453f62337",\r
+            "physical-resource-id": "23686c36-42b7-4ece-a626-c497f8817a93",\r
+            "physical-resource-entity-id": "f84b9fda-b3f6-4631-a829-5089274093b0",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "110d2527-b282-4126-932f-8c2b9d728f82",\r
+            "virtual-resource-id": "145fea68-5f44-4732-91da-91f0db169e49",\r
+            "physical-resource-id": "f62b400e-c849-4c18-8a2f-3b2a841ff7e4",\r
+            "physical-resource-entity-id": "aab18b50-3bf6-4fde-aac1-968ffe22f518",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "c0284004-7b36-4bda-ab98-3f33a67655db",\r
+            "parent-physical-resource-entity-id": "openflow:1",\r
+            "parent-virtual-resource-entity-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
+            "virtual-resource-id": "b8ab2d49-ff0c-4891-87a6-1980ad83c7c3",\r
+            "physical-resource-id": "211d94d3-c4c7-40b7-9c2e-90ff5a4d976a",\r
+            "physical-resource-entity-id": "openflow:1:2",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "b19b3f5c-0fb3-4dca-98b5-5136b406e988",\r
+            "virtual-resource-id": "b5dc7980-2332-47d4-80d2-0737f28639d2",\r
+            "physical-resource-id": "8bca1f44-3f1f-4271-8079-dd854c9702d2",\r
+            "physical-resource-entity-id": "847ce4e6-d631-4d90-b2f3-dcfd56dbce3a",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "8295f474-0788-4431-ab0d-124b0c3d0b5f",\r
+            "virtual-resource-id": "04a08cc1-af4a-4fbb-90f4-b964b9d07abd",\r
+            "physical-resource-id": "fa3d22e1-7957-4e7f-86d5-4cb12f035620",\r
+            "physical-resource-entity-id": "e0f22266-e0c2-4467-b143-800a7b212a98",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
+            "virtual-resource-id": "0c9f60d7-a7e1-423c-88bf-28fa793ecb00",\r
+            "physical-resource-id": "d175b146-c4fc-4069-82b9-853131e8023f",\r
+            "physical-resource-entity-id": "openflow:3",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "8b2218cf-fbbb-4e14-85ca-694ceac1edfb",\r
+            "virtual-resource-id": "c6078cf6-9ed4-4046-b994-4dc4e0b88dd5",\r
+            "physical-resource-id": "86d6d843-7f35-49e1-a344-0c602017ac5d",\r
+            "physical-resource-entity-id": "eaa935ac-c511-4541-80cd-4a1640ae2246",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "ae7131f1-7207-4693-a149-e497738b1081",\r
+            "virtual-resource-id": "b34e2039-44f1-458e-a731-6061bbfc76bb",\r
+            "physical-resource-id": "25dad0dc-0b3e-4dca-83b9-ca1118ae9ff1",\r
+            "physical-resource-entity-id": "61c4597d-02a5-4609-8756-955024691a17",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "98d7b523-9532-4974-825e-c91aa402fe28",\r
+            "virtual-resource-id": "9d3cc16c-ce20-484a-8d2f-b083ed077ef7",\r
+            "physical-resource-id": "56b4a39c-c1c3-4eba-9b80-1e37948e6461",\r
+            "physical-resource-entity-id": "765e80be-6232-498d-b095-3b2c59448535",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
+            "virtual-resource-id": "33393811-e461-4d55-aeda-837cdafad7c5",\r
+            "physical-resource-id": "e001fe0a-e035-4106-8dda-883445e15352",\r
+            "physical-resource-entity-id": "openflow:3",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "92e5487b-ef90-4769-9ca8-10f60ab43c83",\r
+            "virtual-resource-id": "0ce90b95-dbc5-40fe-aa62-0609b9dee100",\r
+            "physical-resource-id": "c0a078ad-c7dc-4aad-80a1-4d7fad5f028e",\r
+            "physical-resource-entity-id": "4fdc5a09-ceca-461a-b3d3-1c3a9506dc74",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "4b591338-e82f-4b8b-a7c4-afb241549455",\r
+            "virtual-resource-id": "f3f73508-a241-4a76-af48-7bd706cfd4ea",\r
+            "physical-resource-id": "7041697c-fe57-4baa-8548-2412d41a830b",\r
+            "physical-resource-entity-id": "23f80b16-76d1-424c-9a71-aacd60a62bcd",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "16e4dfd8-74e4-44ba-8a7d-0ddba8e00b52",\r
+            "virtual-resource-id": "e668751f-13b0-4816-80b1-643bd08130db",\r
+            "physical-resource-id": "1a328854-19ca-4331-b1cd-f8b915c9553f",\r
+            "physical-resource-entity-id": "a710b9b8-5abf-4c59-9afd-88ccf8d935b0",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
+            "virtual-resource-id": "9bd4be7b-98ea-4f08-ac8c-d81880fe7727",\r
+            "physical-resource-id": "f03f81e3-87ff-40bd-99ce-7ade5df4bae5",\r
+            "physical-resource-entity-id": "openflow:4",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "63d55804-3204-4119-8187-7bd794061986",\r
+            "virtual-resource-id": "479e807e-138e-45ba-a02b-76e75ee5482c",\r
+            "physical-resource-id": "6010e2df-e031-4f50-8f56-f152347ddda5",\r
+            "physical-resource-entity-id": "7b875b56-ce40-4fcd-ac76-b361d0311d8f",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "c00198e9-8b1c-4f12-84f2-5ddc5bbee995",\r
+            "virtual-resource-id": "14e197fa-0c67-427c-bfb9-da053aa4bf62",\r
+            "physical-resource-id": "ba0cda05-e69b-4f43-bfcd-6ea46dc95775",\r
+            "physical-resource-entity-id": "4ce046d2-0c20-43c7-b7f8-fa441e07d443",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "2ec42067-0694-497f-8fd6-142d5e1e2820",\r
+            "parent-physical-resource-entity-id": "openflow:1",\r
+            "parent-virtual-resource-entity-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
+            "virtual-resource-id": "87ead73f-ac56-473b-9de2-5e2755a781c2",\r
+            "physical-resource-id": "2fc96459-bd96-4010-ab12-4bb81b6639ed",\r
+            "physical-resource-entity-id": "openflow:1:1",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "89f43bd8-e6f7-4aea-9fb2-936f6255bf4b",\r
+            "parent-physical-resource-entity-id": "openflow:3",\r
+            "parent-virtual-resource-entity-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
+            "virtual-resource-id": "52101662-9a12-4e67-b35e-3389e0e19faf",\r
+            "physical-resource-id": "e4e39b0b-3e94-49e2-9056-af969c866a2a",\r
+            "physical-resource-entity-id": "openflow:3:4",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "ad1e1487-59a5-4fc1-8680-7a1e4d1aaf1a",\r
+            "virtual-resource-id": "514d8aa7-df8a-4fbe-83a7-596663b67f6d",\r
+            "physical-resource-id": "7b88b0b2-af4b-4de4-892c-52ec34103ed7",\r
+            "physical-resource-entity-id": "bdd1e0cb-72aa-4f04-a2db-a07a15c62d61",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "8cb78a59-146d-48f6-90e0-6fda9165a901",\r
+            "virtual-resource-id": "62e24268-8d6b-4832-baa3-0756ccd16140",\r
+            "physical-resource-id": "e6d0bdcb-6b5a-449c-97cd-aceeb58ce72f",\r
+            "physical-resource-entity-id": "cb3de13d-cd6f-4f32-9596-09ddbb6d1c44",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
+            "virtual-resource-id": "48cf54ae-11e7-46bd-a1e0-2747853d2e1f",\r
+            "physical-resource-id": "5af260e5-7b06-4552-94d1-34643d4200df",\r
+            "physical-resource-entity-id": "openflow:1",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          }\r
+        ],\r
+        "user-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b"\r
+      }\r
+    ]\r
+  }\r
 }
\ No newline at end of file
index 7b16985d7cb717c0f4dd0c2ea82c883d07af3ada..76b884d87d674091dc407cd78e8f94a47400300e 100644 (file)
@@ -1,4 +1,3 @@
-var keyWords=['Create','Import','Host','Node','Connection','Flow','Operation','Type','Endnodes','Property','Contain','Match','Target','Action'];\r
 var userinfo ={\r
   "users": {\r
     "user": [\r
@@ -1022,7 +1021,7 @@ var virtualJson={
     ]\r
   }\r
 }\r
-var MappingJson={\r
+var VnMappingJson={\r
   "intent-vn-mapping-results": {\r
     "user-intent-vn-mapping": [\r
       {\r
@@ -1167,4 +1166,152 @@ var MappingJson={
       }\r
     ]\r
   }\r
+}\r
+var PnMappingJson={\r
+  "vn-pn-mapping-results": {\r
+    "user-vn-pn-mapping": [\r
+      {\r
+        "virtual-network-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b",\r
+        "vn-pn-mapping-result": [\r
+          {\r
+            "virtual-resource-entity-id": "9b65b6f6-9c92-46e2-86f3-933676206e1d",\r
+            "parent-physical-resource-entity-id": "openflow:4",\r
+            "parent-virtual-resource-entity-id": "44305036-d993-4976-abfa-1e82c3b75a51",\r
+            "virtual-resource-id": "910be96e-d7e7-4f14-a2fe-b5478bd583bc",\r
+            "physical-resource-id": "2f01db70-a8aa-4fcd-b883-5602f5125bc5",\r
+            "physical-resource-entity-id": "openflow:4:2",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "0450b59e-91c2-42f2-9697-80970d4ed026",\r
+            "virtual-resource-id": "d94f7999-f9e2-49c6-ad0d-99a5af8b21a9",\r
+            "physical-resource-id": "01603373-1388-4190-a050-80237c58ae37",\r
+            "physical-resource-entity-id": "64b3082a-7ddb-40fd-84fa-f53790805136",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "894146c9-06a8-4236-8119-1de3e506b623",\r
+            "virtual-resource-id": "9b412958-fb19-410b-b4fb-8cda3f6c3e71",\r
+            "physical-resource-id": "a3f6817a-93dc-4867-930f-3190ef70c674",\r
+            "physical-resource-entity-id": "openflow:2",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "08d94078-3886-4a90-86a4-2ddd29ffda96",\r
+            "virtual-resource-id": "3a88f440-2311-4558-ba9e-0ce6eea3e2c1",\r
+            "physical-resource-id": "0273520a-a23c-4b4d-8839-98a6fbedd1d2",\r
+            "physical-resource-entity-id": "openflow:3",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "7a90c045-e399-4fb6-b49e-e2c413470de5",\r
+            "parent-physical-resource-entity-id": "openflow:3",\r
+            "parent-virtual-resource-entity-id": "08d94078-3886-4a90-86a4-2ddd29ffda96",\r
+            "virtual-resource-id": "c03b4d15-db09-4513-8c95-7e4051560d50",\r
+            "physical-resource-id": "6cda0d4e-fc8b-46e1-9580-a196a081483e",\r
+            "physical-resource-entity-id": "openflow:3:4",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "050a588d-db12-4aa1-abe1-eaa313c35147",\r
+            "virtual-resource-id": "4ab1d100-bdc7-4eb1-b033-368d109cfce2",\r
+            "physical-resource-id": "6f69aff7-ba44-4460-95ad-1f8fa7a834ff",\r
+            "physical-resource-entity-id": "54ef405b-7b11-400e-8711-9b8c8e978b64",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "44305036-d993-4976-abfa-1e82c3b75a51",\r
+            "virtual-resource-id": "d7590227-441d-4cb8-a3bd-bf59c51f3a2c",\r
+            "physical-resource-id": "3d514751-7cb5-4bf2-87bb-4c1ab372b497",\r
+            "physical-resource-entity-id": "openflow:4",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "85f17105-afd4-4c2a-88d1-6249138c19af",\r
+            "virtual-resource-id": "63538a62-2a11-4e15-8807-494152d5b8c2",\r
+            "physical-resource-id": "3202b6f6-0ed4-41d5-bf0e-517f92dac129",\r
+            "physical-resource-entity-id": "b014a856-cca5-4906-b964-fc8fc20d5e49",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "69a46c69-196d-44d8-979d-59d9f7fcb602",\r
+            "parent-physical-resource-entity-id": "openflow:2",\r
+            "parent-virtual-resource-entity-id": "894146c9-06a8-4236-8119-1de3e506b623",\r
+            "virtual-resource-id": "d3595475-0c37-438e-8e07-08881bcaf198",\r
+            "physical-resource-id": "93f0bb6b-6ffe-480c-9d89-5bb039283310",\r
+            "physical-resource-entity-id": "openflow:2:2",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "6270a5e1-58e1-4fc3-adce-189fd2974312",\r
+            "virtual-resource-id": "77cf97be-f334-440a-a8e0-1fbae2f51c7f",\r
+            "physical-resource-id": "e7eeb731-8f70-4c82-b687-241f386f5d7c",\r
+            "physical-resource-entity-id": "64b921cd-45cd-4fa0-8d79-c11c2a2ccdcf",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "8100299f-6056-44b8-8090-2fcba7b12613",\r
+            "virtual-resource-id": "c51c3c99-6caf-4148-b5c7-ffaffdef558b",\r
+            "physical-resource-id": "4da6cd9c-9296-4200-b23c-712fd1dd228e",\r
+            "physical-resource-entity-id": "3b0c9693-be27-4483-b26a-5c4f003d3bd8",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "6fa0ecb5-2286-4a61-bf89-a9aa77ac7329",\r
+            "virtual-resource-id": "aa54c1a2-4393-4127-b527-5cdecd0e93ad",\r
+            "physical-resource-id": "a73d8c4f-17f0-4aa8-ab5f-c47f45bf91b0",\r
+            "physical-resource-entity-id": "openflow:1",\r
+            "physical-resource-type": "node",\r
+            "virtual-resource-type": "vnode"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "30607b91-7ba5-4840-8d2c-e5dbfee42017",\r
+            "virtual-resource-id": "e4bf7c05-d5af-45fd-a729-a2687918e668",\r
+            "physical-resource-id": "ec7e30a7-a48a-4996-bfd5-29334eeb46b7",\r
+            "physical-resource-entity-id": "caa9dc02-e8b2-4642-8ce1-ed8c25baf7a4",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "686e631a-016f-42c2-b496-10574354807e",\r
+            "virtual-resource-id": "aef8dbca-c55b-4f7b-9003-4b47d0534c76",\r
+            "physical-resource-id": "0026c3c3-f47c-4cb9-8903-045598909f06",\r
+            "physical-resource-entity-id": "e1e351a7-0e5d-424b-9015-051e7608ab2f",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "c4b88cd3-a0eb-4508-bc44-4539f8093e16",\r
+            "parent-physical-resource-entity-id": "openflow:1",\r
+            "parent-virtual-resource-entity-id": "6fa0ecb5-2286-4a61-bf89-a9aa77ac7329",\r
+            "virtual-resource-id": "452e1a62-4719-47f4-944f-b0b7a511fbbc",\r
+            "physical-resource-id": "3bc46d3f-9563-4bf3-a7da-476380415e07",\r
+            "physical-resource-entity-id": "openflow:1:1",\r
+            "physical-resource-type": "port",\r
+            "virtual-resource-type": "vport"\r
+          },\r
+          {\r
+            "virtual-resource-entity-id": "7c4ace2f-dfad-4ba7-8d05-b778550f809c",\r
+            "virtual-resource-id": "f470b3d9-7589-4df4-ba3a-a5ef9056257b",\r
+            "physical-resource-id": "375499ba-4348-4d43-b45f-ea342f2995c0",\r
+            "physical-resource-entity-id": "afe85a50-c5b1-4849-8d49-f1db58d40087",\r
+            "physical-resource-type": "path",\r
+            "virtual-resource-type": "vlink"\r
+          }\r
+        ],\r
+        "user-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b"\r
+      }\r
+    ]\r
+  }\r
 }
\ No newline at end of file
index 6a5725f52ecf24fef8e7394d989cfff3b6a032a8..289ae2474922b6a6bc9ed11e585c8bee3ec102d9 100644 (file)
@@ -6,10 +6,10 @@
     <link href="src/app/nemo/css/nemo_user_main.css" rel="stylesheet" />\r
     <link href="src/app/nemo/css/nemo_main.css" rel="stylesheet" />\r
 \r
-    <!-- // <script src="src/app/nemo/module/migrate_js.js"></script> -->\r
+     <!-- // <script src="src/app/nemo/module/migrate_js.js"></script> -->\r
     <script src="src/app/nemo/js/Nemo_Main.js"></script>\r
     <script src="src/app/nemo/module/keyWords.js"></script>\r
-    <script src="src/app/nemo/module/migrate.js"></script>\r
+    <!-- // <script src="src/app/nemo/module/migrate.js"></script> -->\r
     <!-- SFC -->\r
     <!-- // <script src="src/app/nemo/module/test/servicechain_userJson.js"></script>  -->\r
     <!-- Bod -->\r
@@ -31,7 +31,7 @@
         }\r
 \r
         jQuery(document).ready(function ($) {\r
-        var userNames=['myuser1','myuser2','myuser3'];\r
+        var userNames=['--default--'];\r
         jQuery.ajax({\r
             url: "/restconf/config/nemo-intent:users/",\r
             type: "GET",\r
         $(".tabs ul li[aria-controls='PhyNet']").click(function(){\r
              analy_topo(physicalData);\r
              create_physical_topo();\r
+             creataPhysicalTables.createPhyicalNodeTable('phyNodeTab',null)\r
+             creataPhysicalTables.createPhyicalLinkTable('phyLinkTab',null)\r
         });\r
-        \r
+\r
         $(".tabs ul li[aria-controls='PhyNet']").click();\r
 \r
         $(".tabs ul li[aria-controls='intent_info']").click(function(){\r
             //Bod\r
             //userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
              //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+            $('#service_svg2').empty();\r
+            $("#nemo_str_show").empty();\r
             console.log(userId);\r
+            if(!IntentInfos) return;\r
             var user_data = getIntentInfoById(userId);\r
-          // console.log(JSON.stringify(user_data));\r
+            if(!user_data) return;\r
+\r
             analyjson_topo(user_data);\r
             parseNemoLan(user_data);\r
         //set keyWords style\r
         $("#nemo_str_show p").each(function(){\r
             var $res=$(this);\r
             keyWords.forEach(function(item,index,array){\r
-                // console.log(item);\r
                 $res.html($res.html().replace(item,"<span class='keyWords'>"+item+"</span>"));\r
             });\r
         });\r
     });\r
 \r
         $(".tabs ul li[aria-controls='VirNet']").click(function(){\r
-            // alert('VirNet');\r
            // var virtualData=getVirtualJson();\r
             var userId=$("#selectUser option:selected").val();\r
-\r
+            jQuery('#vir_graph').empty();\r
+            jQuery("#virNodeTab").find('tr:gt(1)').empty();\r
+            jQuery("#virLinkTab").find('tr:gt(1)').empty();\r
             // SFC\r
             //userId='af4fc2be-e3f4-4388-a8ef-3aabae872f2b';\r
             //Bod\r
             //userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
 \r
-             //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
-            console.log(userId);\r
+            //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
             // virtualData=virtualJson;\r
+\r
+            if(!IntentInfos||!MappingResults||!VirtualDatas) return;\r
+            if(!getVirtualInfoById(userId)||!getIntentInfoById(userId)||!getMappingResultById(userId)) return;\r
             create_virtual_topo(getVirtualInfoById(userId),getIntentInfoById(userId),getMappingResultById(userId));\r
+            creataVirtualTables.createVirtualNodeTable('virNodeTab',getVirtualInfoById(userId));\r
+            creataVirtualTables.createVirtualLinkTable('virLinkTab',getVirtualInfoById(userId));\r
         });\r
+         // $(".tabs ul li[aria-controls='Mapping']").click();\r
         $(".tabs ul li[aria-controls='Mapping']").click(function(){\r
-            // alert('Mapping');\r
+            var userId=$("#selectUser option:selected").val();\r
+            //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+            jQuery("#mapVirNodeTab").find('tr:gt(1)').empty();\r
+            jQuery("#mapVirLinkTab").find('tr:gt(1)').empty();\r
+            if(!physicalData||!PnMappingResults||!VirtualDatas) return;\r
+            var virtualData = getVirtualInfoById(userId);\r
+            if(!virtualData) return;\r
+            if(!getPnMappingResultById(userId)) return;\r
+            // console.log(createMappingTables);\r
+              createMappingTables.createVirtualNodeTable('mapVirNodeTab',virtualData);\r
+            // console.log(linkArray);\r
+              createMappingTables.createVirtualLinkTable('mapVirLinkTab',virtualData,getPnMappingResultById(userId),physicalData);\r
+            // getPaths(linkArray,getPnMappingResultById(userId,PnMappingJson),physicalJson);\r
         });\r
 \r
-         // $(".tabs ul li[aria-controls='intent_info']").click();\r
-\r
         $('#selectUser input[type=button]').click(function(){\r
             // $(".tabs ul li[aria-controls='intent_info']").trigger('click');\r
             $('a[href="#intent_info"]').click();\r
             //userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
 \r
             //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+            if(!intent_info) return;\r
             var user_data = getIntentInfoById(userId);\r
-          // console.log(JSON.stringify(user_data));\r
+            if(!user_data) return;\r
             analyjson_topo(user_data);\r
             parseNemoLan(user_data);\r
         //set keyWords style\r
                 // console.log(item);\r
                 $res.html($res.html().replace(item,"<span class='keyWords'>"+item+"</span>"));\r
             });\r
-            // console.log($res.html());\r
         });\r
 \r
-            // alert(userName);\r
     });\r
+\r
         });\r
     </script>\r
 </head>\r
                     </ul>\r
                 <div id='PhyNet'>\r
                     <div id="phy_graph"></div>\r
+                    <div id='physicalTables'>\r
+                         <table id="phyNodeTab" border='1'>\r
+                    <caption>Physical Node</caption>\r
+                       <tr>\r
+                        <th>Physical Node ID</th><th>Physical Node Type</th>\r
+                        <th>Internal Physical Port Number</th><th>External Physical Port Number</th>\r
+                        </tr>\r
+                   </table>\r
+\r
+                    <table id="phyLinkTab" border='1'>\r
+                    <caption>Physical Link</caption>\r
+                       <tr>\r
+                        <th>Physical Link ID</th><th>Source Physical Node</th>\r
+                       <th>Destination Physical Node</th><th>Metric</th>\r
+                       <th>Bandwidth</th> <th>Delay</th>\r
+                       </tr>\r
+                   </table>\r
+                    </div>\r
                 </div>\r
 \r
                 <div id="intent_info">\r
                      <div id="intent_topo">\r
-                    <svg id="service_svg"  width="800" height="560"  viewBox="100 40 900 780" style='display:none'>\r
-                    <defs>\r
-                    <marker id="idArrow" viewBox="0 0 20 20" refX="0" refY="10" markerUnits="strokeWidth" markerWidth="6" markerHeight="15" orient="auto"><path d="M 0 0 L 20 10 L0 20 z"fill="purple"stroke="black"/> </marker>\r
-                    <marker id="idtext" viewBox="0 0 120 50" refX="0" refY="0" markerUnits="strokeWidth" markerWidth="20" markerHeight="20"  orient="auto"><text style="font-family:sans-serif; font-size:14pt;"  x="20" y="20">text</text></marker>  \r
-                    </defs>\r
-                    </svg>\r
-\r
+                    \r
                     <svg id="service_svg2"  width="800" height="560"  viewBox="100 40 900 780">\r
                     <defs>\r
                     <marker id="idArrow2" viewBox="0 0 20 20" refX="0" refY="10" markerUnits="strokeWidth" markerWidth="6" markerHeight="15" orient="auto"><path d="M 0 0 L 20 10 L0 20 z"fill="purple"stroke="black"/> </marker>\r
                    </div>\r
                </div>\r
 \r
-               <div id="VirNet"><div id="vir_graph"></div></div>\r
-               <div id="Mapping"></div>\r
+               <div id="VirNet">\r
+                <div id="vir_graph"></div>\r
+                <div id='virtualTables'>\r
+                         <table id="virNodeTab" border='1'>\r
+                    <caption>Virtual Node</caption>\r
+                       <tr>\r
+                        <th>Virtual Node ID</th><th>Virtual Node Name</th>\r
+                        <th>Virtual Node Type</th>\r
+                        <th>Internal Virtual Port Number</th><th>External Virtual Port Number</th>\r
+                        </tr>\r
+                   </table>\r
+\r
+                    <table id="virLinkTab" border='1'>\r
+                    <caption>Virtual Link</caption>\r
+                       <tr>\r
+                        <th>Virtual Link ID</th><th>Virtual Link Name</th>\r
+                        <th>Source Virtual Node</th>\r
+                       <th>Destination Virtual Node</th>\r
+                       <!-- <th>Metric</th> -->\r
+                       <th>Bandwidth</th> <th>Delay</th>\r
+                       </tr>\r
+                   </table>\r
+                    </div>\r
+               </div>\r
+               <div id="Mapping">\r
+                   <table id="mapVirNodeTab" border='1'>\r
+                    <caption>Virtual Node Mapping Table</caption>\r
+                       <tr><th>Virtual Node</th><th>Physical Node</th></tr>\r
+                   </table>\r
+\r
+                    <table id="mapVirLinkTab" border='1'>\r
+                    <caption>Virtual Link Mapping Table</caption>\r
+                       <tr>\r
+                        <th>Virtual Link</th><th>Source Virtual Node</th>\r
+                       <th>Destination Virtual Node</th><th>Physical Path</th>\r
+                       <th>Physical Nodes passed by Path</th>\r
+                       </tr>\r
+                   </table>\r
+               </div>\r
         </div>\r
 \r
 \r
index 83b27d02bf00ec8e1cccd7cb51951f2c8f175d96..d1a1aaeccd7ae96a665fe4e7bdb3e816082e2b26 100644 (file)
@@ -5,15 +5,13 @@
     <link href="src/app/nemo/css/jquery-ui.min.css" rel="stylesheet" />\r
     <link href="src/app/nemo/css/nemo_user_main.css" rel="stylesheet" />\r
 \r
-    <script src="lib/jquery-1.11.3.js"></script>\r
-    <script src="lib/jquery-ui.min.js"></script>\r
-    <script src="lib/vis.js"></script>\r
+    <!-- // <script src="src/app/nemo/module/migrate.js"></script> -->\r
 \r
     <script src="src/app/nemo/module/keyWords.js"></script>\r
     <!-- // <script src="src/app/nemo/module/bod_userJson.js"></script> -->\r
     <script src="src/app/nemo/js/Nemo_Main.js"></script>\r
     <script src="src/app/nemo/js/Nemo_Annouce_vis.js"></script>\r
-    <!-- // <script src="src/app/nemo/js/phyNetwork.js"></script> -->\r
+    <script src="src/app/nemo/js/phyNetwork.js"></script>\r
     <script src="src/app/nemo/js/intentTopo.js"></script>\r
 \r
     <script>\r