Remove the user interface feature 78/70178/1
authorFaseela K <faseela.k@ericsson.com>
Thu, 29 Mar 2018 05:11:35 +0000 (10:41 +0530)
committerFaseela K <faseela.k@ericsson.com>
Thu, 29 Mar 2018 05:11:35 +0000 (10:41 +0530)
DLUX is no longer maintained and will be archived, so remove the user
interface feature to get rid of the dependency. This is required for
becoming a Managed Project, since nemo can only depend on
other Managed Projects, and DLUX didn't request to become managed.

See https://lists.opendaylight.org/pipermail/release/2018-March/014520.html

Change-Id: Ie1f968acebc3b0c2fd6c3c0f7e7a897166630beb
Signed-off-by: Faseela K <faseela.k@ericsson.com>
48 files changed:
nemo-artifacts/pom.xml
nemo-features/nemo-features/pom.xml
nemo-features/odl-nemo-engine-ui/pom.xml [deleted file]
nemo-features/pom.xml
nemo-ui/pom.xml [deleted file]
nemo-ui/src/main/resources/OSGI-INF/blueprint/blueprint.xml [deleted file]
nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_f6f6f6_1x400.png [deleted file]
nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_fdf5ce_1x400.png [deleted file]
nemo-ui/src/main/resources/nemo/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png [deleted file]
nemo-ui/src/main/resources/nemo/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png [deleted file]
nemo-ui/src/main/resources/nemo/css/jquery-ui.min.css [deleted file]
nemo-ui/src/main/resources/nemo/css/nemo_main.css [deleted file]
nemo-ui/src/main/resources/nemo/css/nemo_user_main.css [deleted file]
nemo-ui/src/main/resources/nemo/css/register.css [deleted file]
nemo-ui/src/main/resources/nemo/images/NEMO_model.png [deleted file]
nemo-ui/src/main/resources/nemo/images/cache.png [deleted file]
nemo-ui/src/main/resources/nemo/images/ext-group.png [deleted file]
nemo-ui/src/main/resources/nemo/images/fw.png [deleted file]
nemo-ui/src/main/resources/nemo/images/host.png [deleted file]
nemo-ui/src/main/resources/nemo/images/lb.png [deleted file]
nemo-ui/src/main/resources/nemo/images/logo_nemo.png [deleted file]
nemo-ui/src/main/resources/nemo/images/nemo-overview.png [deleted file]
nemo-ui/src/main/resources/nemo/images/phyHos_t.png [deleted file]
nemo-ui/src/main/resources/nemo/images/phyHost.png [deleted file]
nemo-ui/src/main/resources/nemo/images/ui-bg_diagonals-thick_20_666666_40x40.png [deleted file]
nemo-ui/src/main/resources/nemo/images/ui-bg_glass_65_ffffff_1x400.png [deleted file]
nemo-ui/src/main/resources/nemo/images/ui-bg_gloss-wave_35_f6a828_500x100.png [deleted file]
nemo-ui/src/main/resources/nemo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png [deleted file]
nemo-ui/src/main/resources/nemo/images/vmhost.png [deleted file]
nemo-ui/src/main/resources/nemo/js/Nemo_Annouce_vis.js [deleted file]
nemo-ui/src/main/resources/nemo/js/Nemo_Main.js [deleted file]
nemo-ui/src/main/resources/nemo/js/intentTopo.js [deleted file]
nemo-ui/src/main/resources/nemo/js/phyNetwork.js [deleted file]
nemo-ui/src/main/resources/nemo/js/virNetwork.js [deleted file]
nemo-ui/src/main/resources/nemo/js/vnMapping.js [deleted file]
nemo-ui/src/main/resources/nemo/module/keyWords.js [deleted file]
nemo-ui/src/main/resources/nemo/module/migrate.js [deleted file]
nemo-ui/src/main/resources/nemo/module/migrate_js.js [deleted file]
nemo-ui/src/main/resources/nemo/module/test/bod_userJson.js [deleted file]
nemo-ui/src/main/resources/nemo/module/test/servicechain_userJson.js [deleted file]
nemo-ui/src/main/resources/nemo/nemo.controller.js [deleted file]
nemo-ui/src/main/resources/nemo/nemo.directives.js [deleted file]
nemo-ui/src/main/resources/nemo/nemo.module.js [deleted file]
nemo-ui/src/main/resources/nemo/nemo.services.js [deleted file]
nemo-ui/src/main/resources/nemo/nemo.tpl.html [deleted file]
nemo-ui/src/main/resources/nemo/nemo.tpl.user.html [deleted file]
nemo-ui/src/main/resources/nemo/register.html [deleted file]
pom.xml

index a809bf674659ad6686fb8defa42d72b98ba6d035..2aa754bfd57400abb0b18b71b3ab0d1e88886387 100644 (file)
@@ -46,11 +46,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <artifactId>cli-renderer</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <dependency>
-        <groupId>${project.groupId}</groupId>
-        <artifactId>nemo-ui</artifactId>
-        <version>${project.version}</version>
-      </dependency>
       <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>nemo-features</artifactId>
index 34adc6d9a8983404978c5c2bfde4cb1e771db398..00de26376de5073a93cb00be09f84fad3d2a4c67 100644 (file)
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-nemo-engine-ui</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
     </dependencies>
 </project>
diff --git a/nemo-features/odl-nemo-engine-ui/pom.xml b/nemo-features/odl-nemo-engine-ui/pom.xml
deleted file mode 100644 (file)
index 5714844..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright © 2017 Red Hat, Inc. and others.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.opendaylight.odlparent</groupId>
-        <artifactId>single-feature-parent</artifactId>
-        <version>3.0.2</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>org.opendaylight.nemo</groupId>
-    <artifactId>odl-nemo-engine-ui</artifactId>
-    <version>1.5.0-SNAPSHOT</version>
-    <packaging>feature</packaging>
-
-    <name>OpenDaylight :: NEMO :: Engine :: UI</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.opendaylight.dlux</groupId>
-            <artifactId>odl-dlux-core</artifactId>
-            <version>0.8.0-SNAPSHOT</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>odl-nemo-engine-rest</artifactId>
-            <version>${project.version}</version>
-            <type>xml</type>
-            <classifier>features</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.nemo</groupId>
-            <artifactId>nemo-ui</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
index 583fb74ac3e740dafa8f15785bd19fcc349405b7..75ab92a31d199d16df41f0e514ac04c1d1f88267 100644 (file)
@@ -32,7 +32,6 @@
         <module>odl-nemo-engine-rest</module>
         <module>odl-nemo-openflow-renderer</module>
         <module>odl-nemo-cli-renderer</module>
-        <module>odl-nemo-engine-ui</module>
     </modules>
 
     <scm>
diff --git a/nemo-ui/pom.xml b/nemo-ui/pom.xml
deleted file mode 100644 (file)
index 38f1d67..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (c) 2015 Huawei, Inc and others. All rights reserved.
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.mdsal</groupId>
-    <artifactId>binding-parent</artifactId>
-    <version>0.13.0-SNAPSHOT</version>
-    <relativePath />
-  </parent>
-
-  <groupId>org.opendaylight.nemo</groupId>
-  <artifactId>nemo-ui</artifactId>
-  <version>1.5.0-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-  <!-- <name> formatting is used by autorelease to parse and notify projects on
-       build failure. Please do not modify this unless you have a good reason. -->
-  <name>ODL :: nemo :: ${project.artifactId}</name>
-
-  <properties>
-    <dlux.version>0.8.0-SNAPSHOT</dlux.version>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.dlux</groupId>
-      <artifactId>loader</artifactId>
-      <version>${dlux.version}</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <resources>
-      <resource>
-        <directory>target/generated-resources</directory>
-      </resource>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>unpack-loader-resources</id>
-            <goals>
-              <goal>unpack-dependencies</goal>
-            </goals>
-            <phase>generate-resources</phase>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
-              <groupId>org.opendaylight.nemo</groupId>
-              <includeArtifactIds>nemo-ui</includeArtifactIds>
-              <excludes>META-INF\/**</excludes>
-              <excludeTransitive>true</excludeTransitive>
-              <ignorePermissions>false</ignorePermissions>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Import-Package>
-              org.osgi.service.http,
-              org.osgi.framework;version="1.0.0",
-              org.opendaylight.dlux.loader,
-              org.slf4j
-            </Import-Package>
-            <Export-Package></Export-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
-    <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
-    <tag>HEAD</tag>
-  </scm>
-</project>
diff --git a/nemo-ui/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/nemo-ui/src/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100644 (file)
index 02eaabc..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-       <reference id="httpService" availability="mandatory" activation="eager" interface="org.osgi.service.http.HttpService"/>
-    <reference id="loader" availability="mandatory" activation="eager" interface="org.opendaylight.dlux.loader.DluxModuleLoader"/>
-
-    <bean id="bundle" init-method="initialize" destroy-method="clean" class="org.opendaylight.dlux.loader.DluxModule">
-      <property name="httpService" ref="httpService"/>
-      <property name="loader" ref="loader"/>
-      <property name="moduleName" value="nemo"/>
-      <property name="url" value="/src/app/nemo"/>
-      <property name="directory" value="/nemo"/>
-      <property name="requireJs" value="app/nemo/nemo.module"/>
-      <property name="angularJs" value="app.nemo"/>
-       <property name="cssDependencies">
-            <list>
-                 <!--value>src/app/nemo/css/nemo_main.css</value>
-                 <value>src/app/nemo/css/NE.css</value>
-                 <value>src/app/nemo/css/SI.css</value>
-                 <value>src/app/nemo/css/SP.css</value>
-                 <value>src/app/nemo/css/jquery-ui.min.css</value-->
-            </list>
-       </property>
-
-
-    </bean>
-</blueprint>
\ No newline at end of file
diff --git a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_f6f6f6_1x400.png b/nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_f6f6f6_1x400.png
deleted file mode 100644 (file)
index 0fccfbc..0000000
Binary files a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_f6f6f6_1x400.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_fdf5ce_1x400.png b/nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_fdf5ce_1x400.png
deleted file mode 100644 (file)
index d789996..0000000
Binary files a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_glass_100_fdf5ce_1x400.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/nemo-ui/src/main/resources/nemo/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png
deleted file mode 100644 (file)
index 06a7321..0000000
Binary files a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/nemo-ui/src/main/resources/nemo/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
deleted file mode 100644 (file)
index 2561545..0000000
Binary files a/nemo-ui/src/main/resources/nemo/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/css/jquery-ui.min.css b/nemo-ui/src/main/resources/nemo/css/jquery-ui.min.css
deleted file mode 100644 (file)
index 3646534..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.11.4 - 2015-03-11
-* http://jqueryui.com
-* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
-* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{color:black;padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ccc;background:#ccc url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}
diff --git a/nemo-ui/src/main/resources/nemo/css/nemo_main.css b/nemo-ui/src/main/resources/nemo/css/nemo_main.css
deleted file mode 100644 (file)
index 4149fbf..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-.btn_\r
-{\r
-    color:white;\r
-    border-radius: 6px;\r
-    -moz-border-radius: 6px;\r
-    -webkit-border-radius: 6px;\r
-    -moz-box-shadow: 2px 2px 2px rgba(0,0,0,0.6);\r
-    -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,0.6);\r
-    text-shadow: -1px -1px 1px rgba(0,0,0,0.5);\r
-    border-bottom: 1px solid rgba(0,0,0,0.25);\r
-    border-right: 1px solid rgba(0,0,0,0.25);\r
-    cursor:pointer;\r
-    font-size:15px;\r
-    background-color: #939;\r
-    /*background-color: #F8B64B;*/\r
-    font-family:Arial,Verdana;\r
-    width:50px;\r
-    height:25px;\r
-}\r
-span.key\r
-{\r
-    display:normal;\r
-    font-size:13px;\r
-    color:red;\r
-}\r
-.header p{\r
-  float: left;\r
-}\r
-.header span{\r
-  color:#000 !important;\r
-  text-shadow:0 0 0 #fff;\r
-  text-decoration: underline;\r
-  /*text-decoration-color:green;*/\r
-  /*border-bottom:1px solid green;*/\r
-  font-weight: normal;\r
-  font-size: 18px;\r
-  line-height: 30px;\r
-  display: inline-block;\r
-  margin-left: 20px;\r
-  cursor: pointer;\r
-  font-family:'cursive','-webkit-pictograp',sans-serif,Verdana;\r
-}\r
-#selectUser{\r
-width: 290px;\r
-height: 30px;\r
-float: right;\r
-}\r
-#selectUser p{\r
-font-size: 22px;\r
-font-weight: 500;\r
-font-family: Times;\r
-line-height: 28px;\r
-text-shadow:1px 1px 1px #aaa;\r
-}\r
-#selectUser select{\r
-  width: 140px;\r
-  height: 28px;\r
-  margin-left: 5px;\r
-  margin-right: 5px;\r
-  background: #ccc;\r
-  font-size: 20px;\r
-  /*float: left;*/\r
-}\r
-#selectUser *:last-child{\r
-  width: 60px;\r
-  height: 28px;\r
-  line-height: 30px;\r
-}\r
-.group{\r
-height: auto;\r
-background-color: rgba(0,0,0,0);\r
- margin-bottom: 15px;\r
-}\r
-#intentinfo{\r
-  height: 920px;\r
-\r
-}\r
-#PhyNet{\r
-  width: 850px;\r
-  margin: 20px auto;\r
- /* background: #fff;\r
-  height: 550px;\r
-  border: 1px solid #aaa;*/\r
-}\r
-#VirNet{\r
-  width: 850px;\r
-  margin: 20px auto;\r
-/*  background: #fff;\r
-  height: 550px;\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
-}\r
-#nemo_str_show{\r
-  height: 200px !important;\r
-  width:923px !important;\r
-  line-height: 10px;\r
-}\r
-#mappingTable{\r
-  width: 850px;\r
-  margin: 0px auto;\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
-  width: 820px;\r
-  margin-bottom: 2px;\r
-   table-layout: fixed;\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
-   padding:2px 0px;\r
-   font-weight: bold;\r
-   background-color: #ccc;\r
-}\r
-.group table th,.group table td{\r
-  text-align: center;\r
-   font-size: 15px;\r
-}\r
-table#virNodeTab,table#virLinkTab{\r
-  table-layout: fixed;\r
-}\r
-table#virNodeTab td,table#virLinkTab td{\r
- white-space: nowrap;\r
- overflow: hidden;\r
- text-overflow:ellipsis;\r
-}\r
-table.tableHead{\r
- margin-bottom: 5px !important;\r
-}\r
-div.tableBodyContainer{\r
-  height: 200px;\r
-  width: 835px;\r
-  overflow: auto;\r
-  margin-bottom: 20px;\r
-}\r
-div.nodetableBodyContainer{\r
-  height: 150px;\r
-  overflow: auto;\r
-   margin-bottom: 20px;\r
-}\r
-\r
-div#pageContent {\r
-  /*height: 1020px;*/\r
-}\r
-  \r
-body {\r
-    /*width: 1330px;*/\r
-    overflow: scroll;\r
-    margin-right: 0px;\r
-}\r
diff --git a/nemo-ui/src/main/resources/nemo/css/nemo_user_main.css b/nemo-ui/src/main/resources/nemo/css/nemo_user_main.css
deleted file mode 100644 (file)
index 33a5ece..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-*{margin:0;padding: 0;outline:none;}\r
-body{\r
-       /*width:1200px;*/\r
-       height: 1000px;\r
-       /*background-color: rgb(65, 64, 66);*/\r
-       color: black;\r
-       font-size: 18px;\r
-}\r
-div{border-radius: 5px;}\r
-.header{\r
-       box-sizing:border-box;\r
-       width:1000px;\r
-       height: 50px;\r
-       margin: 5px auto;\r
-       padding-top:10px;\r
-       padding-left:20px; \r
-       /*margin-top: 5px;*/\r
-       font-family: verdana,Geneva,Arial,sans-serif;\r
-       text-shadow:3px 3px 1px #aaa;\r
-       font-size: 20px;\r
-    background: #eee;\r
-    /*background:-webkit-gradient(linear, 0% 20%, 100% 100%, from(#eee), to(#aaa));*/\r
-    /*background:-webkit-gradient(linear, 45% 20%, 0% 100%, from(#aaa), to(#eee));*/\r
-    /*background:-moz-linear-gradient(left,#eee, #aaa);*/\r
-    /*background:-webkit-gradient(linear, 20% 0%, 100% 0%, color-stop(0.3,#aaa),color-stop(0.5,#bbb),color-stop(1,#444444));*/\r
-}\r
-.header p{\r
-       float: left;\r
-}\r
-.header span{\r
-  color:#000 !important;\r
-  text-shadow:0 0 0 #fff;\r
-  text-decoration: underline;\r
-  /*text-decoration-color:green;*/\r
-  /*border-bottom:1px solid green;*/\r
-  font-weight: normal;\r
-  font-size: 18px;\r
-  line-height: 30px;\r
-  display: inline-block;\r
-  margin-left: 20px;\r
-  cursor: pointer;\r
-  font-family:'cursive','-webkit-pictograp',sans-serif,Verdana;\r
-}\r
-.group{\r
-    width:1000px;\r
-       /*height: 700px;*/\r
-       margin: 0px auto;\r
-       background: #ccc;\r
-       /*border: 2px solid yellow;*/\r
-}\r
-#intent_info{\r
-\r
-}\r
-#intent_topo{\r
-       /*box-sizing:border-box;*/\r
-       width: 900px;\r
-       margin: 10px auto;\r
-       background: #eee;\r
-       padding-left: 45px;\r
-       padding-top: 45px;\r
-       /*border: 1px solid #aaa;*/\r
-}\r
-#intent_info #service_svg{\r
-   /*margin: 0px auto;*/\r
-}\r
-svg{\r
-       background-color: #fff;\r
-}\r
-.down{\r
-       margin-bottom: 10px;\r
-}\r
-#nemo_str_show{\r
-       height: 200px !important;\r
-       /*border: 2px solid red;*/\r
-       overflow: scroll !important;\r
-       font-size: 16px;\r
-       /*window*/\r
-       /*line-height: 20px;\r
-       width:900px !important;*/\r
-\r
-       /*linux*/\r
-       \r
-       width:990px !important;\r
-       line-height: 10px;\r
-       \r
-       font-weight: normal;\r
-}\r
-#nemo_str_show p{\r
-       white-space:nowrap;\r
-       /*margin-left: 5px;*/\r
-}\r
-#nemo_str_show span.keyWords{\r
-       /*color:deeppink;*/\r
-       /*font-weight: bold;*/\r
-       color: #eb8f00;\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 !important;\r
-  text-decoration: none;\r
-}\r
-/*tab ui li*/\r
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {\r
-  /*border: 1px solid #fbd850;*/\r
-  background: #fff url("../images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;\r
-  font-weight: bold;\r
-  color: #eb8f00;\r
-}\r
-.ui-widget-header {\r
-  border: 1px solid #ccc;\r
-  background: #aaa url("../images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;\r
-  background:#9bf;\r
-  color: #fff;\r
-  font-weight: bold;\r
-}\r
-.ui-widget-content {\r
-  border: 1px solid #ddd;\r
-  background: #eee url("../images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;\r
-  color: #333;\r
-}\r
-.ui-tabs .ui-tabs-nav li {\r
-    background: #fff;\r
-    /*opacity: 0.9;*/\r
-}\r
-.ui-tabs .ui-tabs-nav li a{\r
-    color:gray !important;\r
-}\r
-li.ui-state-default.ui-corner-top.ui-tabs-active.ui-state-active {\r
-    background: #eee;\r
-}\r
-li.ui-state-default.ui-corner-top.ui-tabs-active.ui-state-active a{\r
-   color:#eb8f00 !important;\r
-}\r
-/*jquery ui tab css end*/\r
-div#pageContent {\r
-  /*height: 1000px;*/\r
-}
\ No newline at end of file
diff --git a/nemo-ui/src/main/resources/nemo/css/register.css b/nemo-ui/src/main/resources/nemo/css/register.css
deleted file mode 100644 (file)
index 17bfda9..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-* {margin:0;padding: 0;outline: none;}\r
-div{border-radius: 5px;}\r
-body\r
-{\r
-       /*background-color: rgb(65, 64, 66);*/\r
-       color: black;\r
-       font-size: 18px;\r
-       font-family: verdana,Geneva,Arial,sans-serif;\r
-}\r
-#logPage{\r
-    min-width: 1140px;\r
-    width: 1140px;\r
-    height: 566px;\r
-    /* border: 2px solid red; */\r
-    background-color: #aaa;\r
-}\r
-.nemo_info{\r
-       background-color: #ddd;\r
-    width:600px;\r
-    min-width: 600px;\r
-    height: 460px;\r
-       border:1px solid #ccc; \r
-       float:left;\r
-       margin: 50px auto;\r
-       margin-left: 10px;\r
-       position: relative;\r
-       font-family: 'Palatino Linotype','Trebuchet MS',Times;\r
-       font-size: 22px;\r
-       color:black;\r
-}\r
-.nemo_info  img{\r
-    display: block;\r
-       margin: 5px auto;\r
-       margin-bottom: 10px;\r
-}\r
-.nemo_info  p{\r
-font-style:italic;\r
-text-indent:25px;\r
-text-align: justify;\r
-display: inline-block;\r
-margin-left: 5px;\r
-margin-right: 10px;\r
-text-shadow:-2px -2px 1px rgba(255,255,255,0.7);\r
--webkit-transform:rotate(0deg);\r
--webkit-transform:skew(10deg,0deg);\r
-}\r
-#login\r
-{\r
-       border: 1px solid rgb(220,220,220);\r
-       border-radius: 10px;\r
-       background-color:rgba(240,240,240,0.8);\r
-       width: 350px;\r
-       height: 250px;\r
-    margin: 160px auto;\r
-    position: relative;\r
-    float: right;\r
-    margin-right: 100px;\r
-}\r
-\r
-#log_title\r
-{\r
-       margin-top: 10px;\r
-       margin-left: 130px;\r
-       font-size: 20px;\r
-       font-weight: normal;\r
-       font-family: Arial,'Apple Chancery','Andale Mono',Comic,sans-serif;\r
-}\r
-#log_info\r
-{\r
-       width: 310px;\r
-       height: 200px;\r
-       margin-top: 20px;\r
-       margin-left: 30px;\r
-}\r
-#log_info table\r
-{\r
-       width: 280px;\r
-       height: 150px;\r
-       margin-top: 30px;\r
-       margin-left: 0px;\r
-}\r
-\r
-table tr\r
-{\r
-       /* width: 260px; */\r
-       height: 20px;\r
-       margin-top: 15px;\r
-       margin-left: 0px;\r
-       -moz-border-radius: 6px;\r
-    -webkit-border-radius: 6px;\r
-    -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.6);\r
-    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.6);\r
-    border-bottom: 0px solid rgba(0,0,0,0.25);\r
-}\r
-table tr td\r
-{\r
-               /*background-color:E8E8E8;*/\r
-               text-align: center;\r
-}\r
-\r
-#login input\r
-{\r
-       width: 160px;\r
-       height: 25px;\r
-       background-color: #fff !important;\r
-       font-size: 18px;\r
-       color: black;\r
-       font-family:Verdana,Arial; \r
-}\r
-\r
-button\r
-{\r
-       margin-top: 10px;\r
-       margin-left: 20px;\r
-       margin-right: 20px;\r
-       width: 65px;\r
-       height: 25px;\r
-       color:white;\r
-    -moz-border-radius: 6px;\r
-    -webkit-border-radius: 6px;\r
-    -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.6);\r
-    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.6);\r
-    text-shadow: -1px -1px 1px rgba(0,0,0,0.25);\r
-    border-bottom: 1px solid rgba(0,0,0,0.25);\r
-    cursor:pointer;\r
-       font-size:15px;\r
-       background-color:#993399;\r
-}\r
-\r
-@media (max-width:1100px){\r
-   #login{\r
-       /*float: left;*/\r
-       /*margin-top:0px;*/\r
-       /*top:0px;*/\r
-       /*left: 150px;*/\r
-   }\r
-}\r
-\r
diff --git a/nemo-ui/src/main/resources/nemo/images/NEMO_model.png b/nemo-ui/src/main/resources/nemo/images/NEMO_model.png
deleted file mode 100644 (file)
index bfcec45..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/NEMO_model.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/cache.png b/nemo-ui/src/main/resources/nemo/images/cache.png
deleted file mode 100644 (file)
index 95e1b67..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/cache.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/ext-group.png b/nemo-ui/src/main/resources/nemo/images/ext-group.png
deleted file mode 100644 (file)
index fb2ec45..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/ext-group.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/fw.png b/nemo-ui/src/main/resources/nemo/images/fw.png
deleted file mode 100644 (file)
index 8a28ee8..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/fw.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/host.png b/nemo-ui/src/main/resources/nemo/images/host.png
deleted file mode 100644 (file)
index e5a6da2..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/host.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/lb.png b/nemo-ui/src/main/resources/nemo/images/lb.png
deleted file mode 100644 (file)
index df9ce21..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/lb.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/logo_nemo.png b/nemo-ui/src/main/resources/nemo/images/logo_nemo.png
deleted file mode 100644 (file)
index c0eb30f..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/logo_nemo.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/nemo-overview.png b/nemo-ui/src/main/resources/nemo/images/nemo-overview.png
deleted file mode 100644 (file)
index ff6169b..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/nemo-overview.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/phyHos_t.png b/nemo-ui/src/main/resources/nemo/images/phyHos_t.png
deleted file mode 100644 (file)
index 7efc820..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/phyHos_t.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/phyHost.png b/nemo-ui/src/main/resources/nemo/images/phyHost.png
deleted file mode 100644 (file)
index e4f79ab..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/phyHost.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/ui-bg_diagonals-thick_20_666666_40x40.png b/nemo-ui/src/main/resources/nemo/images/ui-bg_diagonals-thick_20_666666_40x40.png
deleted file mode 100644 (file)
index 337d9ed..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/ui-bg_diagonals-thick_20_666666_40x40.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/ui-bg_glass_65_ffffff_1x400.png b/nemo-ui/src/main/resources/nemo/images/ui-bg_glass_65_ffffff_1x400.png
deleted file mode 100644 (file)
index 3945b3e..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/ui-bg_glass_65_ffffff_1x400.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/nemo-ui/src/main/resources/nemo/images/ui-bg_gloss-wave_35_f6a828_500x100.png
deleted file mode 100644 (file)
index 06a7321..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/ui-bg_gloss-wave_35_f6a828_500x100.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/nemo-ui/src/main/resources/nemo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
deleted file mode 100644 (file)
index 2561545..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/images/vmhost.png b/nemo-ui/src/main/resources/nemo/images/vmhost.png
deleted file mode 100644 (file)
index 13538b3..0000000
Binary files a/nemo-ui/src/main/resources/nemo/images/vmhost.png and /dev/null differ
diff --git a/nemo-ui/src/main/resources/nemo/js/Nemo_Annouce_vis.js b/nemo-ui/src/main/resources/nemo/js/Nemo_Annouce_vis.js
deleted file mode 100644 (file)
index 5104e16..0000000
+++ /dev/null
@@ -1,438 +0,0 @@
-   var ne_flag=0;
-       // Node_List = a[Node_Id][x](x = 0,label;x = 1,title;x = 2,P2mpGroupId)
-    var Node_List = new Array();
-       // Edge_List = b[Edge_Id][y](y = 0,connection name;y = 1,from;y = 2,to)
-    var Edge_List = new Array();
-       
-       var node_count=0;
-       var node_X=[];
-
-    var conn_Item=[];
-       
-       var vlandata1;
-
-
-/////////////Main Data//////////////
-       var nodes, edges, graph;
-  var Node_Id = 0;
-  var Edge_Id = 0;     
-       var Edge_Count=0;
-
-       
-       var Node_Sp=[];
-       var Node_Sp_Id=[];
-       var Node_Sc=[];
-       var Node_Sc_Id=[];
-       var policy_count=[];
-       var policy_set=[];
-    var chain_count=[];
-       var chain_set=[];
-       var conn_set=[];
-       
-
-       //flow
-       var flow_count = [];
-       var ext_ip = [];                        
-       
-    // create an array with nodes
-    nodes = new vis.DataSet();
-       
-    // create an array with edges
-    edges = new vis.DataSet();
-
-/////////////P2mp Group Data//////////////
-       var Group_Id = 0;
-       var Group_List= new Array();
-       
-    var options = {
-               stabilize: true,
-               //Manipulation:true,
-               //hierarchicalLayout: true,
-               nodes: {
-          // default for all nodes
-                       shape: 'dot', 
-                       fontSize:16     ,
-                       radius:16,
-                       fixed:true
-               },
-               edges: {
-               smooth: false
-                       //length:1
-               },
-        groups: {
-                   null: {
-            color: {
-              border: 'white',
-              background: 'white',
-              highlight: {
-                border: 'white',
-                background: '#white'
-              }
-            },
-            fontSize: 0,
-                       radius:0,
-            //fontFace: 'arial',
-            shape: 'dot'
-          },
-          host: {
-            color: {
-              border: 'black',
-              background: '#B0E2FF',
-              highlight: {
-                border: 'black',
-                background: '#4F94CD'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-          firewall: {  
-            color: {
-              border: 'black',
-              background: '#FF0000',
-              highlight: {
-                border: 'black',
-                background: '#FF7256'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-                 internet: {
-            color: {
-              border: 'black',
-              background: '#7FFF00',
-              highlight: {
-                border: 'black',
-                background: '#6B8E23'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-          forwarding: {
-            color: {
-              border: 'black',
-              background: '#878787',
-              highlight: {
-                border: 'black',
-                background: '#4A4A4A'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-                  loadbalance: {
-            color: {
-              border: '#black',
-              background: '#FF9933',
-              highlight: {
-                border: 'black',
-                background: '#FDCEBF'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-                  group: {
-            color: {
-              border: 'black',
-              background: 'yellow',
-              highlight: {
-                border: 'black',
-                background: '#ECE5D0'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          }
-        }
-               
-       };
-       
-       
-
-       // used in Service_Policy
-var options2 = {
-               stabilize: false,
-               //Manipulation:true,
-               //hierarchicalLayout: true,
-               nodes: {
-          // default for all nodes
-                       shape: 'dot', 
-                       fontSize:16     ,
-                       radius:16,
-                       fixed:true
-               },
-               edges: {
-               smooth: false
-                       //length:1
-               },
-        groups: {
-                       null: {
-            color: {
-              border: 'white',
-              background: 'white',
-              highlight: {
-                border: 'white',
-                background: '#white'
-              }
-            },
-            fontSize: 0,
-                       radius:0,
-            //fontFace: 'arial',
-            shape: 'dot'
-          },
-          host: {
-            color: {
-              border: 'black',
-              background: '#B0E2FF',
-              highlight: {
-                border: 'black',
-                background: '#4F94CD'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-          firewall: {  
-            color: {
-              border: 'black',
-              background: '#FF0000',
-              highlight: {
-                border: 'black',
-                background: '#FF7256'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-                 internet: {
-            color: {
-              border: 'black',
-              background: '#7FFF00',
-              highlight: {
-                border: 'black',
-                background: '#6B8E23'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-          forwarding: {
-            color: {
-              border: 'black',
-              background: '#878787',
-              highlight: {
-                border: 'black',
-                background: '#4A4A4A'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-                  loadbalance: {
-            color: {
-              border: '#black',
-              background: '#FF9933',
-              highlight: {
-                border: 'black',
-                background: '#FDCEBF'
-              }
-            },
-            fontSize: 15,
-                       radius:15,
-            fontFace: 'arial',
-            shape: 'dot'
-          },
-                  group: {
-            color: {
-              border: 'black',
-              background: 'yellow',
-              highlight: {
-                border: 'black',
-                background: '#ECE5D0'
-              }
-            },
-                       fontSize: 15,
-                       radius:15,
-                 
-        }
-               },
-       physics: {
-      repulsion: {
-        centralGravity: 0,
-        springLength: 100,//弹簧长度
-        springConstant: 0,//弹簧常数
-        nodeDistance: 0,
-        damping: 0 //阻尼,减幅,衰减
-      }}
-               
-       };
-       
-
-    var DOMURL = window.URL || window.webkitURL || window;     
-       var nemoModule = [
-                        /* no host in mode */
-                        '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" opacity="1">' +
-                        '<circle cx="100" cy="100" r="95" stroke-width="2" stroke="#000000" fill="#FFFFFF" opacity="1"/>'+
-                        '</svg>',
-                        /* 1 host in mode */
-                                               '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">' +
-                                               '<circle cx="130" cy="140" r="80" stroke-width="5" stroke="#000000" fill="#FFFFFF" opacity="1"/>\
-                                               <circle cx="130" cy="140" r="40"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="20" y="100" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml">\
-                                               <span style="padding-left:65px; padding-top:100px; color:black; font-size:25px;">\
-                                               {{host1}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               </svg>',
-                        /* 2 hosts in mode */
-                        '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">' +
-                                               '<circle cx="150" cy="150" r="80" stroke-width="5" stroke="#000000" fill="#FFFFFF" opacity="1"/>\
-                                               <circle cx="115.5" cy="150" r="35"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="20" y="100" width="50%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml">\
-                                               <span style="padding-left:65px; padding-top:100px; color:black; font-size:25px;">\
-                                               {{host1}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               <circle cx="155" cy="150" r="35"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="140" y="140" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
-                                               <span style="padding-left:15px; color:black; font-size:25px;">\
-                                               {{host2}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               </svg>',
-                        /* 3 hosts in mode */
-                        '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">\
-                                               <circle cx="150" cy="150" r="80" stroke-width="5" stroke="#153345" fill="#FFFFFF" opacity="1"/>\
-                                               <circle cx="150" cy="110" r="32"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="85" y="90" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml" >\
-                                               <span style="padding-left:50px; color:black; font-size:25px;">\
-                                               {{host1}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               <circle cx="110" cy="170" r="32"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="45" y="160" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml">\
-                                               <span style="padding-left:50px; color:black; font-size:25px;">\
-                                               {{host2}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               <circle cx="190" cy="170" r="32"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="130" y="150" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml">\
-                                               <span style="padding-left:50px; color:black; font-size:25px;">\            {{host3}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               </svg>' ,
-                        /* 4 hosts in mode */
-                        '<svg xmlns="http://www.w3.org/2000/svg" width="300" height="235" opacity="1">' +
-                                               '<circle cx="130" cy="140" r="80" stroke-width="5" stroke="#000000" fill="#FFFFFF" opacity="1"/>\
-                                               <circle cx="100" cy="110" r="30"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="20" y="100" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml">\
-                                               <span style="padding-left:65px; padding-top:100px; color:black; font-size:25px;">\
-                                               {{host1}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               <circle cx="100" cy="170" r="30"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="20" y="140" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
-                                               <span style="padding-left:15px; color:black; font-size:25px;">\
-                                               {{host3}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               <circle cx="160" cy="110" r="30"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="150" y="80" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
-                                               <span style="padding-left:15px; color:black; font-size:25px;">\
-                                               {{host2}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               <circle cx="160" cy="170" r="30"  stroke-width="2" stroke="red" fill="#FFFFFF"></circle>\
-                                               <foreignObject x="150" y="140" width="40%" height="20%">\
-                                               <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">\
-                                               <span style="padding-left:15px; color:black; font-size:25px;">\
-                                               {{host4}}</span>\
-                                               </div>\
-                                               </foreignObject>\
-                                               </svg>',
-                        /* more than 4 hosts in mode */
-                        '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="235" opacity="1">' +
-                        '<circle cx="100" cy="100" r="95" stroke-width="2" stroke="#000000" fill="#FFFFFF" opacity="1"/>'+
-                        '<rect x="40" y="38" width="30%" height="30%" stroke-width="2" stroke="#000000" fill="#FFFFFF"></rect>' +
-                        '<foreignObject x="15" y="55" width="40%" height="20%">' +
-                        '<div xmlns="http://www.w3.org/1999/xhtml" >' +
-                        '<span style="padding-left:40px;color:black; font-size:20px;">' +
-                        '{{host1}}</span>' +
-                        '</div>' +
-                        '</foreignObject>' +
-                        '<rect x="40" y="108" width="30%" height="30%" stroke-width="2" stroke="#000000" fill="#FFFFFF"></rect>' +
-                        '<foreignObject x="15" y="155" width="40%" height="20%">' +
-                        '<div xmlns="http://www.w3.org/1999/xhtml">' +
-                        '<span style="padding-left:40px;color:black; font-size:20px;">' +
-                        '{{host2}}</span>' +
-                        '</div>' +
-                        '</foreignObject>' +
-                        '<rect x="108" y="38" width="30%" height="30%" stroke-width="2" stroke="#000000" fill="#FFFFFF"></rect>' +
-                        '<foreignObject x="105" y="55" width="40%" height="20%">' +
-                        '<div xmlns="http://www.w3.org/1999/xhtml">' +
-                        '<span style="padding-left:20px; color:black; font-size:20px;">' +
-                        '{{host3}}</span>' +
-                        '</div>' +
-                        '</foreignObject>' +
-                        '<rect x="108" y="108" width="30%" height="30%" stroke-width="0" stroke="#000000" fill="#FFFFFF"></rect>' +
-                        '<foreignObject x="105" y="155" width="40%" height="20%">' +
-                        '<div xmlns="http://www.w3.org/1999/xhtml">' +
-                        '<span style="padding-left:20px; color:black; font-size:20px;">' +
-                        '...</span>' +
-                        '</div>' +
-                        '</foreignObject>' +
-                        '</svg>'];
-//function
-       function calculatePos(n){
-                       var res = new Array();
-                       if(n <= 0)return res;
-                       var start;
-                       var offset = 2 * Math.PI / n;
-                       if(n % 2 == 1){
-                               start = Math.PI / 2;
-                       }else{
-                               start = Math.PI / 2 + Math.PI / n;
-                       }
-                       res.push(start);
-                       for(var i = 1; i < n; i++){
-                               start += offset;
-                               res.push(start);
-                       }
-                       return res;
-               }
-
-                                               
-                                               
-               
diff --git a/nemo-ui/src/main/resources/nemo/js/Nemo_Main.js b/nemo-ui/src/main/resources/nemo/js/Nemo_Main.js
deleted file mode 100644 (file)
index 5ee11b0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/// <reference path="_references.js" />\r
-       function setCookie(name,value,Days) \r
-{ \r
-    if(!Days) Days = 3; \r
-    var exp = new Date(); \r
-    exp.setTime(exp.getTime() + Days*24*60*60*1000); \r
-    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+';path=/'; \r
-} \r
-function getCookie(name) \r
-{ \r
-    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");\r
\r
-    if(arr=document.cookie.match(reg)) \r
-        return unescape(arr[2]); \r
-    else \r
-        return null; \r
-} \r
-jQuery.noConflict();\r
-jQuery(document).ready(function ($) {\r
-     //localStorage.clear();\r
-     //show the tab\r
-    $(".tabs").tabs();\r
-    \r
-    jQuery('a[href="#/nemo"]').click(function(){\r
-        jQuery("#page_logo").attr("src","src/app/nemo/images/logo_nemo.png").attr("ng-src","src/app/nemo/images/logo_nemo.png");\r
-    })\r
-    jQuery('a[href="#/nemo"]').click();\r
-});\r
-\r
-\r
diff --git a/nemo-ui/src/main/resources/nemo/js/intentTopo.js b/nemo-ui/src/main/resources/nemo/js/intentTopo.js
deleted file mode 100644 (file)
index f36d510..0000000
+++ /dev/null
@@ -1,1303 +0,0 @@
-var IntentInfos='';\r
-\r
-function getIntentInfos(){\r
-         var userData=null;\r
-       jQuery.ajax({\r
-                       url: "/restconf/config/nemo-intent:users/",\r
-                       type: "GET",\r
-                       async: false,\r
-                       dataType: "json",\r
-                       success: function(data) {\r
-                               console.log(data);\r
-                               IntentInfos=data;\r
-                               userData=data;\r
-                       },\r
-                       error: function(data) {\r
-                               console.log(data);\r
-                               console.log('Get IntentInfo Error!');\r
-                               // alert('Get IntentInfo Error!');\r
-                       }\r
-               });\r
-       return userData;\r
-     \r
-       }\r
-\r
- function getIntentDatas(){\r
-       var Datas=getIntentInfos();\r
-       if(!Datas){\r
-       Datas=userinfo;\r
-       }\r
-       IntentInfos=Datas;\r
-       //return virtualDatas;\r
- }\r
-\r
-getIntentInfos();\r
-// getIntentDatas();\r
- function getIntentInfoById(user_id,Data){\r
-               //console.log(1);\r
-       if(!Data) Data=IntentInfos;\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
-\r
-     console.log(user_json);\r
-    var user_info = user_json['users']['user'];\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
- function getIntentInfoByName(user_name,Data){\r
-     console.log(Data);\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['users']['user'];\r
-       for(var item in user_info){\r
-               if(user_name==user_info[item]['user-name']){\r
-                       return user_info[item];\r
-               }\r
-       }\r
- }\r
-\r
-\r
-\r
-       function lead_policy(src_group, dest_group, flow_count_temp, color, id, chain_name, src_name, dest_name) {\r
-               var cir_r = parseInt(jQuery("#" + src_group + " circle:eq(0)").attr("r"));\r
-\r
-               //get circle cx cy\r
-               src_cx = parseInt(jQuery("#" + src_group + " circle:eq(0)").attr("cx"));\r
-               src_cy = parseInt(jQuery("#" + src_group + " circle:eq(0)").attr("cy"));\r
-               dest_cx = parseInt(jQuery("#" + dest_group + " circle:eq(0)").attr("cx"));\r
-               dest_cy = parseInt(jQuery("#" + dest_group + " circle:eq(0)").attr("cy"));\r
-               console.log(src_cx + "  " + src_cy + "  " + dest_cx + "   " + dest_cy);\r
-\r
-               //calculate deg\r
-               var tri_h = dest_cx - src_cx;\r
-               var tri_l = src_cy - dest_cy;\r
-               var tri_s = Math.sqrt(tri_l * tri_l + tri_h * tri_h);\r
-               var deg = Math.asin(tri_l / tri_s);\r
-               console.log(tri_h + "  " + tri_l + "  " + tri_s);\r
-               //alert(deg);\r
-               console.log(deg);\r
-\r
-\r
-               //calculate offset\r
-               var offset = ((20 + (15 * parseInt(flow_count_temp))) / 180) * Math.PI;\r
-               console.log("temp: " + flow_count_temp + " offset:  " + offset);\r
-\r
-               //calculate path possition\r
-               var path_src_x, path_src_y, path_dest_x, path_dest_y, mid_x, mid_y, b_x, b_y;\r
-               if (tri_h >= 0) {\r
-                       mid_x = src_cx + tri_h / 2;\r
-                       mid_y = src_cy - tri_l / 2;\r
-                       path_src_x = src_cx + cir_r * (Math.cos(offset + deg));\r
-                       path_src_y = src_cy - cir_r * (Math.sin(offset + deg));\r
-                       path_dest_x = dest_cx - (cir_r + 14) * (Math.cos(offset - deg));\r
-                       path_dest_y = dest_cy - (cir_r + 14) * (Math.sin(offset - deg));\r
-                       if (tri_l >= 0) {\r
-                               b_x = mid_x - (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.sin(deg));;\r
-                               b_y = mid_y - (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.cos(deg));\r
-                       } else {\r
-                               b_x = mid_x + (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.sin(deg));\r
-                               b_y = mid_y - (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.cos(deg));\r
-                       }\r
-\r
-               } else {\r
-                       mid_x = src_cx + tri_h / 2;\r
-                       mid_y = src_cy - tri_l / 2;\r
-                       path_src_x = src_cx - cir_r * (Math.cos(offset - deg));\r
-                       path_src_y = src_cy + cir_r * (Math.sin(offset - deg));\r
-                       path_dest_x = dest_cx + (cir_r + 14) * (Math.cos(-offset - deg));\r
-                       path_dest_y = dest_cy - (cir_r + 14) * (Math.sin(-offset - deg));\r
-                       if (tri_l >= 0) {\r
-                               b_x = mid_x - (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.sin(deg));\r
-                               b_y = mid_y + (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.cos(deg));\r
-                       } else {\r
-                               b_x = mid_x + (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.sin(deg));\r
-                               b_y = mid_y + (80 + 30 * parseInt(flow_count_temp)) * Math.abs(Math.cos(deg));\r
-                       }\r
-\r
-               }\r
-               //path title\r
-               var path_title = document.createElementNS('http://www.w3.org/2000/svg', 'path');\r
-\r
-\r
-\r
-               //create path\r
-               var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\r
-               var path_main = jQuery(path).attr({\r
-                       id: id,\r
-                       node_start: src_name,\r
-                       node_end: dest_name,\r
-                       type: "flow",\r
-                       sx: path_src_x,\r
-                       sy: path_src_y,\r
-                       mx: b_x,\r
-                       my: b_y,\r
-                       ex: path_dest_x,\r
-                       ey: path_dest_y,\r
-                       count: flow_count_temp,\r
-                       via: chain_name,\r
-                       d: 'M' + path_src_x + " " + path_src_y + ' Q' + b_x + ' ' + b_y + ' ' + path_dest_x + ' ' + path_dest_y,\r
-                       'stroke': color,\r
-                       'stroke-width': 3,\r
-                       fill: "none",\r
-                       'stroke-dasharray': "6,6",\r
-                       'marker-end': "url(#idArrow2)",\r
-                       'marker-mid': "url(#idtext2)"\r
-               });\r
-               jQuery('#service_svg2').prepend(path_main);\r
-\r
-       }\r
-\r
-       function get_path_color() {\r
-               while (1) {\r
-                       var num1 = Math.floor(Math.random() * 256);\r
-                       if (num1 > 220)\r
-                               continue;\r
-                       return num1.toString();\r
-               }\r
-       }\r
-\r
-       function flow_get_end_name(src_ip, dest_ip) {\r
-               // console.log(src_ip);\r
-               // console.log(dest_ip);\r
-               var host_name = ['', ''];\r
-               if (typeof(phy_host_ip[src_ip]) != "undefined")\r
-                       host_name[0] = phy_host_ip[src_ip];\r
-               else {\r
-                       for (var find_ip_cursor = 0; find_ip_cursor < jQuery("#service_svg2 g").length; find_ip_cursor++) {\r
-                               if (jQuery("#service_svg2 g:eq(" + find_ip_cursor + ")").attr("ip-prefix") == src_ip) {\r
-                                       host_name[0] = jQuery("#service_svg2 g:eq(" + find_ip_cursor + ")").attr("id");\r
-                               }\r
-\r
-                       }\r
-               }\r
-               if (typeof(phy_host_ip[dest_ip]) != "undefined")\r
-                       host_name[1] = phy_host_ip[dest_ip];\r
-               else {\r
-                       for (var find_ip_cursor = 0; find_ip_cursor < jQuery("#service_svg2 g").length; find_ip_cursor++) {\r
-                               if (jQuery("#service_svg2 g:eq(" + find_ip_cursor + ")").attr("ip-prefix") == dest_ip) {\r
-                                       host_name[1] = jQuery("#service_svg2 g:eq(" + find_ip_cursor + ")").attr("id");\r
-                               }\r
-\r
-                       }\r
-               }\r
-               console.log(host_name[0] + " " + host_name[1]);\r
-               return host_name;\r
-\r
-\r
-       }\r
-\r
-       function flow_get_group(src_ip, dest_ip) {\r
-               var src_host_name = flow_get_end_name(src_ip, dest_ip)[0];\r
-               var dest_host_name = flow_get_end_name(src_ip, dest_ip)[1];\r
-               console.log(src_host_name);\r
-               console.log(dest_host_name);\r
-               var group_node = ['', ''];\r
-               for (var i = 0; i < jQuery("#service_svg2 g").length; i++) {\r
-                       host_list = jQuery("#service_svg2 g:eq(" + i + ")").attr("sub").split(",");\r
-                       console.log(host_list);\r
-                       if (host_list[0] == '') {\r
-                               continue;\r
-                       }\r
-                       for (var j = 0; j < host_list.length; j++) {\r
-                               if (host_list[j] == src_host_name) {\r
-                                       group_node[0] = jQuery("#service_svg2 g:eq(" + i + ")").attr("id");\r
-                               }\r
-                               if (host_list[j] == dest_host_name) {\r
-                                       group_node[1] = jQuery("#service_svg2 g:eq(" + i + ")").attr("id");\r
-                               }\r
-                       }\r
-                       if (group_node[0] != '' && group_node[1] != '')\r
-                               break;\r
-               }\r
-               console.log("node: " + group_node[0] + "  " + group_node[1]);\r
-               return group_node;\r
-       }\r
-\r
-       function draw_flow_data(src_ip, dest_ip, flow_name,src_node,dest_node) {\r
-               if(!src_ip && !dest_ip){\r
-               var src_group = intentNodesArray[src_node];\r
-               var dest_group = intentNodesArray[dest_node];\r
-               }\r
-               else{\r
-           var src_group = flow_get_group(src_ip, dest_ip)[0];\r
-               var dest_group = flow_get_group(src_ip, dest_ip)[1];\r
-               }\r
-\r
-               \r
-               console.log(src_group);\r
-               console.log(dest_group);\r
-               //get flow count\r
-               var flow_count_temp = 0;\r
-               while (1) {\r
-                       var end_flag = 0;\r
-                       for (var find_count = 0; find_count < jQuery("#service_svg2 path").length; find_count++) {\r
-                               if (jQuery("#service_svg2 path:eq(" + find_count + ")").attr("type") != "flow")\r
-                                       continue;\r
-                               if (jQuery("#service_svg2 path:eq(" + find_count + ")").attr("node_start") == src_group && jQuery("#service_svg2 path:eq(" + find_count + ")").attr("node_end") == dest_group) {\r
-                                       if (flow_count_temp == jQuery("#service_svg2 path:eq(" + find_count + ")").attr("count")) {\r
-                                               end_flag = 1;\r
-                                               flow_count_temp++;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                       }\r
-                       if (end_flag != 1)\r
-                               break;\r
-               }\r
-\r
-\r
-\r
-               //get Radio\r
-               var cir_r = parseInt(jQuery("[id='" + src_group + "'] circle:eq(0)").attr("r"));\r
-\r
-\r
-               //get circle cx cy\r
-               src_cx = parseInt(jQuery("[id='" + src_group + "'] circle:eq(0)").attr("cx"));\r
-               src_cy = parseInt(jQuery("[id='" + src_group + "'] circle:eq(0)").attr("cy"));\r
-               dest_cx = parseInt(jQuery("[id='" + dest_group + "'] circle:eq(0)").attr("cx"));\r
-               dest_cy = parseInt(jQuery("[id='" + dest_group + "'] circle:eq(0)").attr("cy"));\r
-               console.log(src_cx + "  " + src_cy + "  " + dest_cx + "   " + dest_cy);\r
-\r
-               //calculate deg\r
-               var tri_h = dest_cx - src_cx;\r
-               var tri_l = src_cy - dest_cy;\r
-               var tri_s = Math.sqrt(tri_l * tri_l + tri_h * tri_h);\r
-               var deg = Math.asin(tri_l / tri_s);\r
-               console.log(tri_h + "  " + tri_l + "  " + tri_s);\r
-               //alert(deg);\r
-               console.log(deg);\r
-\r
-\r
-               //calculate offset\r
-               var offset = ((20 + (15 * flow_count_temp)) / 180) * Math.PI;\r
-               console.log("offset:  " + offset);\r
-\r
-               //calculate path possition\r
-               var path_src_x, path_src_y, path_dest_x, path_dest_y, mid_x, mid_y, b_x, b_y;\r
-               if (tri_h >= 0) {\r
-                       mid_x = src_cx + tri_h / 2;\r
-                       mid_y = src_cy - tri_l / 2;\r
-                       path_src_x = src_cx + cir_r * (Math.cos(offset + deg));\r
-                       path_src_y = src_cy - cir_r * (Math.sin(offset + deg));\r
-                       path_dest_x = dest_cx - (cir_r + 14) * (Math.cos(offset - deg));\r
-                       path_dest_y = dest_cy - (cir_r + 14) * (Math.sin(offset - deg));\r
-                       if (tri_l >= 0) {\r
-                               b_x = mid_x - (80 + 30 * flow_count_temp) * Math.abs(Math.sin(deg));;\r
-                               b_y = mid_y - (80 + 30 * flow_count_temp) * Math.abs(Math.cos(deg));\r
-                       } else {\r
-                               b_x = mid_x + (80 + 30 * flow_count_temp) * Math.abs(Math.sin(deg));\r
-                               b_y = mid_y - (80 + 30 * flow_count_temp) * Math.abs(Math.cos(deg));\r
-                       }\r
-\r
-               } else {\r
-                       mid_x = src_cx + tri_h / 2;\r
-                       mid_y = src_cy - tri_l / 2;\r
-                       path_src_x = src_cx - cir_r * (Math.cos(offset - deg));\r
-                       path_src_y = src_cy + cir_r * (Math.sin(offset - deg));\r
-                       path_dest_x = dest_cx + (cir_r + 14) * (Math.cos(-offset - deg));\r
-                       path_dest_y = dest_cy - (cir_r + 14) * (Math.sin(-offset - deg));\r
-                       if (tri_l >= 0) {\r
-                               b_x = mid_x - (80 + 30 * flow_count_temp) * Math.abs(Math.sin(deg));\r
-                               b_y = mid_y + (80 + 30 * flow_count_temp) * Math.abs(Math.cos(deg));\r
-                       } else {\r
-                               b_x = mid_x + (80 + 30 * flow_count_temp) * Math.abs(Math.sin(deg));\r
-                               b_y = mid_y + (80 + 30 * flow_count_temp) * Math.abs(Math.cos(deg));\r
-                       }\r
-\r
-               }\r
-               //path title\r
-               var path_title = document.createElementNS('http://www.w3.org/2000/svg', 'path');\r
-\r
-\r
-\r
-               //create path\r
-               var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\r
-               var path_main = jQuery(path).attr({\r
-                       id: flow_name,\r
-                       node_start: src_group,\r
-                       node_end: dest_group,\r
-                       type: "flow",\r
-                       sx: path_src_x,\r
-                       sy: path_src_y,\r
-                       mx: b_x,\r
-                       my: b_y,\r
-                       ex: path_dest_x,\r
-                       ey: path_dest_y,\r
-                       via: "none",\r
-                       count: flow_count_temp,\r
-                       d: 'M' + path_src_x + " " + path_src_y + ' Q' + b_x + ' ' + b_y + ' ' + path_dest_x + ' ' + path_dest_y,\r
-                       'stroke': "rgb(" + get_path_color() + "," + get_path_color() + "," + get_path_color() + ")",\r
-                       'stroke-width': 3,\r
-                       fill: "none",\r
-                       'stroke-dasharray': "6,6",\r
-                       'marker-end': "url(#idArrow2)",\r
-                       'marker-mid': "url(#idtext2)"\r
-               });\r
-               if (ne_flag == 0)\r
-                       jQuery(path).attr("stroke", "rgb(" + get_path_color() + "," + get_path_color() + "," + get_path_color() + ")");\r
-               else if (ne_flag == 1)\r
-                       jQuery(path).attr("stroke", old_color);\r
-               jQuery('#service_svg2').prepend(path_main);\r
-\r
-\r
-       }\r
-\r
-       function draw_connection_data(conn_name, node_name_1, node_name_2, bandwidth) {\r
-               // console.log(conn_name);\r
-               // console.log(node_name_1);\r
-               // console.log(node_name_2);\r
-               // console.log(bandwidth);\r
-               if (conn_name != null && typeof(conn_name) != "undefined")\r
-                       jQuery("#" + conn_name).remove();\r
-               try {\r
-                       var node_cx_1 = jQuery("[id='" + node_name_1 + "_group']").attr("cx");\r
-                       var node_cy_1 = jQuery("[id='" + node_name_1 + "_group']").attr("cy");\r
-                       var node_cx_2 = jQuery("[id='" + node_name_2 + "_group']").attr("cx");\r
-                       var node_cy_2 = jQuery("[id='" + node_name_2 + "_group']").attr("cy");\r
-                       // console.log(node_cx_1);\r
-                       // console.log(node_cy_1);\r
-                       // console.log(node_cx_2);\r
-                       // console.log(node_cy_2);\r
-                       //var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
-                       var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\r
-                       var path_main = jQuery(path).attr({\r
-                               id: conn_name,\r
-                               node_start: node_name_1,\r
-                               node_end: node_name_2,\r
-                               type: "connection",\r
-                               d: 'M' + node_cx_1 + " " + node_cy_1 + ' L' + node_cx_2 + ' ' + node_cy_2,\r
-                               'stroke': "black",\r
-                               'stroke-width': parseInt(bandwidth),\r
-                               fill: "black"\r
-                       });\r
-                       jQuery('#service_svg2').prepend(path_main);\r
-               } catch (err) {\r
-                       alert(err);\r
-               }\r
-       }\r
-\r
-       function redraw_node_possition_data() {\r
-               node_count = jQuery("#service_svg2 g").length;\r
-               if (node_count == 1) {\r
-                       var x = 550;\r
-                       var y = 450;\r
-                       dis_x = x - jQuery("#service_svg2 g:eq(0) circle:eq(0)").attr("cx");\r
-                       dis_y = y - jQuery("#service_svg2 g:eq(0) circle:eq(0)").attr("cy");\r
-                       jQuery("#service_svg2 g:eq(0) circle:eq(0)").attr("cx", x);\r
-                       jQuery("#service_svg2 g:eq(0) circle:eq(0)").attr("cy", y);\r
-                       for (var j = 0; j < jQuery("#service_svg2 g:eq(0) rect").length; j++) {\r
-                               var last_x = parseInt(jQuery("#service_svg2 g:eq(0) rect:eq(" + j + ")").attr("x"));\r
-                               var last_y = parseInt(jQuery("#service_svg2 g:eq(0) rect:eq(" + j + ")").attr("y"));\r
-                               jQuery("#service_svg2 g:eq(0) rect:eq(" + j + ")").attr("x", last_x + dis_x);\r
-                               jQuery("#service_svg2 g:eq(0) rect:eq(" + j + ")").attr("y", last_y + dis_y);\r
-                       }\r
-                       for (var j = 0; j < jQuery("#service_svg2 g:eq(0) text").length; j++) {\r
-                               jQuery("#service_svg2 g:eq(0) text:eq(" + j + ")").attr("x", parseInt(jQuery("#service_svg2 g:eq(0) text:eq(" + j + ")").attr("x")) + dis_x);\r
-                               jQuery("#service_svg2 g:eq(0) text:eq(" + j + ")").attr("y", parseInt(jQuery("#service_svg2 g:eq(0) text:eq(" + j + ")").attr("y")) + dis_y);\r
-                       }\r
-\r
-                       return;\r
-\r
-               }\r
-               var res = calculatePos(node_count);\r
-               var r = 300;\r
-               for (var i = 0; i < node_count; i++) {\r
-                       var deg = res[i];\r
-                       var x = 550 + Math.cos(deg) * r;\r
-                       var y = 450 - Math.sin(deg) * r;\r
-                       if(node_count%2==1)\r
-                               var y = 500 - Math.sin(deg) * r;\r
-                       dis_x = x - parseInt(jQuery("#service_svg2 g:eq(" + i + ") circle:eq(0)").attr("cx"));\r
-                       dis_y = y - parseInt(jQuery("#service_svg2 g:eq(" + i + ") circle:eq(0)").attr("cy"));\r
-                       jQuery("#service_svg2 g:eq(" + i + ") circle:eq(0)").attr("cx", x);\r
-                       jQuery("#service_svg2 g:eq(" + i + ") circle:eq(0)").attr("cy", y);\r
-                       for (var j = 0; j < jQuery("#service_svg2 g:eq(" + i + ") rect").length; j++) {\r
-                               jQuery("#service_svg2 g:eq(" + i + ") rect:eq(" + j + ")").attr("x", parseInt(jQuery("#service_svg2 g:eq(" + i + ") rect:eq(" + j + ")").attr("x")) + dis_x);\r
-                               jQuery("#service_svg2 g:eq(" + i + ") rect:eq(" + j + ")").attr("y", parseInt(jQuery("#service_svg2 g:eq(" + i + ") rect:eq(" + j + ")").attr("y")) + dis_y);\r
-                       }\r
-                       for (var j = 0; j < jQuery("#service_svg2 g:eq(" + i + ") text").length; j++) {\r
-                               jQuery("#service_svg2 g:eq(" + i + ") text:eq(" + j + ")").attr("x", parseInt(jQuery("#service_svg2 g:eq(" + i + ") text:eq(" + j + ")").attr("x")) + dis_x);\r
-                               jQuery("#service_svg2 g:eq(" + i + ") text:eq(" + j + ")").attr("y", parseInt(jQuery("#service_svg2 g:eq(" + i + ") text:eq(" + j + ")").attr("y")) + dis_y);\r
-                       }\r
-\r
-               }\r
-\r
-       }\r
-\r
-       function draw_group_data(node_name, node_number, node_list, node_type, ip) {\r
-               // alert("type:"+node_type);\r
-               var circle_x = 550;\r
-               var circle_y = 450;\r
-               if (node_number == 0) {\r
-                       var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
-                       var circle_main = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\r
-                       var inCircle1_main = jQuery(circle_main).attr({\r
-                               id: node_name + "_group",\r
-                               cx: circle_x,\r
-                               cy: circle_y,\r
-                               r: 90,\r
-                               'stroke': "black",\r
-                               'stroke-width': 3,\r
-                               fill: "white"\r
-                       });\r
-                       var text1 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text1_main = jQuery(text1).attr({\r
-                               id: node_name + "_title1",\r
-                               x: circle_x,\r
-                               y: circle_y - 8,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle',\r
-                               "stroke": "black",\r
-                               "stroke-width": 0.8\r
-\r
-                       });\r
-                       jQuery(text1).text(node_name);\r
-                       var text2 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text2_main = jQuery(text2).attr({\r
-                               id: node_name + "_title2",\r
-                               x: circle_x,\r
-                               y: circle_y + 0 - 100,\r
-                               fill: "                       ",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text2).text(node_type);\r
-                       var g_main = jQuery(g).append(inCircle1_main);\r
-                       jQuery(g).append(text1_main);\r
-                       jQuery(g).append(text2_main);\r
-                       jQuery(g).attr("id", node_name);\r
-                       jQuery(g).attr("type", node_type);\r
-                       if (node_type != "ext-group")\r
-                               jQuery(g).attr("sub", "");\r
-                       else {\r
-                               jQuery(g).attr("sub", node_name);\r
-                               jQuery(g).attr("ip-prefix", ip);\r
-                               //ext_ip[jQuery("#ext-group_ip-prefix").val().trim()] = jQuery("#node_name").val().trim();\r
-\r
-                       }\r
-                       if (node_type.indexOf("chain") > -1)\r
-                               jQuery(g).attr("flow", 0);\r
-                       console.log(g_main);\r
-                       jQuery('#service_svg2').append(g_main);\r
-                       console.log(jQuery('#service_svg2').html())\r
-               } else if (node_number == 1) {\r
-                       var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
-                       var circle_main = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\r
-                       var inCircle1_main = jQuery(circle_main).attr({\r
-                               id: node_name + "_group",\r
-                               cx: circle_x,\r
-                               cy: circle_y,\r
-                               r: 90,\r
-                               'stroke': "black",\r
-                               'stroke-width': 3,\r
-                               fill: "white"\r
-                       });\r
-                       var host1 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host1_main = jQuery(host1).attr({\r
-                               id: node_list[0],\r
-                               x: circle_x - 57,\r
-                               y: circle_y - 25,\r
-                               width: 114,\r
-                               height: 50,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var text1 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text1_main = jQuery(text1).attr({\r
-                               id: node_name + "_title1",\r
-                               x: circle_x,\r
-                               y: circle_y - 48,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle',\r
-                               "stroke": "black",\r
-                               "stroke-width": 0.8\r
-                       });\r
-                       jQuery(text1).text(node_name);\r
-                       var text2 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text2_main = jQuery(text2).attr({\r
-                               id: node_name + "_title2",\r
-                               x: circle_x,\r
-                               y: (circle_y - 0 - 100),\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text2).text(node_type);\r
-                       var text3 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text3_main = jQuery(text3).attr({\r
-                               id: node_list[0] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y + 5,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text3).text(node_list[0]);\r
-                       var g_main = jQuery(g).append(inCircle1_main);\r
-                       jQuery(g).append(host1_main);\r
-                       jQuery(g).append(text1_main);\r
-                       jQuery(g).append(text2_main);\r
-                       jQuery(g).append(text3_main);\r
-                       jQuery(g).attr("id", node_name);\r
-                       jQuery(g).attr("type", node_type);\r
-                       jQuery(g).attr("sub", node_name,node_list[0]);\r
-                       if (node_type.indexOf("chain") > -1)\r
-                               jQuery(g).attr("flow", 0);\r
-                       if(ip) jQuery(g).attr("ip-prefix", ip);\r
-                       jQuery('#service_svg2').append(g_main);\r
-               } else if (node_number == 2) {\r
-                       var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
-                       var circle_main = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\r
-                       var inCircle1_main = jQuery(circle_main).attr({\r
-                               id: node_name + "_group",\r
-                               cx: circle_x,\r
-                               cy: circle_y,\r
-                               r: 90,\r
-                               'stroke': "black",\r
-                               'stroke-width': 3,\r
-                               fill: "white"\r
-                       });\r
-                       var host1 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host1_main = jQuery(host1).attr({\r
-                               id: node_list[0],\r
-                               x: circle_x - 55,\r
-                               y: circle_y - 25,\r
-                               width: 110,\r
-                               height: 34,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var host2 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host2_main = jQuery(host2).attr({\r
-                               id: node_list[1],\r
-                               x: circle_x - 55,\r
-                               y: circle_y + 18,\r
-                               width: 110,\r
-                               height: 34,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var text1 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text1_main = jQuery(text1).attr({\r
-                               id: node_name + "_title1",\r
-                               x: circle_x,\r
-                               y: circle_y - 48,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle',\r
-                               "stroke": "black",\r
-                               "stroke-width": 0.8\r
-                       });\r
-                       jQuery(text1).text(node_name);\r
-                       var text2 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text2_main = jQuery(text2).attr({\r
-                               id: node_name + "_title2",\r
-                               x: circle_x,\r
-                               y: circle_y - 0 - 100,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text2).text(node_type);\r
-                       var text3 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text3_main = jQuery(text3).attr({\r
-                               id: node_list[0] + "_text",\r
-                               x: circle_x,\r
-                               y: circle_y - 5,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text3).text(node_list[0]);\r
-                       var text4 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text4_main = jQuery(text4).attr({\r
-                               id: node_list[1] + "_text",\r
-                               x: circle_x,\r
-                               y: circle_y + 40,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text4).text(node_list[1]);\r
-                       var g_main = jQuery(g).append(inCircle1_main);\r
-                       jQuery(g).append(host1_main);\r
-                       jQuery(g).append(host2_main);\r
-                       jQuery(g).append(text1_main);\r
-                       jQuery(g).append(text2_main);\r
-                       jQuery(g).append(text3_main);\r
-                       jQuery(g).append(text4_main);\r
-                       jQuery(g).attr("id", node_name);\r
-                       jQuery(g).attr("type", node_type);\r
-                       jQuery(g).attr("sub", node_name,node_list[0] + "," + node_list[1]);\r
-                       if (node_type.indexOf("chain") > -1)\r
-                               jQuery(g).attr("flow", 0);\r
-                   if(ip) jQuery(g).attr("ip-prefix", ip);\r
-                       jQuery('#service_svg2').append(g);\r
-\r
-               } else if (node_number == 3) {\r
-                       var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
-                       var circle_main = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\r
-                       var inCircle1_main = jQuery(circle_main).attr({\r
-                               id: node_name + "_group",\r
-                               cx: circle_x,\r
-                               cy: circle_y,\r
-                               r: 90,\r
-                               'stroke': "black",\r
-                               'stroke-width': 3,\r
-                               fill: "white"\r
-                       });\r
-                       var host1 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host1_main = jQuery(host1).attr({\r
-                               id: node_list[0],\r
-                               x: circle_x - 55,\r
-                               y: circle_y - 31,\r
-                               width: 110,\r
-                               height: 25,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var host2 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host2_main = jQuery(host2).attr({\r
-                               id: node_list[1],\r
-                               x: circle_x - 55,\r
-                               y: circle_y - 3,\r
-                               width: 110,\r
-                               height: 25,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var host3 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host3_main = jQuery(host3).attr({\r
-                               id: node_list[2],\r
-                               x: circle_x - 55,\r
-                               y: circle_y + 27,\r
-                               width: 110,\r
-                               height: 25,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var text1 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text1_main = jQuery(text1).attr({\r
-                               id: node_name + "_title1",\r
-                               x: circle_x,\r
-                               y: circle_y - 51,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle',\r
-                               "stroke": "black",\r
-                               "stroke-width": 0.8\r
-                       });\r
-                       jQuery(text1).text(node_name);\r
-                       var text2 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text2_main = jQuery(text2).attr({\r
-                               id: node_name + "_title2",\r
-                               x: circle_x,\r
-                               y: circle_y - 0 - 100,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text2).text(node_type);\r
-                       var text3 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text3_main = jQuery(text3).attr({\r
-                               id: node_list[0] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y - 13,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text3).text(node_list[0]);\r
-                       var text4 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text4_main = jQuery(text4).attr({\r
-                               id: node_list[1] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y + 15,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text4).text(node_list[1]);\r
-                       var text5 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text5_main = jQuery(text5).attr({\r
-                               id: node_list[2] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y + 45,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text5).text(node_list[2]);\r
-                       var g_main = jQuery(g).append(inCircle1_main);\r
-                       jQuery(g).append(host1_main);\r
-                       jQuery(g).append(host2_main);\r
-                       jQuery(g).append(host3_main);\r
-                       jQuery(g).append(text1_main);\r
-                       jQuery(g).append(text2_main);\r
-                       jQuery(g).append(text3_main);\r
-                       jQuery(g).append(text4_main);\r
-                       jQuery(g).append(text5_main);\r
-                       jQuery(g).attr("id", node_name);\r
-                       jQuery(g).attr("type", node_type);\r
-                       jQuery(g).attr("sub", node_name,node_list[0] + "," + node_list[1] + "," + node_list[2]);\r
-                       if (node_type.indexOf("chain") > -1)\r
-                               jQuery(g).attr("flow", 0);\r
-                       jQuery('#service_svg2').append(g);\r
-               }\r
-               else if(node_number >=4){\r
-                       var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
-                       var circle_main = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\r
-                       var inCircle1_main = jQuery(circle_main).attr({\r
-                               id: node_name + "_group",\r
-                               cx: circle_x,\r
-                               cy: circle_y,\r
-                               r: 90,\r
-                               'stroke': "black",\r
-                               'stroke-width': 3,\r
-                               fill: "white"\r
-                       });\r
-                       var host1 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host1_main = jQuery(host1).attr({\r
-                               id: node_list[0],\r
-                               x: circle_x - 55,\r
-                               y: circle_y - 31,\r
-                               width: 110,\r
-                               height: 25,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var host2 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host2_main = jQuery(host2).attr({\r
-                               id: node_list[1],\r
-                               x: circle_x - 55,\r
-                               y: circle_y - 3,\r
-                               width: 110,\r
-                               height: 25,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var host3 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
-                       var host3_main = jQuery(host3).attr({\r
-                               id: node_list[2],\r
-                               x: circle_x - 55,\r
-                               y: circle_y + 27,\r
-                               width: 110,\r
-                               height: 25,\r
-                               'stroke': "black",\r
-                               'stroke-width': 1,\r
-                               fill: "white"\r
-                       });\r
-                       var text1 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text1_main = jQuery(text1).attr({\r
-                               id: node_name + "_title1",\r
-                               x: circle_x,\r
-                               y: circle_y - 51,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle',\r
-                               "stroke": "black",\r
-                               "stroke-width": 0.8\r
-                       });\r
-                       jQuery(text1).text(node_name);\r
-                       var text2 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text2_main = jQuery(text2).attr({\r
-                               id: node_name + "_title2",\r
-                               x: circle_x,\r
-                               y: circle_y - 0 - 100,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text2).text(node_type);\r
-                       var text3 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text3_main = jQuery(text3).attr({\r
-                               id: node_list[0] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y - 13,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text3).text(node_list[0]);\r
-                       var text4 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text4_main = jQuery(text4).attr({\r
-                               id: node_list[1] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y + 15,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text4).text(node_list[1]);\r
-                       var text5 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text5_main = jQuery(text5).attr({\r
-                               id: node_list[2] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y + 45,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text5).text(node_list[2]);\r
-                       var text6 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
-                       var text6_main = jQuery(text6).attr({\r
-                               id: node_list[2] + '_text',\r
-                               x: circle_x,\r
-                               y: circle_y + 43+25,\r
-                               fill: "black",\r
-                               'text-anchor': 'middle'\r
-                       });\r
-                       jQuery(text6).text("........");\r
-                       var g_main = jQuery(g).append(inCircle1_main);\r
-                       jQuery(g).append(host1_main);\r
-                       jQuery(g).append(host2_main);\r
-                       jQuery(g).append(host3_main);\r
-                       jQuery(g).append(text1_main);\r
-                       jQuery(g).append(text2_main);\r
-                       jQuery(g).append(text3_main);\r
-                       jQuery(g).append(text4_main);\r
-                       jQuery(g).append(text5_main);\r
-                       jQuery(g).append(text6_main);\r
-                       jQuery(g).attr("id", node_name);\r
-                       jQuery(g).attr("type", node_type);\r
-                       jQuery(g).attr("sub", node_name,node_list[0] + "," + node_list[1] + "," + node_list[2]);\r
-                       if (node_type.indexOf("chain") > -1)\r
-                               jQuery(g).attr("flow", 0);\r
-                       jQuery('#service_svg2').append(g);\r
-               }\r
-       }\r
-\r
-    var intentNodesArray=[];//node id--->node name\r
-       function getUserNodes(data){\r
-       var nodes=data["node"];\r
-    for(var item in nodes){\r
-       intentNodesArray[nodes[item]["node-id"]]=nodes[item]["node-name"];\r
-     }\r
-       }\r
-       function analyjson_topo(user_data) {\r
-           //jQuery("#service_svg2").show();\r
-               //jQuery("#service_svg").hide();\r
-               //jQuery("#graph").hide();\r
-               //jQuery("#service_svg").empty();\r
-               // var username = jQuery("#getUserName").val();\r
-               //alert(username);\r
-               var html_init = '<defs><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
-                    <marker id="idtext2" 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></defs>';\r
-               jQuery("#service_svg2").html(html_init);\r
-               //var topo_data;\r
-               //  jQuery.ajax({\r
-               //      url: "/restconf/config/nemo-intent:users/",\r
-               //      type: "GET",\r
-               //      async: false,\r
-               //      dataType: "json",\r
-               //      success: function(data) {\r
-               //              console.log(data);\r
-               //              topo_data = data;\r
-               //      },\r
-               //      error: function(data) {\r
-               //              console.log(data);\r
-               //      }\r
-               // });\r
-\r
-               //var name_data_list = topo_data["users"]["user"];\r
-\r
-               //var user_json_data, user_data;\r
-               // for (var i in name_data_list) {\r
-               //      if (name_data_list[i]["user-name"] == username) {\r
-               //              user_data = name_data_list[i];\r
-               //              user_json_data = name_data_list[i]["objects"];\r
-               //              break;\r
-               //      }\r
-               // }\r
-\r
-               var user_json_data = user_data['objects'];\r
-               if (user_json_data == null)\r
-                       return;\r
-               getUserNodes(user_json_data);\r
-               console.log("intentNodesArray",intentNodesArray);\r
-               //host\r
-               var host_list = [];\r
-               for (var host_cursor in user_json_data["node"]) {\r
-                       if (user_json_data["node"][host_cursor]["node-type"] != "host")\r
-                               continue;\r
-                       host_list[user_json_data["node"][host_cursor]["node-id"]] = user_json_data["node"][host_cursor]["node-name"];\r
-\r
-               }\r
-\r
-               //vas\r
-               var vas_list = [];\r
-               for (var vas_cursor in user_json_data["node"]) {\r
-                       // if (user_json_data["node"][vas_cursor]["node-type"] != "cache" && user_json_data["node"][vas_cursor]["node-type"] != "fw" && user_json_data["node"][vas_cursor]["node-type"] != "lb" )\r
-                               // continue;\r
-\r
-                       vas_list[user_json_data["node"][vas_cursor]["node-id"]] = user_json_data["node"][vas_cursor]["node-name"];\r
-\r
-               }\r
-        \r
-\r
-               //group\r
-               var node_list = [];\r
-\r
-               //l2/l3-group\r
-               for (var lgroup_cursor in user_json_data["node"]) {\r
-                       if (user_json_data["node"][lgroup_cursor]["node-type"] != "l2-group" && user_json_data["node"][lgroup_cursor]["node-type"] != "l3-group")\r
-                               continue;\r
-                       var sub_count = 0;\r
-                       var sub_list = [];\r
-                       for (var sub_cursor in user_json_data["node"][lgroup_cursor]["sub-node"]) {\r
-                               sub_list[sub_count] = host_list[user_json_data["node"][lgroup_cursor]["sub-node"][sub_cursor]["node-id"]];\r
-                               sub_count++;\r
-                       }\r
-                       var ip='';\r
-                       var myProperty=user_json_data["node"][lgroup_cursor]['property'];\r
-                       if(myProperty){\r
-                       for(var item in myProperty){\r
-                               if(myProperty[item]['property-name']=='ip-prefix'){\r
-                                       ip=myProperty[item]['property-values']['string-value'][0]['value'];\r
-                               }\r
-                       }\r
-               }\r
-                       draw_group_data(user_json_data["node"][lgroup_cursor]["node-name"], sub_list.length, sub_list, user_json_data["node"][lgroup_cursor]["node-type"], ip);\r
-                       redraw_node_possition_data();\r
-                       node_list[user_json_data["node"][lgroup_cursor]["node-id"]] = user_json_data["node"][lgroup_cursor]["node-name"];\r
-               }\r
-               //chain_group\r
-               for (var cgroup_cursor in user_json_data["node"]) {\r
-\r
-                       if (user_json_data["node"][cgroup_cursor]["node-type"] != "chain-group")\r
-                               continue;\r
-                       //alert("chain");\r
-                       var sub_count = 0;\r
-                       var sub_list = [];\r
-                       for (var sub_cursor in user_json_data["node"][cgroup_cursor]["sub-node"]) {\r
-                               //alert(user_json_data["node"][cgroup_cursor]["sub-node"][sub_cursor]["node-id"]);\r
-                               sub_list[sub_count] = vas_list[user_json_data["node"][cgroup_cursor]["sub-node"][sub_cursor]["node-id"]];\r
-                               sub_count++;\r
-                       }\r
-                       //alert();\r
-                       draw_group_data(user_json_data["node"][cgroup_cursor]["node-name"], sub_list.length, sub_list, user_json_data["node"][cgroup_cursor]["node-type"], "");\r
-                       redraw_node_possition_data();\r
-                       node_list[user_json_data["node"][cgroup_cursor]["node-id"]] = user_json_data["node"][cgroup_cursor]["node-name"];\r
-               }\r
-               //ext-group\r
-               for (var egroup_cursor in user_json_data["node"]) {\r
-                       if (user_json_data["node"][egroup_cursor]["node-type"] != "ext-group")\r
-                               continue;\r
-                       // alert("ext");\r
-                       var ip;\r
-                       for (var ip_cursor in user_json_data["node"][egroup_cursor]["property"]) {\r
-                               if (user_json_data["node"][egroup_cursor]["property"][ip_cursor]["property-name"] == "ip-prefix") {\r
-                                       ip = user_json_data["node"][egroup_cursor]["property"][ip_cursor]["property-values"]["string-value"][0]["value"];\r
-                               }\r
-                       }\r
-                       draw_group_data(user_json_data["node"][egroup_cursor]["node-name"], 0, '', user_json_data["node"][egroup_cursor]["node-type"], ip);\r
-                       redraw_node_possition_data();\r
-                       node_list[user_json_data["node"][egroup_cursor]["node-id"]] = user_json_data["node"][egroup_cursor]["node-name"];\r
-               }\r
-          // console.log(node_list);\r
-               //connection\r
-               for (var conn_cursor in user_json_data["connection"]) {\r
-                       var start_name = node_list[user_json_data["connection"][conn_cursor]["end-node"][0]["node-id"]];\r
-                       var end_name = node_list[user_json_data["connection"][conn_cursor]["end-node"][1]["node-id"]];\r
-                       var bandwidth;\r
-                       if (user_json_data["connection"][conn_cursor]["property"] != null)\r
-                               bandwidth = user_json_data["connection"][conn_cursor]["property"][0]["property-values"]["int-value"][0]["value"];\r
-                       else\r
-                               bandwidth = 100;\r
-                       draw_connection_data(user_json_data["connection"][conn_cursor]["connection-name"], start_name, end_name, bandwidth / 100);\r
-               }\r
-\r
-               //flow\r
-               if (user_json_data["flow"] != null) {\r
-                       var flow_list = [];\r
-                       for (var flow_cursor in user_json_data["flow"]) {\r
-                               var src_ip, dst_ip;\r
-                               for (var match_cursor in user_json_data["flow"][flow_cursor]["match-item"]) {\r
-                                       if (user_json_data["flow"][flow_cursor]["match-item"][match_cursor]["match-item-name"] == "dst-ip") {\r
-                                               dst_ip = user_json_data["flow"][flow_cursor]["match-item"][match_cursor]["match-item-value"]["string-value"];\r
-                                       }\r
-                                       if (user_json_data["flow"][flow_cursor]["match-item"][match_cursor]["match-item-name"] == "src-ip") {\r
-                                               src_ip = user_json_data["flow"][flow_cursor]["match-item"][match_cursor]["match-item-value"]["string-value"];\r
-                                       }\r
-                               }\r
-                               if(!user_json_data["flow"][flow_cursor]["property"]){\r
-                               draw_flow_data(src_ip, dst_ip, user_json_data["flow"][flow_cursor]["flow-name"]);\r
-                           }\r
-                           else{\r
-                               var src_node,dest_node;\r
-                               var property=user_json_data["flow"][flow_cursor]["property"];\r
-                               for(var item in property){\r
-                               if(property[item]["property-name"]=="src-node")\r
-                                       src_node=property[item]["property-values"]["string-value"][0]["value"];\r
-                               if(property[item]["property-name"]=="dst-node")\r
-                                       dest_node=property[item]["property-values"]["string-value"][0]["value"];\r
-                              }\r
-                              draw_flow_data(null, null, user_json_data["flow"][flow_cursor]["flow-name"],src_node,dest_node);\r
-                           }\r
-                               flow_list[user_json_data["flow"][flow_cursor]["flow-id"]] = user_json_data["flow"][flow_cursor]["flow-name"]\r
-                       }\r
-\r
-               }\r
-               //operation\r
-               if (user_data["operations"] != null) {\r
-                       for (var operation_cursor in user_data["operations"]["operation"]) {\r
-                               var myTarget=user_data["operations"]["operation"][operation_cursor]["action"][0]['action-name'];\r
-                               if(myTarget!='go-through') continue;\r
-                               var flow_name = flow_list[user_data["operations"]["operation"][operation_cursor]["target-object"]];\r
-                               var chain_name = node_list[user_data["operations"]["operation"][operation_cursor]["action"][0]["parameter-values"]["string-value"][0]["value"]];\r
-                               var node_start = jQuery("[id='" + flow_name+"']").attr("node_start");\r
-                               var node_end = jQuery("[id='" + flow_name+"']").attr("node_end");\r
-                               var c1_flag = 0;\r
-                               var c2_flag = 0;\r
-                               for (var i = 0; i < jQuery("#service_svg2 path").length; i++) {\r
-                                       if (jQuery("#service_svg2 path:eq(" + i + ")").attr("type") == "connection") {\r
-                                               var node_name_old_1 = jQuery("#service_svg2 path:eq(" + i + ")").attr("node_start");\r
-                                               var node_name_old_2 = jQuery("#service_svg2 path:eq(" + i + ")").attr("node_end");\r
-                                               console.log("old:" + node_name_old_1 + "  " + node_name_old_2);\r
-                                               if (((node_start == node_name_old_1) && (chain_name == node_name_old_2)) || ((node_start == node_name_old_2) && (chain_name == node_name_old_1))) {\r
-                                                       c1_flag = 1;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               for (var i = 0; i < jQuery("#service_svg2 path").length; i++) {\r
-                                       if (jQuery("#service_svg2 path:eq(" + i + ")").attr("type") == "connection") {\r
-                                               var node_name_old_1 = jQuery("#service_svg2 path:eq(" + i + ")").attr("node_start");\r
-                                               var node_name_old_2 = jQuery("#service_svg2 path:eq(" + i + ")").attr("node_end");\r
-                                               console.log("old:" + node_name_old_1 + "  " + node_name_old_2);\r
-                                               if (((node_end == node_name_old_1) && (chain_name == node_name_old_2)) || ((node_end == node_name_old_2) && (chain_name == node_name_old_1))) {\r
-                                                       c2_flag = 1;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               if (c1_flag == 0 && c2_flag == 0) {\r
-                                       alert("No connection!");\r
-                                       return;\r
-                               }\r
-                               lead_policy(node_start, chain_name, parseInt(jQuery("#" + flow_name).attr("count")), jQuery("#" + flow_name).attr("stroke"), flow_name + "_1", chain_name, node_start, node_end)\r
-                               lead_policy(chain_name, node_end, parseInt(jQuery("#" + flow_name).attr("count")), jQuery("#" + flow_name).attr("stroke"), flow_name + "_2", chain_name, node_start, node_end)\r
-                               jQuery("#" + flow_name).remove();\r
-                       }\r
-\r
-               }\r
-       }\r
-\r
-       //parse nemo language\r
-       function parseNemoLan(userinfo) {\r
-               console.log(userinfo);\r
-               var userJsonString = JSON.stringify(userinfo);\r
-               var userJson = JSON.parse(userJsonString);\r
-               // console.log(userJson);\r
-               var user_data = userinfo;\r
-               //set host nodes connection and flow array  array[id]-->name\r
-               var host = [];\r
-               var nodes = [];\r
-               var connection = [];\r
-               var flow = [];\r
-               for (var i in user_data) {\r
-                       // console.log(i);\r
-                       if (i == 'objects') {\r
-                               for (var j in user_data['objects']) {\r
-                                       // console.log(j);\r
-                                       if (j == 'node') {\r
-                                               for (var k in user_data[i][j]) {\r
-                                                       nodes[user_data[i][j][k]["node-id"]] = user_data[i][j][k]["node-name"];\r
-                                               }\r
-                                       } else if (j == 'connection') {\r
-                                               for (var k in user_data[i][j]) {\r
-                                                       connection[user_data[i][j][k]["connection-id"]] = user_data[i][j][k]["connection-name"];\r
-                                               }\r
-                                       } else if (j == 'flow') {\r
-                                               for (var k in user_data[i][j]) {\r
-                                                       flow[user_data[i][j][k]["flow-id"]] = user_data[i][j][k]["flow-name"];\r
-                                               }\r
-                                       }\r
-                               }\r
-                       } else if (i == 'operations') {\r
-\r
-                       }\r
-               }\r
-               console.log(nodes);\r
-               console.log(connection);\r
-               console.log(flow);\r
-               //parse and show nemo language(node connection flow operation)\r
-               for (var i in user_data["objects"]) {\r
-                       if (i == "node") {\r
-                               var nodeNemo = [];\r
-                               var node = user_data["objects"]['node'];\r
-                               for(var j in node){\r
-                                       if(node[j]["node-type"]=="fw"||node[j]["node-type"]=="firewall"){\r
-                                               node[j].order=1;\r
-                                       }\r
-                                       else if(node[j]["node-type"]=="cache"){\r
-                                               node[j].order=1;\r
-                                       }\r
-                                       else if(node[j]["node-type"]=="lb"||node[j]["node-type"]=="loadblance"){\r
-                                               node[j].order=1;\r
-                                       }\r
-                                       else if(node[j]["node-type"]=="host"||(node[j]["node-type"].indexOf("host")>=0)||node[j]["node-type"]=="dpi"){\r
-                                               node[j].order=2;\r
-                                       }\r
-                                       else if(node[j]["node-type"]=="ext-group"){\r
-                                               node[j].order=4;\r
-                                       }\r
-                                       else{\r
-                                               node[j].order=3;\r
-                                       }\r
-                               }\r
-                               console.log(node);\r
-                               node.sort(function(a,b){return a.order-b.order;});\r
-                               for (var j in node) {\r
-                                       var nemo_str='';\r
-                                       if(node[j]['node-type']=='host'||node[j]['node-type'].indexOf('host')>=0){\r
-                                                nemo_str += "IMPORT Node  " + node[j]['node-name'] + " Type " + node[j]['node-type'];\r
-                                       }else{\r
-                                                nemo_str += "CREATE Node  " + node[j]['node-name'] + " Type " + node[j]['node-type'];\r
-                                       }                                       \r
-                                       var sub_node = node[j]['sub-node'];\r
-                                       if (sub_node && sub_node.length > 0) {\r
-                                               nemo_str += ' Contain ';\r
-                                               for (var k in sub_node) {\r
-                                                       nemo_str += nodes[sub_node[k]['node-id']] + ',';\r
-                                               }\r
-                                               nemo_str = nemo_str.substring(0, nemo_str.length - 1);\r
-                                       }\r
-                                       var property = node[j]['property'];\r
-                                       if (property && property.length > 0) {\r
-                                               nemo_str += ' Property ';\r
-                                               for (var k in property) {\r
-                                                       nemo_str += property[k]['property-name'] + ':"' + property[k]['property-values']['string-value'][0]['value'] + '",';\r
-                                               }\r
-                                               nemo_str = nemo_str.substring(0, nemo_str.length - 1);\r
-                                       }\r
-                                       nodeNemo.push(nemo_str);\r
-                               }\r
-                               for (var item in nodeNemo) {\r
-                                       // alert(jQuery("#nemo_str_show").html);\r
-                                       jQuery("#nemo_str_show").append('<p>'+nodeNemo[item]+';&nbsp;&nbsp;'+'</p>');\r
-                               }\r
-                               console.log(nodeNemo);\r
-                       } \r
-\r
-                       else if (i == "connection") {\r
-                               var connectionNemo = [];\r
-                               var conn = user_data["objects"]['connection'];\r
-                               for (var j in conn) {\r
-                                       var nemo_str = "CREATE Connection " + conn[j]['connection-name'] + ' Type ' + conn[j]['connection-type'];\r
-                                       nemo_str += " Endnodes " + nodes[conn[j]['end-node'][0]['node-id']] + ',' + nodes[conn[j]['end-node'][1]['node-id']];\r
-                                   var property = conn[j]['property'];\r
-                                   if(property&&property.length>0){\r
-                                       nemo_str+=" Property";\r
-                                   for(var k in property){\r
-                                       nemo_str+=' '+property[k]['property-name']+':"';\r
-                                       var property_value=property[k]['property-values'];\r
-                                       console.log(property_value);\r
-                                       for(var v in property_value){//int-value or string-value\r
-                                               nemo_str+=property_value[v][0]['value'];\r
-                                       }\r
-                                       nemo_str+='",';\r
-                                   }\r
-                                       nemo_str = nemo_str.substring(0,nemo_str.length-1);\r
-                               }\r
-\r
-                                       connectionNemo.push(nemo_str);\r
-                               }\r
-                               for (var item in connectionNemo) {\r
-                                       // alert(jQuery("#nemo_str_show").html);\r
-                                       jQuery("#nemo_str_show").append('<p>'+connectionNemo[item]+';&nbsp;&nbsp;'+'</p>');\r
-                               }\r
-                               console.log(connectionNemo);\r
-                       } \r
-\r
-                       else if (i = 'flow') {\r
-                               var flowNemo = [];\r
-                               var fl = user_data["objects"]['flow'];\r
-                               for (var j in fl) {\r
-                                       var nemo_str = 'CREATE Flow ' + fl[j]['flow-name'];\r
-                                       var match = fl[j]["match-item"];\r
-                                       if (match && match.length > 0) {\r
-                                               nemo_str += " Match ";\r
-                                               for (var k in match) {\r
-                                                       if(match[k]["match-item-value"]['string-value'])\r
-                                                       nemo_str += match[k]['match-item-name'] + ':"' + match[k]["match-item-value"]['string-value'] + '",';\r
-                                                   else if(match[k]["match-item-value"]['int-value'])\r
-                                                       nemo_str += match[k]['match-item-name'] + ':' + match[k]["match-item-value"]['int-value'] + ',';\r
-                                               }\r
-                                               nemo_str = nemo_str.substring(0, nemo_str.length - 1);\r
-                                       }\r
-                                       var property=fl[j]["property"];\r
-                                               if(property && property.length > 0){\r
-                                                       nemo_str += " Property ";\r
-                                                       for (var k in property) {\r
-                                                       if(property[k]["property-name"])\r
-                                                       nemo_str += property[k]['property-name'] + ':"' + intentNodesArray[property[k]["property-values"]['string-value'][0]["value"]] + '",';\r
-                                               }\r
-                                               nemo_str = nemo_str.substring(0, nemo_str.length - 1);\r
-                                               }\r
-                                       flowNemo.push(nemo_str);\r
-                               }\r
-\r
-                               for (var item in flowNemo) {\r
-                                       // alert(jQuery("#nemo_str_show").html);\r
-                                       jQuery("#nemo_str_show").append('<p>'+flowNemo[item]+';&nbsp;&nbsp;'+'</p>');\r
-                               }\r
-                               console.log(flowNemo);\r
-                       }\r
-               }\r
-\r
-\r
-               for (var i in user_data["operations"]) {\r
-                       var opNemo = [];\r
-                       var operation = user_data["operations"]['operation'];\r
-                       for (var j in operation) {\r
-                               var nemo_str = 'CREATE Operation ' + operation[j]["operation-name"];\r
-                               // console.log(flow[operation[j]['target-object']]);\r
-                               if(flow[operation[j]['target-object']])\r
-                                       nemo_str += ' Target ' + flow[operation[j]['target-object']];\r
-                               else\r
-                                       nemo_str += ' Target ' + connection[operation[j]['target-object']];\r
-                               var condition = operation[j]['condition-segment'];\r
-                               if (condition && condition.length > 0) {\r
-                                       nemo_str += " Condition ";\r
-                                       condition = condition.sort(function(a,b){return a.order-b.order});\r
-                                       console.log(condition);\r
-                                       for (var k in condition) {\r
-                                               nemo_str+=relChars[condition[k]["precursor-relation-operator"]];\r
-                                               nemo_str+="(";\r
-                                               nemo_str+=condition[k]["condition-parameter-name"];\r
-                                               nemo_str+=opChars[condition[k]["condition-parameter-match-pattern"]];\r
-                                               nemo_str+=condition[k]["condition-parameter-target-value"]["string-value"];\r
-                                               nemo_str+=")";\r
-                                          \r
-                                       }\r
-                               }\r
-                               var action = operation[j]['action'];\r
-                               if (action && action.length > 0) {\r
-                                       nemo_str += " Action "\r
-                                       for (var k in action) {\r
-                                               if(action[k]['action-name']=='go-through')\r
-                                           nemo_str += action[k]['action-name'] + ":" + nodes[action[k]['parameter-values']["string-value"][0]['value']] + ',';\r
-                                          if(action[k]['action-name']=='deny')\r
-                                               nemo_str+= action[k]['action-name']+',';\r
-                                          if(action[k]['action-name']=='qos-bandwidth'){\r
-                                               nemo_str+= action[k]['action-name']+':'+action[k]["parameter-values"]["int-value"][0]["value"]+'kbps,';\r
-                                          }\r
-                                       }\r
-                                       nemo_str = nemo_str.substring(0, nemo_str.length - 1);\r
-                               }\r
-                               \r
-                               opNemo.push(nemo_str);\r
-                       }\r
-                               for (var item in opNemo) {\r
-                                       // alert(jQuery("#nemo_str_show").html);\r
-                                       jQuery("#nemo_str_show").append('<p>'+opNemo[item]+';&nbsp;&nbsp;'+'</p>');\r
-                               }\r
-                       console.log(opNemo);\r
-               }\r
-       }\r
diff --git a/nemo-ui/src/main/resources/nemo/js/phyNetwork.js b/nemo-ui/src/main/resources/nemo/js/phyNetwork.js
deleted file mode 100644 (file)
index abf85bf..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-//var phy_hosts; move to nemo_main.js
-//var phy_hosts; move to nemo_main.js
-
-var phy_links,phy_nodes;
-var host_count,node_count_phy,link_count;
-var Node_phy_Id = 0;
-var Edge_phy_Id = 0;
-nodes_phy = new vis.DataSet();
-edges_phy = new vis.DataSet();
-var host_id = [];
-var host_name = [];
-var phy_host_ip = [];
-var phy_host_mac = [];
-var node_map_id = [];
-
-var physicalData=null;
-jQuery(document).ready(function ($) {
-getPhysicalDatas();
-if(!physicalData) return;
-//analy_topo(physicalData);
-//create_physical_topo();
-});
- //physicalJson
- function getPhysicalDatas(){
-       var PhyData=null;
-       jQuery.ajax({
-                       url: "/restconf/operational/generic-physical-network:physical-network/", 
-                       type:"GET",
-                       dataType:"json",
-                       async:false,
-                       success: function(data){
-                               console.log(data);
-                               if(data != null)
-                               {
-                                       PhyData=data;
-                                       physicalData=data;
-                                       //analy_topo(physicalData);
-                    //create_physical_topo();
-                               }
-                               else
-                                       alert("No Physical Data");
-                       },
-                       error:function(data){
-                        console.log("Get Physical Data Error!");
-                        // alert("Get Physical Data Error!");
-                       }
-               }); 
-       return PhyData;
- }
-
- function getPhysicalData(){
- physicalData=getPhysicalDatas();
- console.log(physicalData)
- if(!physicalData) physicalData=physicalJson;
- if(!physicalData) return;
- }
- // getPhysicalData();
-
-function createPhysicalTopo(Data){
-       nodes_phy.clear();
-       edges_phy.clear();
-       if(!Data) Data=physicalData;
-       if(!Data) return;
-       var physicalHost=Data['physical-network']['physical-hosts'];
-       var physicalNode=Data['physical-network']['physical-nodes']['physical-node'];
-       var physicalLink=Data['physical-network']['physical-links'];
-       var myHost=[];//host_id----->[vis_node_id,connected node_id,host_name]
-       var myHostPort=[];//host_id----->host_port_id
-       var myNode=[];//node_id----->[vis_node_id,node_type]
-       var externalNode=[];//external_port_id----->[vis_node_id,node_id]
-       var myLink=[];//null
-       if(physicalHost){
-               physicalHost=physicalHost['physical-host'];             
-               for(var i in physicalHost){
-                       myHost[physicalHost[i]['host-id']]=[+i+1,physicalHost[i]['node-id'],physicalHost[i]['host-name']];
-                       myHostPort[physicalHost[i]['host-id']]=physicalHost[i]['port-id'];
-                       nodes_phy.add({
-                               id: +i+1,
-                label: physicalHost[i]["host-name"],
-                image: "src/app/nemo/images/host.png",
-                shape: 'image',
-                           fontSize: 15
-                       });
-               }
-       }
-       console.log(myHost);
-       if(physicalNode){
-               var nodeslen=nodes_phy.get().length;
-               for(var i in physicalNode){
-                       myNode[physicalNode[i]['node-id']]=[nodeslen+1,physicalNode[i]['node-type'],''];
-                       nodes_phy.add({
-                               id: ++nodeslen,
-                label: physicalNode[i]["node-type"]+physicalNode[i]["node-id"].split(":")[1],
-                group: physicalNode[i]["node-type"],
-                       });
-                       var physicalPort=physicalNode[i]['physical-port'];
-                       if(physicalPort){
-                               for(var item in physicalPort){
-                                       if(physicalPort[item]['port-type']=='external')
-                                       {
-                                       var flag=true;
-                                       for(var hostPort in myHostPort){
-                                               if(physicalPort[item]['port-id']==myHostPort[hostPort])
-                                                       flag=false;
-                                       }
-                                       if(flag)        
-                                       externalNode[physicalPort[item]['port-id']]=[physicalNode[i]['node-id']];
-                                   }
-                               }
-                       }
-               }
-       }
-       console.log(myNode);
-       console.log(externalNode);
-
-       var externalnodecount=0;
-    for(var x in externalNode){externalnodecount++;}
-    if(externalnodecount>0){
-       var nodeslen=nodes_phy.get().length;
-       for(var i in externalNode){
-               externalNode[i]=[nodeslen+1,externalNode[i][0]];
-               nodes_phy.add({
-                               id: ++nodeslen,
-                label: 'ext-network',
-                image: "src/app/nemo/images/ext-group.png",
-                shape: 'image',
-                       });
-       }
-       console.log(externalNode);
-       var edgeslen=edges_phy.get().length;
-       for(var i in externalNode){
-               edges_phy.add({
-                               id: ++edgeslen,
-                from:externalNode[i][0],
-                           to:myNode[externalNode[i][1]][0],
-                           length:150,
-                           width: 1
-                       });
-       }
-    }
-       if(physicalLink){
-               physicalLink=physicalLink['physical-link'];
-               var edgeslen=edges_phy.get().length;
-               for(var i in physicalLink){
-                       // myLink[]
-                       edges_phy.add({
-                    id:++edgeslen,
-                       from:myNode[physicalLink[i]['src-node-id']][0],
-                       to:myNode[physicalLink[i]['dest-node-id']][0],
-                       length:150,
-                       width: 2
-                       });
-               }
-       }
-
-    var hostcount=0;
-       for(var x in physicalHost){hostcount++;}
-       if(hostcount>0){
-               var edgeslen=edges_phy.get().length;
-               console.log(edgeslen);
-               for(var i in myHost){
-                       // myLink[]
-                       edges_phy.add({
-                   id:++edgeslen,
-                       from:myHost[i][0],
-                       to:myNode[myHost[i][1]][0],
-                       length:150,
-                       width: 1
-                       });
-               }
-       }
-
-var data = {
-               nodes: nodes_phy,
-               edges: edges_phy
-       };
-
-var options_phy = {
-               /* physics: {
-               repulsion: {
-                       centralGravity: 0,
-                       springLength: 200,//弹簧长度
-                       springConstant: 0,//弹簧常数
-                       nodeDistance: 0,
-                       damping: 0 //阻尼,减幅,衰减
-               }}, */
-               smoothCurves: false,
-               stabilize: false,
-               nodes: {
-          // default for all nodes
-                       shape: 'dot', 
-                       fontSize:16,
-                       radius:23,
-                       fixed:true
-               },
-               edges:{
-                       // length:200,
-                       width: 1
-               },
-               groups:{
-                       switch:{
-                               color: {
-                                       border: 'black',
-                                       background: '#B0E2FF',                          
-                               }
-            },
-                               
-                       router:{
-                               color: {
-                                       border: 'black',
-                                       background: '#7FFF00',
-                               }       
-
-                       }
-               }
-               
-       };
-       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);
-}
-
-function analy_topo(topo_data)
-{
-       phy_hosts = [];
-       phy_nodes = [];
-       phy_links = [];
-       host_count = 0;
-       node_count_phy = 0;
-       link_count = 0;
-       if(topo_data["physical-network"]["physical-nodes"]!=null)
-       {
-               for(var i in topo_data["physical-network"]["physical-nodes"]["physical-node"])
-               {
-                       var node_data_temp = [];
-                       var data_temp;
-                       var json_temp = topo_data["physical-network"]["physical-nodes"]["physical-node"][i];
-/*                     for(var key in json_temp)
-                       {
-                               data_temp = json_temp[key];
-                       } */
-                       node_data_temp["node-id"] = json_temp["node-id"];
-                       node_data_temp["node-type"] = json_temp["node-type"];
-                       phy_nodes[node_count_phy] = node_data_temp;
-                       node_count_phy++;
-               }
-
-       }
-       if(topo_data["physical-network"]["physical-hosts"]!=null)
-       {
-               for(var i in topo_data["physical-network"]["physical-hosts"]["physical-host"])
-               {
-                       //var host_name_temp = 'host' + i;
-                       var host_data_temp = [];
-                       var data_temp;
-                       var json_temp = topo_data["physical-network"]["physical-hosts"]["physical-host"][i];
-                       /* for(var key in json_temp)
-                       {
-                               data_temp = json_temp[key];
-                       } */
-                       host_data_temp["node-id"] = json_temp["node-id"];
-                       host_data_temp["host-name"] = json_temp["host-name"];
-                       host_data_temp["host-id"] = json_temp["host-id"];
-                       phy_hosts[host_count] = host_data_temp;
-                       host_count++;
-                       host_id[json_temp["host-name"]] = json_temp["host-id"];
-                       host_name[json_temp["host-id"]] = json_temp["host-name"];
-                       if(json_temp['ip-addresses'])
-                       phy_host_ip[json_temp["ip-addresses"]["ip-address"][0]] = json_temp["host-name"];
-                   if(json_temp['mac-address'])
-                       phy_host_mac[json_temp["mac-address"]] = json_temp["host-name"];
-               }
-       }
-       if(topo_data["physical-network"]["physical-links"]!=null)
-       {
-               for(var i in topo_data["physical-network"]["physical-links"]["physical-link"])
-               {
-                       var link_data_temp = [];
-                       var data_temp;
-                       var json_temp = topo_data["physical-network"]["physical-links"]["physical-link"][i];
-               /*      for(var key in json_temp)
-                       {
-                               data_temp = json_temp[key];
-                       } */
-                       link_data_temp["link-id"] = json_temp["link-id"];
-                       link_data_temp["src-node-id"] = json_temp["src-node-id"];
-                       link_data_temp["dest-node-id"] = json_temp["dest-node-id"];
-                       phy_links[link_count] = link_data_temp;
-                       link_count++;
-               }
-       }
-}
-
-function create_physical_topo()
-{
-       nodes_phy.clear();
-       edges_phy.clear();
-       node_map_id = [];
-       Node_phy_Id = 0;
-       Edge_phy_Id = 0;
-       console.log(phy_nodes);
-       for(var i in phy_nodes)
-       {
-               nodes_phy.add({
-            id: ++Node_phy_Id,
-            label: phy_nodes[i]["node-type"]+phy_nodes[i]["node-id"].split(":")[1],
-            group: phy_nodes[i]["node-type"],
-        });
-               node_map_id[phy_nodes[i]["node-id"]] = Node_phy_Id;
-       }
-       for(var i in phy_hosts)
-       {
-               nodes_phy.add({
-            id: ++Node_phy_Id,
-            label: phy_hosts[i]["host-name"],
-            image: "src/app/nemo/images/host.png",
-            shape: 'image',
-                       fontSize: 15
-        });
-               var to_full_id;
-               for(var node_id_cursor in phy_nodes)
-               {
-                       if(phy_nodes[node_id_cursor]["node-id"].indexOf(phy_hosts[i]["node-id"]) > -1)
-                       {
-                               to_full_id = phy_nodes[node_id_cursor]["node-id"];
-                               break;
-                       }
-               }
-               edges_phy.add({
-                       id:++Edge_phy_Id,
-                       from:Node_phy_Id,
-                       to:node_map_id[to_full_id],
-                       length:150
-               });
-               node_map_id[phy_nodes[i]["host-id"]] = Node_phy_Id;
-       }
-       for(var i in phy_links)
-       {
-           var from_full_id;
-               for(var node_id_cursor in phy_nodes)
-               {
-                       if(phy_nodes[node_id_cursor]["node-id"].indexOf(phy_links[i]["src-node-id"]) > -1)
-                       {
-                               from_full_id = phy_nodes[node_id_cursor]["node-id"];
-                               break;
-                       }
-               }
-               var to_full_id;
-               for(var node_id_cursor in phy_nodes)
-               {
-                       if(phy_nodes[node_id_cursor]["node-id"].indexOf(phy_links[i]["dest-node-id"]) > -1)
-                       {
-                               to_full_id = phy_nodes[node_id_cursor]["node-id"];
-                               break;
-                       }
-               }
-               edges_phy.add({
-                       id:++Edge_phy_Id,
-                       from:node_map_id[from_full_id],
-                       to:node_map_id[to_full_id],
-                       length:150,
-                       width: 2
-               });
-       }
-       // console.log(1);
-       var data = {
-               nodes: nodes_phy,
-               edges: edges_phy
-       };
-       var options_phy = {
-               /* physics: {
-               repulsion: {
-                       centralGravity: 0,
-                       springLength: 200,//弹簧长度
-                       springConstant: 0,//弹簧常数
-                       nodeDistance: 0,
-                       damping: 0 //阻尼,减幅,衰减
-               }}, */
-               smoothCurves: false,
-               stabilize: false,
-               nodes: {
-          // default for all nodes
-                       shape: 'dot', 
-                       fontSize:16,
-                       radius:23,
-                       fixed:true
-               },
-               edges:{
-                       // length:200,
-                       width: 1
-               },
-               groups:{
-                       switch:{
-                               color: {
-                                       border: 'black',
-                                       background: '#B0E2FF',                          
-                               }
-            },
-                               
-                       router:{
-                               color: {
-                                       border: 'black',
-                                       background: '#7FFF00',
-                               }       
-
-                       }
-               }
-               
-       };
-       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').remove();
-       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);
-       }
-       var node_count = jQuery("#"+id).find('tr').length;
-       console.log("node_count:",node_count);
-       if(!node_count) return;
-       if(node_count<10){
-               jQuery("div.tableBodyContainer:first").height(node_count*22+5);
-       }
-       else{
-               jQuery("div.tableBodyContainer:first").height(200);
-       }
-},
-createPhyicalLinkTable:function (id,Data){
-       if(!Data) Data=physicalData;
-       if(!Data) return;
-       var physaicallinks=[];
-       if(!Data['physical-network']['physical-links']) return;
-       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').remove();
-       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);
-       }
-}
-}
-
-
diff --git a/nemo-ui/src/main/resources/nemo/js/virNetwork.js b/nemo-ui/src/main/resources/nemo/js/virNetwork.js
deleted file mode 100644 (file)
index 3ef9071..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-nodes_vir = new vis.DataSet();
-edges_vir = new vis.DataSet();
-
-var VirtualDatas='';
-
- function getVirtualInfos(){
-        var virData=null;
-               jQuery.ajax({
-                       url: "/restconf/config/generic-virtual-network:virtual-networks/", 
-                       type:"GET",
-                       dataType:"json",
-                       async: false,
-                       success: function(data){
-                               if(data != null)
-                               {
-                                       virData = data;
-                                       VirtualDatas=data;
-                                       console.log(VirtualDatas);
-                               }
-                               else
-                                       alert("No Virtual Data");
-                       },
-                       error:function(data){
-                       // alert("Get Virtual Data Error!");
-                       console.log("Get Virtual Data Error!");
-                       }
-               });
-        return virData;
- }
-  getVirtualInfos();
- function getVirtualDatas(){
-       var Datas=getVirtualInfos();
-       if(!Datas){
-       Datas=virtualJson;
-       }
-       VirtualDatas=Datas;
-       // console.log(VirtualDatas);
-       //return virtualDatas;
- }
-// getVirtualDatas();
-function getVirtualInfoById(user_id,Data){
-       if(!Data) Data=VirtualDatas;
-       if(!Data) return;
-       if(typeof(Data)=='string'){
-    var user_json = JSON.parse(Data);
-    }
-    else
-    {
-    var user_json = Data;
-    }
-
-    var user_info = user_json['virtual-networks']['virtual-network'];
-       for(var item in user_info){
-               if(user_id==user_info[item]['user-id']){
-                       return user_info[item];
-               }
-       }
-}
-
-var virtual_nodes=[];//virtual_node_id----->[vid_node_id,virtual_node_name]
-function create_virtual_topo(topo_data,intentinfo,mappinginfo)
-{
-       nodes_vir.clear();
-       edges_vir.clear();
-
-    console.log(topo_data);
-       var vitrual_network=topo_data;
-       if(vitrual_network!=null)
-       {       
-               var vitrual_nodes_js=vitrual_network["virtual-nodes"]["virtual-node"];
-               for(var i in vitrual_nodes_js)
-               {
-                       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_js[i]["node-type"]+(+i+1),
-            group: vitrual_nodes_js[i]["node-type"],
-            radius:20
-        });
-
-               }
-       console.log(virtual_nodes);
-       var vitrual_links=vitrual_network["virtual-links"]["virtual-link"];
-       for(var j in vitrual_links){
-                  edges_vir.add({
-            id: +j+1,
-            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'}
-        });
-       }
-       }
-
-drawOthers(null,intentinfo,mappinginfo);
-console.log(virtual_nodes);
-       var data= {
-               nodes: nodes_vir,
-               edges: edges_vir
-       };
-       var options = {
-               /* physics: {
-               repulsion: {
-                       centralGravity: 0,
-                       springLength: 200,//弹簧长度
-                       springConstant: 0,//弹簧常数
-                       nodeDistance: 0,
-                       damping: 0 //阻尼,减幅,衰减
-               }}, */
-               smoothCurves: false,
-               stabilize: true,
-               nodes: {
-          // default for all nodes
-                       fontSize:15,
-                       shape: 'dot',            
-                       radius:23,
-                       fixed:true
-               },
-               groups:{
-                       vswitch:{                               
-                               color: {
-                                       border: 'black',
-                                       background: '#B0E2FF',                          
-                               }
-            },                         
-                       vrouter:{
-                               color: {
-                                       border: 'black',
-                                       background: '#7FFF00',
-                               }       
-                       },
-                       fw:{
-                               //shape:'box',
-                               color: {
-                                       border: 'black',
-                                       background: '#EEEE00',
-                               }       
-                       },
-                       lb:{
-                               //shape:'box',
-                               color: {
-                                       border: 'black',
-                                       background: '#C63300',
-                               }       
-                       },
-                       cache:{
-                               //shape:'box',
-                               color: {
-                                       border: 'black',
-                                       background: '#FF00FF',
-                               }       
-                       }
-               }
-               
-       };
-
-    console.log(nodes_vir.get().length);
-       var container = document.getElementById('vir_graph');
-       var graph = new vis.Graph(container, data, options);
-}
-
-function drawOthers(virtualData,intentData,mappingData){
-       console.log();
-       var user_nodes=intentData['objects']['node'];
-       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=[];//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'];
-                       }
-               };
-       console.log(intentNodes);
-       console.log(mappingNodes);
-       var nodelen= nodes_vir.get().length;
-       for(var item in intentNodes){
-               virtual_nodes[item]=[parseInt(nodelen+1),'external-node'];
-               if(intentNodes[item][0]=='host'){
-                       nodes_vir.add({
-            id: ++nodelen,
-            label: ''+intentNodes[item][1],
-            image: "src/app/nemo/images/host.png",
-            shape: 'image',
-                       fontSize: 15
-        });
-               }
-               else if(intentNodes[item][0]=='fw'){
-                       nodes_vir.add({
-            id: ++nodelen,
-            label: ''+intentNodes[item][1],
-            group: 'fw',
-            image: "src/app/nemo/images/fw.png",
-            shape: 'image',
-                       fontSize: 15
-        });
-               }
-               else if(intentNodes[item][0]=='lb'){
-                       nodes_vir.add({
-            id: ++nodelen,
-            label: ''+intentNodes[item][1],
-            group: 'lb',
-            image: "src/app/nemo/images/lb.png",
-            shape: 'image',
-                       fontSize: 15
-        });
-               }
-               else if(intentNodes[item][0]=='cache'){
-                       nodes_vir.add({
-            id: ++nodelen,
-            label: ''+intentNodes[item][1],
-            group: 'cache',
-            image: "src/app/nemo/images/cache.png",
-            shape: 'image',
-                       fontSize: 15
-        });
-               }
-               else if(intentNodes[item][0]=='ext-group'){
-                       nodes_vir.add({
-            id: ++nodelen,
-            label: ''+intentNodes[item][1],
-            image: "src/app/nemo/images/ext-group.png",
-            shape: 'image',
-                       fontSize: 15
-        });
-               }
-               else
-                       {
-                               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][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(0)').empty();
-       for(var item in virtualnodes){          
-               // if(virtualnodes[item][1]!='external-node'){}
-
-           var $tr='<tr><td title='+virtualnodes[item].virtual_node_id+'>'+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);
-       }
-       var node_count = jQuery("#"+id).find('tr').length;
-       console.log("node_count:",node_count);
-       if(!node_count) return
-       if(node_count<10){
-               jQuery("div.tableBodyContainer:eq(2)").height(node_count*22+5);
-       }
-       else{
-               jQuery("div.tableBodyContainer:eq(2)").height(200);
-       }
-},
-
-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(0)').empty();
-       for(var item in virtuallinks){
-               var $tr='<tr><td title='+item+'>'+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);
-       }
-}
-}
-
-
-
diff --git a/nemo-ui/src/main/resources/nemo/js/vnMapping.js b/nemo-ui/src/main/resources/nemo/js/vnMapping.js
deleted file mode 100644 (file)
index 2d189f8..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-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
-                       console.log("Get intent-vn Mapping Data Error!");\r
-                       // alert("Get intent-vn Mapping Data Error!");\r
-               }\r
-       });\r
-       return MappingData;\r
-}\r
-\r
-function getMappingDatas() {\r
-       var Datas = getMappingResults();\r
-       if (!Datas) {\r
-               Datas = VnMappingJson;\r
-       }\r
-       MappingResults = Datas;\r
-       //return virtualDatas;\r
-}\r
-\r
-getMappingResults();\r
-// getMappingDatas();\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
-                       console.log("Get vn-pn Mapping Data Error!");\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(0)').empty();\r
-                       var count=0;\r
-                       for(var x in virtual_nodes){count++;}\r
-                       if(count==0) 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
-                       var node_count = jQuery("#"+id).find('tr').length;\r
-                       console.log("node_count:",node_count);\r
-                       if(!node_count) return\r
-                       if(node_count<10){\r
-                               jQuery("div.tableBodyContainer:eq(4)").height(node_count*22+5);\r
-                       }\r
-                       else{\r
-                               jQuery("div.tableBodyContainer:eq(4)").height(200);\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
-                       var count=0;\r
-                       for(var x in virtual_nodes){count++;}\r
-                       if(count==0) return;\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 title='+PathId[i]+'>' + PathId[i].substring(0,14)+'...' + '</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'];\r
-                       if(!sourcePaths) return Paths;\r
-\r
-                       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
-       }
\ No newline at end of file
diff --git a/nemo-ui/src/main/resources/nemo/module/keyWords.js b/nemo-ui/src/main/resources/nemo/module/keyWords.js
deleted file mode 100644 (file)
index 3df34ee..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-var keyWords=['CREATE','IMPORT','Host','Node','Connection','Flow','Operation','Type','Endnodes','Property','Contain','Match','Target','Action','Condition'];\r
-var opChars={\r
-                       "not-less-than":">=",\r
-                       "less-than":"<",\r
-                       "not-greater-than":"<=",\r
-                       "greater-than":">",\r
-                       "not-equal":"!=",\r
-                       "equal":"==",\r
-                       "between":"between",\r
-                       "periodical":"periodical"\r
-                       }\r
-var relChars={\r
-                       "and":"&&",\r
-                       "none":"",\r
-                       "or":"||",\r
-                       "not":"!",\r
-                       }\r
-\r
diff --git a/nemo-ui/src/main/resources/nemo/module/migrate.js b/nemo-ui/src/main/resources/nemo/module/migrate.js
deleted file mode 100644 (file)
index ca47e56..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-var physicalJson=null;\r
-var userinfo=null;\r
-var virtualJson=null;\r
-var VnMappingJson=null;\r
-var PnMappingJson=null;
\ No newline at end of file
diff --git a/nemo-ui/src/main/resources/nemo/module/migrate_js.js b/nemo-ui/src/main/resources/nemo/module/migrate_js.js
deleted file mode 100644 (file)
index 4c41c7c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-function Import() \r
-{ \r
-    for( var i=0; i<arguments.length; i++ )\r
-    { \r
-        var file = arguments[i]; \r
-            document.write('<script type="text/javascript" src="' + file + '"></sc' + 'ript>'); \r
-    } \r
-};\r
-Import('lib/jquery-1.11.3.js','lib/jquery-ui.min.js','lib/vis.js');\r
-// Import('src/app/nemo/module/test/servicechain_userJson.js');\r
-//Import('src/app/nemo/module/test/bod_userJson.js');
\ No newline at end of file
diff --git a/nemo-ui/src/main/resources/nemo/module/test/bod_userJson.js b/nemo-ui/src/main/resources/nemo/module/test/bod_userJson.js
deleted file mode 100644 (file)
index 9cb5abb..0000000
+++ /dev/null
@@ -1,2582 +0,0 @@
-var userinfo ={\r
-  "users": {\r
-    "user": [\r
-      {\r
-        "user-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",\r
-        "user-role": "tenant",\r
-        "user-password": "abc",\r
-        "user-name": "user2",\r
-        "objects": {\r
-          "node": [\r
-            {\r
-              "node-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-              "node-name": "server2",\r
-              "node-type": "host"\r
-            },\r
-            {\r
-              "node-id": "1eaf9a67-a171-42a8-9282-71cf702f61dd",\r
-              "node-name": "vm1",\r
-              "node-type": "host"\r
-            },\r
-            {\r
-              "node-id": "175425f7-c9c9-474a-962c-70cb6c180d4d",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "gateway-ip",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "l2-group",\r
-              "node-name": "interior",\r
-              "sub-node": [\r
-                {\r
-                  "node-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "1eaf9a67-a171-42a8-9282-71cf702f61dd",\r
-                  "order": 0\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-              "node-name": "vm2",\r
-              "node-type": "host"\r
-            },\r
-            {\r
-              "node-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-              "property": [\r
-                {\r
-                  "property-name": "ac-info-network",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.13.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-protocol",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "static",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:4:2",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "ext-group",\r
-              "node-name": "enterprise"\r
-            },\r
-            {\r
-              "node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.11.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "gateway-ip",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.11.1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "l2-group",\r
-              "node-name": "dmz",\r
-              "sub-node": [\r
-                {\r
-                  "node-id": "7b796915-adf4-4356-b5ca-de005ac410c1",\r
-                  "order": 0\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "7b796915-adf4-4356-b5ca-de005ac410c1",\r
-              "node-name": "server1",\r
-              "node-type": "host"\r
-            },\r
-            {\r
-              "node-id": "d463232f-363f-491c-a6f5-097ed0a794d3",\r
-              "property": [\r
-                {\r
-                  "property-name": "ac-info-network",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "172.168.1.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-protocol",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "static",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3:4",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "ext-group",\r
-              "node-name": "internet"\r
-            }\r
-          ],\r
-          "connection": [\r
-            {\r
-              "connection-id": "30da6667-608e-4d2f-bb50-79e5cabcc523",\r
-              "property": [\r
-                {\r
-                  "property-name": "bandwidth",\r
-                  "property-values": {\r
-                    "int-value": [\r
-                      {\r
-                        "value": 128,\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "connection-type": "p2p",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "175425f7-c9c9-474a-962c-70cb6c180d4d",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-name": "c1"\r
-            },\r
-            {\r
-              "connection-id": "e0d56fee-7235-4748-a2a1-eb5e3733d866",\r
-              "connection-type": "p2p",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "d463232f-363f-491c-a6f5-097ed0a794d3",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-name": "c3"\r
-            },\r
-            {\r
-              "connection-id": "b49e3960-c08d-4fff-b9fc-08b65ebcde2c",\r
-              "connection-type": "p2p",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "175425f7-c9c9-474a-962c-70cb6c180d4d",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-name": "c2"\r
-            }\r
-          ]\r
-        }\r
-      }\r
-    ]\r
-  }\r
-}\r
-//console.log(userinfo);\r
-userinfo2={\r
-  "users": {\r
-    "user": [\r
-      {\r
-        "user-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",\r
-        "user-role": "tenant",\r
-        "user-password": "abc",\r
-        "user-name": "user2",\r
-        "objects": {\r
-          "node": [\r
-            {\r
-              "node-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-              "node-name": "server1",\r
-              "node-type": "host"\r
-            },\r
-            {\r
-              "node-id": "9d6f5343-f38e-4101-ab60-309e6322ace3",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:1:1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "operating-mode",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "fw",\r
-              "node-name": "dmz1.fw1"\r
-            },\r
-            {\r
-              "node-id": "ae83ca1d-43ef-4d02-a48b-6c250bb084bd",\r
-              "property": [\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.13.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-network",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-protocol",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "static",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:4:2",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "ext-group",\r
-              "node-name": "interior"\r
-            },\r
-            {\r
-              "node-id": "7dc2233e-f8a2-416c-902a-95cff42b398a",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "gateway-ip",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "l2-group",\r
-              "node-name": "dmz1.n2",\r
-              "sub-node": [\r
-                {\r
-                  "node-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-                  "order": 1\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "c3afb4f5-ffb4-4413-bad9-020babc67ed8",\r
-              "property": [\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "172.168.1.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-network",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-protocol",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "static",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3:4",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "ext-group",\r
-              "node-name": "internet"\r
-            },\r
-            {\r
-              "node-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-              "node-name": "vm2",\r
-              "node-type": "host"\r
-            },\r
-            {\r
-              "node-id": "0dc22c0a-8ff0-448f-afc3-86fa22976242",\r
-              "node-type": "chain-group",\r
-              "node-name": "dmz1.n1",\r
-              "sub-node": [\r
-                {\r
-                  "node-id": "9d6f5343-f38e-4101-ab60-309e6322ace3",\r
-                  "order": 0\r
-                }\r
-              ]\r
-            }\r
-          ],\r
-          "connection": [\r
-            {\r
-              "connection-id": "94709024-6675-4a9a-b098-07e14d18633f",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "c3afb4f5-ffb4-4413-bad9-020babc67ed8",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "0dc22c0a-8ff0-448f-afc3-86fa22976242",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-type": "p2p",\r
-              "connection-name": "c1"\r
-            },\r
-            {\r
-              "connection-id": "a88b037d-0aa0-4a50-8076-225449c8f036",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "0dc22c0a-8ff0-448f-afc3-86fa22976242",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "7dc2233e-f8a2-416c-902a-95cff42b398a",\r
-                  "order": 1\r
-                }\r
-              ],\r
-              "connection-type": "p2p",\r
-              "connection-name": "dmz1.c1"\r
-            },\r
-            {\r
-              "connection-id": "06c60ef9-f16d-4368-9697-aa6b1cf1340a",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "ae83ca1d-43ef-4d02-a48b-6c250bb084bd",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "7dc2233e-f8a2-416c-902a-95cff42b398a",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-type": "p2p",\r
-              "connection-name": "c2"\r
-            }\r
-          ],\r
-          "flow": [\r
-            {\r
-              "flow-id": "613648ce-1059-4d06-b25a-0d54193c6586",\r
-              "match-item": [\r
-                {\r
-                  "match-item-name": "dst-port",\r
-                  "match-item-value": {\r
-                    "int-value": 80\r
-                  }\r
-                },\r
-                {\r
-                  "match-item-name": "dst-ip",\r
-                  "match-item-value": {\r
-                    "string-value": "192.168.12.0/24"\r
-                  }\r
-                },\r
-                {\r
-                  "match-item-name": "src-ip",\r
-                  "match-item-value": {\r
-                    "string-value": "172.168.1.0/24"\r
-                  }\r
-                }\r
-              ],\r
-              "flow-name": "dmz1.f1"\r
-            }\r
-          ]\r
-        },\r
-        "operations": {\r
-          "operation": [\r
-            {\r
-              "operation-id": "315b1a21-f5b3-4298-868f-6b08729d2622",\r
-              "priority": 0,\r
-              "action": [\r
-                {\r
-                  "action-name": "deny",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "target-object": "613648ce-1059-4d06-b25a-0d54193c6586",\r
-              "operation-name": "dmz1.o1"\r
-            }\r
-          ]\r
-        },\r
-        "template-instances": {\r
-          "template-instance": [\r
-            {\r
-              "template-instance-id": "e630091d-f336-4a3a-a699-fe3a4fe7c6e2",\r
-              "template-parameter": [\r
-                {\r
-                  "parameter-name": "subnodes-n2",\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "vm2",\r
-                        "order": 0\r
-                      },\r
-                      {\r
-                        "value": "server1",\r
-                        "order": 1\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "parameter-name": "location-fw",\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:1:1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "parameter-name": "ipprefix",\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "parameter-name": "location-n2",\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "parameter-name": "gatewayip",\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "parameter-name": "srcip",\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "172.168.1.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "template-name": "dmz",\r
-              "template-instance-name": "dmz1"\r
-            }\r
-          ]\r
-        }\r
-      },\r
-      {\r
-        "user-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b",\r
-        "user-role": "admin",\r
-        "user-password": "abcd",\r
-        "user-name": "admin",\r
-        "template-definitions": {\r
-          "template-definition": [\r
-            {\r
-              "template-name": "dmz",\r
-              "abstract-intents": {\r
-                "abstract-objects": {\r
-                  "abstract-connection": [\r
-                    {\r
-                      "connection-id": "86f56efc-db49-4d7c-853c-6e7db169f56c",\r
-                      "end-node": [\r
-                        {\r
-                          "node-id": "fc096b0b-95cb-4f12-af28-b700a1228191",\r
-                          "order": 0\r
-                        },\r
-                        {\r
-                          "node-id": "9cfda02c-ba8b-41c2-9b36-b7144390fcc3",\r
-                          "order": 1\r
-                        }\r
-                      ],\r
-                      "connection-type": "p2p",\r
-                      "connection-name": "c1"\r
-                    }\r
-                  ],\r
-                  "abstract-node": [\r
-                    {\r
-                      "node-id": "f011ae1d-bb3e-42e0-9fa1-f6fa3641f02d",\r
-                      "property": [\r
-                        {\r
-                          "property-name": "location",\r
-                          "property-values": {\r
-                            "string-value": [\r
-                              {\r
-                                "value": "location-fw",\r
-                                "order": 0\r
-                              }\r
-                            ]\r
-                          }\r
-                        },\r
-                        {\r
-                          "property-name": "operating-mode",\r
-                          "property-values": {\r
-                            "string-value": [\r
-                              {\r
-                                "value": "layer3",\r
-                                "order": 0\r
-                              }\r
-                            ]\r
-                          }\r
-                        }\r
-                      ],\r
-                      "node-type": "fw",\r
-                      "node-name": "fw1"\r
-                    },\r
-                    {\r
-                      "node-id": "9cfda02c-ba8b-41c2-9b36-b7144390fcc3",\r
-                      "property": [\r
-                        {\r
-                          "property-name": "ip-prefix",\r
-                          "property-values": {\r
-                            "string-value": [\r
-                              {\r
-                                "value": "ipprefix",\r
-                                "order": 0\r
-                              }\r
-                            ]\r
-                          }\r
-                        },\r
-                        {\r
-                          "property-name": "gateway-ip",\r
-                          "property-values": {\r
-                            "string-value": [\r
-                              {\r
-                                "value": "gatewayip",\r
-                                "order": 0\r
-                              }\r
-                            ]\r
-                          }\r
-                        },\r
-                        {\r
-                          "property-name": "location",\r
-                          "property-values": {\r
-                            "string-value": [\r
-                              {\r
-                                "value": "location-n2",\r
-                                "order": 0\r
-                              }\r
-                            ]\r
-                          }\r
-                        },\r
-                        {\r
-                          "property-name": "sub-nodes",\r
-                          "property-values": {\r
-                            "string-value": [\r
-                              {\r
-                                "value": "subnodes-n2",\r
-                                "order": 0\r
-                              }\r
-                            ]\r
-                          }\r
-                        }\r
-                      ],\r
-                      "node-type": "l2-group",\r
-                      "node-name": "n2"\r
-                    },\r
-                    {\r
-                      "node-id": "fc096b0b-95cb-4f12-af28-b700a1228191",\r
-                      "node-type": "chain-group",\r
-                      "node-name": "n1",\r
-                      "sub-node": [\r
-                        {\r
-                          "node-id": "f011ae1d-bb3e-42e0-9fa1-f6fa3641f02d",\r
-                          "order": 0\r
-                        }\r
-                      ]\r
-                    }\r
-                  ],\r
-                  "abstract-flow": [\r
-                    {\r
-                      "flow-id": "815c0bee-b04e-4c56-9bb8-b743d72ba66f",\r
-                      "match-item": [\r
-                        {\r
-                          "match-item-name": "dst-port",\r
-                          "match-item-value": {\r
-                            "int-value": 80\r
-                          }\r
-                        },\r
-                        {\r
-                          "match-item-name": "dst-ip",\r
-                          "match-item-value": {\r
-                            "string-value": "ipprefix"\r
-                          }\r
-                        },\r
-                        {\r
-                          "match-item-name": "src-ip",\r
-                          "match-item-value": {\r
-                            "string-value": "srcip"\r
-                          }\r
-                        }\r
-                      ],\r
-                      "flow-name": "f1"\r
-                    }\r
-                  ]\r
-                },\r
-                "abstract-operations": {\r
-                  "abstract-operation": [\r
-                    {\r
-                      "operation-id": "769c52f5-1c75-4c21-b270-15fa259de39b",\r
-                      "priority": 0,\r
-                      "action": [\r
-                        {\r
-                          "action-name": "deny",\r
-                          "order": 0\r
-                        }\r
-                      ],\r
-                      "target-object": "815c0bee-b04e-4c56-9bb8-b743d72ba66f",\r
-                      "operation-name": "o1"\r
-                    }\r
-                  ]\r
-                }\r
-              },\r
-              "template-parameter": [\r
-                {\r
-                  "parameter-name": "subnodes-n2",\r
-                  "parameter-value-type": "string"\r
-                },\r
-                {\r
-                  "parameter-name": "location-fw",\r
-                  "parameter-value-type": "string"\r
-                },\r
-                {\r
-                  "parameter-name": "ipprefix",\r
-                  "parameter-value-type": "string"\r
-                },\r
-                {\r
-                  "parameter-name": "location-n2",\r
-                  "parameter-value-type": "string"\r
-                },\r
-                {\r
-                  "parameter-name": "gatewayip",\r
-                  "parameter-value-type": "string"\r
-                },\r
-                {\r
-                  "parameter-name": "srcip",\r
-                  "parameter-value-type": "string"\r
-                }\r
-              ]\r
-            }\r
-          ]\r
-        }\r
-      }\r
-    ]\r
-  }\r
-  }\r
-var physicalJson2={\r
-  "physical-network": {\r
-    "physical-hosts": {\r
-      "physical-host": [\r
-        {\r
-          "host-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-          "node-id": "openflow:2",\r
-          "host-name": "video-server2",\r
-          "mac-address": "08:00:27:a0:a9:b3",\r
-          "port-id": "openflow:2:2",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.12.4"\r
-            ]\r
-          }\r
-        },\r
-        {\r
-          "host-id": "7b796915-adf4-4356-b5ca-de005ac410c1",\r
-          "node-id": "openflow:1",\r
-          "host-name": "video-server1",\r
-          "mac-address": "00:00:00:00:00:03",\r
-          "port-id": "openflow:1:1",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.11.2"\r
-            ]\r
-          }\r
-        },\r
-        {\r
-          "host-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-          "node-id": "openflow:2",\r
-          "host-name": "vm2",\r
-          "mac-address": "00:00:00:00:00:02",\r
-          "port-id": "openflow:2:1",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.12.3"\r
-            ]\r
-          }\r
-        },\r
-        {\r
-          "host-id": "1eaf9a67-a171-42a8-9282-71cf702f61dd",\r
-          "node-id": "openflow:1",\r
-          "host-name": "vm1",\r
-          "mac-address": "00:00:00:00:00:01",\r
-          "port-id": "openflow:1:2",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.12.2"\r
-            ]\r
-          }\r
-        }\r
-      ]\r
-    },\r
-    "physical-nodes": {\r
-      "physical-node": [\r
-        {\r
-          "node-id": "openflow:3",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:3"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "router"\r
-        },\r
-        {\r
-          "node-id": "openflow:4",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:4"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "router"\r
-        },\r
-        {\r
-          "node-id": "openflow:1",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:1"\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": "56:21:6B:B3:3E:1A",\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": "FE:2C:6E:85:F0:E1",\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": "B2:78:02:9F:FA:2C",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
-        },\r
-        {\r
-          "node-id": "openflow:2",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:2"\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": "52:B8:9B:40:CF:43",\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": "52:A7:95:B0:0F:FE",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
-        }\r
-      ]\r
-    },\r
-    "physical-links": {\r
-      "physical-link": [\r
-        {\r
-          "link-id": "openflow:3:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:3",\r
-          "dest-node-id": "openflow:4",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:4:1",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:1:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:1:3",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:1",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:1"\r
-        }\r
-      ]\r
-    }\r
-  }\r
-}\r
-var physicalJson={\r
-  "physical-network": {\r
-    "physical-hosts": {\r
-      "physical-host": [\r
-        {\r
-          "host-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-          "node-id": "openflow:2",\r
-          "host-name": "video-server2",\r
-          "mac-address": "08:00:27:a0:a9:b3",\r
-          "port-id": "openflow:2:2",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.12.4"\r
-            ]\r
-          }\r
-        },\r
-        {\r
-          "host-id": "7b796915-adf4-4356-b5ca-de005ac410c1",\r
-          "node-id": "openflow:1",\r
-          "host-name": "video-server1",\r
-          "mac-address": "00:00:00:00:00:03",\r
-          "port-id": "openflow:1:1",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.11.2"\r
-            ]\r
-          }\r
-        },\r
-        {\r
-          "host-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-          "node-id": "openflow:2",\r
-          "host-name": "vm2",\r
-          "mac-address": "00:00:00:00:00:02",\r
-          "port-id": "openflow:2:1",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.12.3"\r
-            ]\r
-          }\r
-        },\r
-        {\r
-          "host-id": "1eaf9a67-a171-42a8-9282-71cf702f61dd",\r
-          "node-id": "openflow:1",\r
-          "host-name": "vm1",\r
-          "mac-address": "00:00:00:00:00:01",\r
-          "port-id": "openflow:1:2",\r
-          "ip-addresses": {\r
-            "ip-address": [\r
-              "192.168.12.2"\r
-            ]\r
-          }\r
-        }\r
-      ]\r
-    },\r
-    "physical-nodes": {\r
-      "physical-node": [\r
-        {\r
-          "node-id": "openflow:3",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:3"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "router"\r
-        },\r
-        {\r
-          "node-id": "openflow:4",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:4"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "router"\r
-        },\r
-        {\r
-          "node-id": "openflow:1",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:1"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "switch"\r
-        },\r
-        {\r
-          "node-id": "openflow:2",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:2"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "switch"\r
-        }\r
-      ]\r
-    },\r
-    "physical-links": {\r
-      "physical-link": [\r
-        {\r
-          "link-id": "openflow:4:2",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "dest-port-id": "openflow:3:4",\r
-          "src-port-id": "openflow:4:2",\r
-          "dest-node-id": "openflow:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:4"\r
-        },\r
-        {\r
-          "link-id": "openflow:4:1",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:4:1",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:4"\r
-        },\r
-        {\r
-          "link-id": "openflow:1:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:1:3",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:1",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:1"\r
-        },\r
-        {\r
-          "link-id": "openflow:2:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:2:3",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:2",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:2"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:1",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:1",\r
-          "dest-node-id": "openflow:1",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:1:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:3",\r
-          "dest-node-id": "openflow:4",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:4:1",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:2",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:2",\r
-          "dest-node-id": "openflow:2",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:2:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:2:2",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "dest-port-id": "openflow:3:4",\r
-          "src-port-id": "openflow:2:2",\r
-          "dest-node-id": "openflow:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:2"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:4",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "dest-port-id": "openflow:4:2",\r
-          "src-port-id": "openflow:3:4",\r
-          "dest-node-id": "openflow:4",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        }\r
-      ]\r
-    },\r
-    "physical-paths": {\r
-      "physical-path": [\r
-        {\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:4:1",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 1,\r
-          "bandwidth": 128\r
-        },\r
-        {\r
-          "path-id": "7b875b56-ce40-4fcd-ac76-b361d0311d8f",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:2",\r
-              "order": 1\r
-            },\r
-            {\r
-              "link-id": "openflow:1:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 2,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "cb9b13ad-0172-43f5-9678-69859698071d",\r
-          "delay": 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": "23f80b16-76d1-424c-9a71-aacd60a62bcd",\r
-          "delay": 0,\r
-          "metric": 0,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "3b9d1480-df24-4b0b-ba58-8c92605fe917",\r
-          "delay": 0,\r
-          "metric": 0,\r
-          "bandwidth": 0\r
-        },\r
-        {\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
-          "metric": 1,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "bdd1e0cb-72aa-4f04-a2db-a07a15c62d61",\r
-          "delay": 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": "eaa935ac-c511-4541-80cd-4a1640ae2246",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:2",\r
-              "order": 1\r
-            },\r
-            {\r
-              "link-id": "openflow:1:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 2,\r
-          "bandwidth": 0\r
-        },\r
-        {\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:3:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 1,\r
-          "bandwidth": 128\r
-        },\r
-        {\r
-          "path-id": "c231b5a3-7752-4f78-b8eb-b023ad4bea2f",\r
-          "delay": 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": "aab18b50-3bf6-4fde-aac1-968ffe22f518",\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": "ba0726d2-c72f-4b3e-b972-72da39430537",\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": "e0f22266-e0c2-4467-b143-800a7b212a98",\r
-          "delay": 0,\r
-          "metric": 0,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "765e80be-6232-498d-b095-3b2c59448535",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:2:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 1,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "a710b9b8-5abf-4c59-9afd-88ccf8d935b0",\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": "61c4597d-02a5-4609-8756-955024691a17",\r
-          "delay": 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": "5fc169b2-1209-4663-92c3-031100923f6f",\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
-    }\r
-  }\r
-}\r
-var virtualJson={\r
-  "virtual-networks": {\r
-    "virtual-network": [\r
-      {\r
-        "network-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",\r
-        "virtual-nodes": {\r
-          "virtual-node": [\r
-            {\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:3"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "ee08bce2-0d1b-45f7-947c-73fa82175ee8",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 128\r
-                },\r
-                {\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": "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": "c04b0c95-b19b-4d29-962d-bb88ee271703",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "192.168.12.0/24"\r
-                    ]\r
-                  },\r
-                  "port-type": "internal"\r
-                }\r
-              ]\r
-            },\r
-            {\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:2"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\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
-                  "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
-                },\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": "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:1"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\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
-                  "physical-resource-requirement": [\r
-                    {\r
-                      "attribute-name": "location",\r
-                      "attribute-value": {\r
-                        "string-value": "openflow:1:2"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
-              "node-type": "vrouter",\r
-              "physical-resource-requirement": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:3"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "9fb8376a-f286-489a-bde4-d5adde1c28c8",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                },\r
-                {\r
-                  "port-id": "b743e2d7-bec1-4e88-b2f8-0c3438322e03",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                },\r
-                {\r
-                  "port-id": "57c62f69-536a-4628-8d03-a3bf230ac607",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "192.168.11.0/24"\r
-                    ]\r
-                  },\r
-                  "port-type": "internal"\r
-                }\r
-              ]\r
-            },\r
-            {\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:4"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\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.13.0/24"\r
-                    ]\r
-                  },\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": "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:3"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "3ac1b718-b541-4df4-8e7b-a56407673cbf",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                },\r
-                {\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
-                  "physical-resource-requirement": [\r
-                    {\r
-                      "attribute-name": "location",\r
-                      "attribute-value": {\r
-                        "string-value": "openflow:3:4"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
-                }\r
-              ]\r
-            },\r
-            {\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:2"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "57c413cd-8b84-4eb9-80d1-b67b3b187687",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "3ccecbc5-6871-448e-bfe7-7da0d8d617da",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "7ac662fe-1684-445e-9253-9b55a3cbd03c",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "78baf6e4-5df3-45b2-be20-107844d71d87",\r
-                  "external-mac-addresses": {\r
-                    "external-mac-address": [\r
-                      "00:00:00:00:00:02"\r
-                    ]\r
-                  },\r
-                  "port-type": "external",\r
-                  "physical-resource-requirement": [\r
-                    {\r
-                      "attribute-name": "location",\r
-                      "attribute-value": {\r
-                        "string-value": "openflow:2:1"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
-              "node-type": "vswitch",\r
-              "physical-resource-requirement": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:1"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "58efb0ef-eb99-4afe-bfaa-ee1d6f98e235",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "2ec42067-0694-497f-8fd6-142d5e1e2820",\r
-                  "external-mac-addresses": {\r
-                    "external-mac-address": [\r
-                      "00:00:00:00:00:03"\r
-                    ]\r
-                  },\r
-                  "port-type": "external",\r
-                  "physical-resource-requirement": [\r
-                    {\r
-                      "attribute-name": "location",\r
-                      "attribute-value": {\r
-                        "string-value": "openflow:1:1"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
-                }\r
-              ]\r
-            }\r
-          ]\r
-        },\r
-        "virtual-arps": {\r
-          "virtual-arp": [\r
-            {\r
-              "ip-address": "192.168.12.4",\r
-              "node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
-              "mac-address": "08:00:27:a0:a9:b3",\r
-              "port-id": "fe8a0153-2a95-4473-8b62-16a6542c9212"\r
-            },\r
-            {\r
-              "ip-address": "192.168.11.2",\r
-              "node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
-              "mac-address": "00:00:00:00:00:03",\r
-              "port-id": "2ec42067-0694-497f-8fd6-142d5e1e2820"\r
-            },\r
-            {\r
-              "ip-address": "192.168.12.2",\r
-              "node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
-              "mac-address": "00:00:00:00:00:01",\r
-              "port-id": "c0284004-7b36-4bda-ab98-3f33a67655db"\r
-            },\r
-            {\r
-              "ip-address": "192.168.12.3",\r
-              "node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "mac-address": "00:00:00:00:00:02",\r
-              "port-id": "78baf6e4-5df3-45b2-be20-107844d71d87"\r
-            }\r
-          ]\r
-        },\r
-        "virtual-links": {\r
-          "virtual-link": [\r
-            {\r
-              "link-id": "b19b3f5c-0fb3-4dca-98b5-5136b406e988",\r
-              "src-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
-              "delay": 0,\r
-              "dest-port-id": "3ac1b718-b541-4df4-8e7b-a56407673cbf",\r
-              "metric": 0,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
-              "src-port-id": "b743e2d7-bec1-4e88-b2f8-0c3438322e03"\r
-            },\r
-            {\r
-              "link-id": "6632b4c7-a794-4e14-a2c7-872e81277d94",\r
-              "src-node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
-              "delay": 0,\r
-              "dest-port-id": "57c62f69-536a-4628-8d03-a3bf230ac607",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
-              "src-port-id": "58efb0ef-eb99-4afe-bfaa-ee1d6f98e235"\r
-            },\r
-            {\r
-              "link-id": "8b2218cf-fbbb-4e14-85ca-694ceac1edfb",\r
-              "src-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
-              "delay": 0,\r
-              "dest-port-id": "f7782068-8bf2-4ffb-a432-447a5cb708c4",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
-              "src-port-id": "707d56c8-4aee-4466-9383-503ecedd31c3"\r
-            },\r
-            {\r
-              "link-id": "4b591338-e82f-4b8b-a7c4-afb241549455",\r
-              "src-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
-              "delay": 0,\r
-              "dest-port-id": "7ac662fe-1684-445e-9253-9b55a3cbd03c",\r
-              "metric": 0,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "src-port-id": "f6171160-ef25-45e9-8251-7a44468a9a68"\r
-            },\r
-            {\r
-              "link-id": "8cb78a59-146d-48f6-90e0-6fda9165a901",\r
-              "src-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
-              "delay": 0,\r
-              "dest-port-id": "81e7f41a-be2c-4986-ac1d-11fbd4062be4",\r
-              "metric": 0,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "src-port-id": "9fb8376a-f286-489a-bde4-d5adde1c28c8"\r
-            },\r
-            {\r
-              "link-id": "110d2527-b282-4126-932f-8c2b9d728f82",\r
-              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "delay": 0,\r
-              "dest-port-id": "34bca859-1b88-4d5a-b564-7d9080063609",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
-              "src-port-id": "c3ea674e-3dfb-492b-98d4-94b5f3b826e5"\r
-            },\r
-            {\r
-              "link-id": "c00198e9-8b1c-4f12-84f2-5ddc5bbee995",\r
-              "src-node-id": "80213cce-4e1b-4b32-8d71-e2d68fedc50d",\r
-              "delay": 0,\r
-              "dest-port-id": "b743e2d7-bec1-4e88-b2f8-0c3438322e03",\r
-              "metric": 0,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
-              "src-port-id": "3ac1b718-b541-4df4-8e7b-a56407673cbf"\r
-            },\r
-            {\r
-              "link-id": "98d7b523-9532-4974-825e-c91aa402fe28",\r
-              "src-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
-              "delay": 0,\r
-              "dest-port-id": "5f965841-2e92-4317-a550-4be57d706896",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "src-port-id": "7cb2dda8-3cd2-4d84-996a-1d61aa0358a5"\r
-            },\r
-            {\r
-              "link-id": "ad1e1487-59a5-4fc1-8680-7a1e4d1aaf1a",\r
-              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "delay": 0,\r
-              "dest-port-id": "3ccecbc5-6871-448e-bfe7-7da0d8d617da",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "src-port-id": "c04b0c95-b19b-4d29-962d-bb88ee271703"\r
-            },\r
-            {\r
-              "link-id": "3909140b-cd9d-4dce-a82f-a8b16d33f20b",\r
-              "src-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "delay": 0,\r
-              "dest-port-id": "32ea562d-5ba2-4c84-8560-9f0b4f8dc3ae",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
-              "src-port-id": "57c413cd-8b84-4eb9-80d1-b67b3b187687"\r
-            },\r
-            {\r
-              "link-id": "f24926ee-586f-4434-a56c-b0e77c2b6031",\r
-              "src-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "delay": 0,\r
-              "dest-port-id": "c04b0c95-b19b-4d29-962d-bb88ee271703",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "src-port-id": "3ccecbc5-6871-448e-bfe7-7da0d8d617da"\r
-            },\r
-            {\r
-              "link-id": "866bf38c-8a6b-4c73-8d7b-74b02797171d",\r
-              "src-node-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
-              "delay": 0,\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": "16e4dfd8-74e4-44ba-8a7d-0ddba8e00b52",\r
-              "src-node-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883",\r
-              "delay": 0,\r
-              "dest-port-id": "58efb0ef-eb99-4afe-bfaa-ee1d6f98e235",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "520bdfdc-ecd4-4a3b-ab64-7bdd5f178add",\r
-              "src-port-id": "57c62f69-536a-4628-8d03-a3bf230ac607"\r
-            },\r
-            {\r
-              "link-id": "8295f474-0788-4431-ab0d-124b0c3d0b5f",\r
-              "src-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "delay": 0,\r
-              "dest-port-id": "f6171160-ef25-45e9-8251-7a44468a9a68",\r
-              "metric": 0,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
-              "src-port-id": "7ac662fe-1684-445e-9253-9b55a3cbd03c"\r
-            },\r
-            {\r
-              "link-id": "63d55804-3204-4119-8187-7bd794061986",\r
-              "src-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
-              "delay": 0,\r
-              "dest-port-id": "57c413cd-8b84-4eb9-80d1-b67b3b187687",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "bfc9341e-52d1-4e00-a992-110140be11b4",\r
-              "src-port-id": "32ea562d-5ba2-4c84-8560-9f0b4f8dc3ae"\r
-            },\r
-            {\r
-              "link-id": "92e5487b-ef90-4769-9ca8-10f60ab43c83",\r
-              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "delay": 0,\r
-              "dest-port-id": "01a637dd-55c9-4d96-8729-91538346001f",\r
-              "metric": 1,\r
-              "bandwidth": 128,\r
-              "dest-node-id": "e280be82-6354-4cd3-b8ca-7a41e7acc448",\r
-              "src-port-id": "ee08bce2-0d1b-45f7-947c-73fa82175ee8"\r
-            },\r
-            {\r
-              "link-id": "fad38c1a-153b-4814-bf12-8d40887808b3",\r
-              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "delay": 0,\r
-              "dest-port-id": "7cb2dda8-3cd2-4d84-996a-1d61aa0358a5",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "b0cec72b-376f-47f4-b7ae-44c0eb10d491",\r
-              "src-port-id": "5f965841-2e92-4317-a550-4be57d706896"\r
-            },\r
-            {\r
-              "link-id": "5467514b-9598-4767-8c76-f8e9d23a69b3",\r
-              "src-node-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88",\r
-              "delay": 0,\r
-              "dest-port-id": "9fb8376a-f286-489a-bde4-d5adde1c28c8",\r
-              "metric": 0,\r
-              "bandwidth": 0,\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": "ae7131f1-7207-4693-a149-e497738b1081",\r
-              "src-node-id": "2698e79a-4a9e-4b9a-ae17-a5698a999bc9",\r
-              "delay": 0,\r
-              "dest-port-id": "c3ea674e-3dfb-492b-98d4-94b5f3b826e5",\r
-              "metric": 1,\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
-        "user-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",\r
-        "virtual-routes": {},\r
-        "virtual-paths": {}\r
-      }\r
-    ]\r
-  }\r
-}\r
-var VnMappingJson={\r
-  "intent-vn-mapping-results": {\r
-    "user-intent-vn-mapping": [\r
-      {\r
-        "user-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",\r
-        "intent-vn-mapping-result": [\r
-          {\r
-            "intent-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\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": "1b10a84d-247c-40b7-b4e6-6e3e0b140cda"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "6c787caa-156a-49ed-8546-547bdccf283c",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\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": "78baf6e4-5df3-45b2-be20-107844d71d87"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "e0d56fee-7235-4748-a2a1-eb5e3733d866",\r
-            "intent-type": "connection",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "a4cdf6b5-adcf-4533-b7b0-aed75fa32bbb",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "c00198e9-8b1c-4f12-84f2-5ddc5bbee995"\r
-              },\r
-              {\r
-                "virtual-resource-id": "f4025170-a20b-4a7f-aad1-1f1d4c4c4b4c",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "b19b3f5c-0fb3-4dca-98b5-5136b406e988"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "293c7f66-8a22-4a20-8a91-0fe672431436",\r
-                "virtual-resource-type": "vnode",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "868cf78a-54b7-495d-9ae7-a8fa3f2c7883"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "d463232f-363f-491c-a6f5-097ed0a794d3",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\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": "89f43bd8-e6f7-4aea-9fb2-936f6255bf4b"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "b49e3960-c08d-4fff-b9fc-08b65ebcde2c",\r
-            "intent-type": "connection",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "6bd8c604-dbb7-473b-85eb-4e6df01fa17b",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "8cb78a59-146d-48f6-90e0-6fda9165a901"\r
-              },\r
-              {\r
-                "virtual-resource-id": "39b09f4c-eaeb-4a87-a1ee-bf209926328b",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "5467514b-9598-4767-8c76-f8e9d23a69b3"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "30da6667-608e-4d2f-bb50-79e5cabcc523",\r
-            "intent-type": "connection",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "a7997c59-6880-479d-a50a-7a00ee21ed01",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "866bf38c-8a6b-4c73-8d7b-74b02797171d"\r
-              },\r
-              {\r
-                "virtual-resource-id": "be484e6c-7f80-4d70-b244-d394065e98e1",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "92e5487b-ef90-4769-9ca8-10f60ab43c83"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "1eaf9a67-a171-42a8-9282-71cf702f61dd",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\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": "c0284004-7b36-4bda-ab98-3f33a67655db"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "175425f7-c9c9-474a-962c-70cb6c180d4d",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "52eace82-2f94-4d1d-b135-1a2fb928b741",\r
-                "virtual-resource-type": "vnode",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "d52e6bb0-93aa-4bf8-88cf-f24b11651a88"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "7b796915-adf4-4356-b5ca-de005ac410c1",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\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": "2ec42067-0694-497f-8fd6-142d5e1e2820"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "22282cca-9a13-4d0c-a67e-a933ebb0b0ae",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\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": "fe8a0153-2a95-4473-8b62-16a6542c9212"\r
-              }\r
-            ]\r
-          }\r
-        ],\r
-        "virtual-network-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b"\r
-      }\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
diff --git a/nemo-ui/src/main/resources/nemo/module/test/servicechain_userJson.js b/nemo-ui/src/main/resources/nemo/module/test/servicechain_userJson.js
deleted file mode 100644 (file)
index f4f1f29..0000000
+++ /dev/null
@@ -1,1351 +0,0 @@
-var userinfo ={\r
-  "users": {\r
-    "user": [\r
-      {\r
-        "user-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b",\r
-        "user-role": "tenant",\r
-        "user-password": "abcd",\r
-        "user-name": "user1",\r
-        "objects": {\r
-          "node": [\r
-            {\r
-              "node-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-              "property": [\r
-                {\r
-                  "property-name": "ac-info-network",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.11.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-protocol",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "static",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:4:2",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "ext-group",\r
-              "node-name": "headquarter"\r
-            },\r
-            {\r
-              "node-id": "41ee9aad-5f61-469d-99a9-e691d2a1de05",\r
-              "node-type": "chain-group",\r
-              "node-name": "chain1",\r
-              "sub-node": [\r
-                {\r
-                  "node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a41995",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a419952",\r
-                  "order": 2\r
-                },\r
-                {\r
-                  "node-id": "a5a96dc7-51dd-44a5-802b-7e67a309fb36",\r
-                  "order": 1\r
-                }\r
-                \r
-              ]\r
-            },\r
-            {\r
-              "node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a41995",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:1:1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "operating-mode",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "fw",\r
-              "node-name": "fw1"\r
-            },\r
-            {\r
-              "node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a419952",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:1:1",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "operating-mode",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "fw",\r
-              "node-name": "fw2"\r
-            },\r
-            {\r
-              "node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-              "property": [\r
-                {\r
-                  "property-name": "ac-info-network",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ip-prefix",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "192.168.12.0/24",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "ac-info-protocol",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "static",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:3:4",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "ext-group",\r
-              "node-name": "branch"\r
-            },\r
-            {\r
-              "node-id": "a5a96dc7-51dd-44a5-802b-7e67a309fb36",\r
-              "property": [\r
-                {\r
-                  "property-name": "location",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "openflow:2:2",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                },\r
-                {\r
-                  "property-name": "operating-mode",\r
-                  "property-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "layer3",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "node-type": "cache",\r
-              "node-name": "cache2"\r
-            }\r
-          ],\r
-          "connection": [\r
-            {\r
-              "connection-id": "fed2b570-2e80-4914-a5af-040594b651b9",\r
-              "connection-type": "p2p",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "41ee9aad-5f61-469d-99a9-e691d2a1de05",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-name": "c3"\r
-            },\r
-            {\r
-              "connection-id": "7175bac3-b785-2278-90ed-613480e354e8",\r
-              "connection-type": "p2p",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-name": "c1"\r
-            },\r
-            {\r
-              "connection-id": "9397bac3-d9a7-449a-b20f-8356a2f3760a",\r
-              "connection-type": "p2p",\r
-              "end-node": [\r
-                {\r
-                  "node-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-                  "order": 0\r
-                },\r
-                {\r
-                  "node-id": "41ee9aad-5f61-469d-99a9-e691d2a1de05",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "connection-name": "c2"\r
-            }\r
-          ],\r
-          "flow": [\r
-            {\r
-              "flow-id": "cf48eeee-882e-435a-adf4-ea22ba88331f",\r
-              "match-item": [\r
-                {\r
-                  "match-item-name": "dst-ip",\r
-                  "match-item-value": {\r
-                    "string-value": "192.168.11.0/24"\r
-                  }\r
-                },\r
-                {\r
-                  "match-item-name": "src-ip",\r
-                  "match-item-value": {\r
-                    "string-value": "192.168.12.0/24"\r
-                  }\r
-                }\r
-              ],\r
-              "flow-name": "f1"\r
-            }\r
-          ]\r
-        },\r
-        "operations": {\r
-          "operation": [\r
-            {\r
-              "operation-id": "619ee3bb-1e40-480f-b0fa-a331820a5518",\r
-              "priority": 0,\r
-              "action": [\r
-                {\r
-                  "action-name": "go-through",\r
-                  "order": 0,\r
-                  "parameter-values": {\r
-                    "string-value": [\r
-                      {\r
-                        "value": "41ee9aad-5f61-469d-99a9-e691d2a1de05",\r
-                        "order": 0\r
-                      }\r
-                    ]\r
-                  }\r
-                }\r
-              ],\r
-              "target-object": "cf48eeee-882e-435a-adf4-ea22ba88331f",\r
-              "operation-name": "o1"\r
-            }\r
-          ]\r
-        }\r
-      }\r
-    ]\r
-  }\r
-}\r
-//console.log(userinfo);\r
-var physicalJson= {\r
-  "physical-network": {\r
-    "physical-nodes": {\r
-      "physical-node": [\r
-        {\r
-          "node-id": "openflow:3",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:3"\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": "D2:69:26:45:3C:B4",\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": "82:F5:6A:E7:C2:51",\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": "7E:BD:57:AB:AD:12",\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
-        },\r
-        {\r
-          "node-id": "openflow:4",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:4"\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": "16:4E:17:55:69:EF",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
-        },\r
-        {\r
-          "node-id": "openflow:1",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:1"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "router",\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": "00:0C:29:98:7E:09",\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": "9E:A7:FD:52:0E:4F",\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": "6E:93:61:CF:19:D0",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
-        },\r
-        {\r
-          "node-id": "openflow:2",\r
-          "attribute": [\r
-            {\r
-              "attribute-name": "location",\r
-              "attribute-value": {\r
-                "string-value": "openflow:2"\r
-              }\r
-            }\r
-          ],\r
-          "node-type": "router",\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": "F2:23:F9:75:DA:F8",\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": "6E:7E:E6:D8:CA:56",\r
-              "bandwidth": 10240\r
-            }\r
-          ]\r
-        }\r
-      ]\r
-    },\r
-    "physical-links": {\r
-      "physical-link": [\r
-        {\r
-          "link-id": "openflow:4:2",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "dest-port-id": "openflow:2:2",\r
-          "src-port-id": "openflow:4:2",\r
-          "dest-node-id": "openflow:2",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:4"\r
-        },\r
-        {\r
-          "link-id": "openflow:4:1",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:4:1",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:4"\r
-        },\r
-        {\r
-          "link-id": "openflow:2:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:2:3",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:2",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:2"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:1",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:1",\r
-          "dest-node-id": "openflow:1",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:1:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:1:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:1:3",\r
-          "dest-node-id": "openflow:3",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:3:1",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:1"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:3",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:3",\r
-          "dest-node-id": "openflow:4",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:4:1",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:2",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "src-port-id": "openflow:3:2",\r
-          "dest-node-id": "openflow:2",\r
-          "metric": 1,\r
-          "dest-port-id": "openflow:2:3",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        },\r
-        {\r
-          "link-id": "openflow:2:2",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "dest-port-id": "openflow:4:2",\r
-          "src-port-id": "openflow:2:2",\r
-          "dest-node-id": "openflow:4",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:2"\r
-        },\r
-        {\r
-          "link-id": "openflow:3:4",\r
-          "loss-rate": 1,\r
-          "delay": 1,\r
-          "dest-port-id": "openflow:4:2",\r
-          "src-port-id": "openflow:3:4",\r
-          "dest-node-id": "openflow:4",\r
-          "bandwidth": 10240,\r
-          "src-node-id": "openflow:3"\r
-        }\r
-      ]\r
-    },\r
-    "physical-paths": {\r
-      "physical-path": [\r
-        {\r
-          "path-id": "d26f3d08-dcd8-4bdb-b74e-d09cc5ab4090",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:3",\r
-              "order": 1\r
-            },\r
-            {\r
-              "link-id": "openflow:2:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 2,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "0eec470f-ec46-4390-8c84-4c27ca013255",\r
-          "delay": 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": "6065bd5d-5058-41ec-a901-92e184755b52",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:2",\r
-              "order": 1\r
-            },\r
-            {\r
-              "link-id": "openflow:1:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 2,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "c8da2902-31d9-49f5-b7a8-ade64c497bea",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:2",\r
-              "order": 1\r
-            },\r
-            {\r
-              "link-id": "openflow:4:1",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 2,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "ae567148-9747-4aa7-9fef-b08d282e4d17",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:4:1",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 1,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "ae1b6b7a-2725-4f26-8b75-7c21a086a1c4",\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": "6592bf47-5953-442e-90d3-e2fde9221fd5",\r
-          "delay": 0,\r
-          "physical-link": [\r
-            {\r
-              "link-id": "openflow:3:3",\r
-              "order": 0\r
-            }\r
-          ],\r
-          "metric": 1,\r
-          "bandwidth": 0\r
-        },\r
-        {\r
-          "path-id": "8b9dbbc9-a895-4adc-9cca-29217c1fa1ff",\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
-    }\r
-  }\r
-}\r
-var virtualJson={\r
-  "virtual-networks": {\r
-    "virtual-network": [\r
-      {\r
-        "network-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b",\r
-        "virtual-nodes": {\r
-          "virtual-node": [\r
-            {\r
-              "node-id": "43429643-c423-4d46-817d-092ac20d3b79",\r
-              "node-type": "vrouter",\r
-              "physical-resource-requirement": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:4"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "1f0bf4a0-6857-47ec-b2af-2104ef1d0c79",\r
-                  "external-ip-prefixes": {\r
-                    "external-ip-prefix": [\r
-                      "192.168.11.0/24"\r
-                    ]\r
-                  },\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
-                  "port-id": "41a4e6b1-019e-456c-bd99-8fc5f60c3a29",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                },\r
-                {\r
-                  "port-id": "6c494b58-fabf-48f7-8907-43850cb4607a",\r
-                  "port-type": "internal"\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-              "node-type": "vrouter",\r
-              "physical-resource-requirement": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:2"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "a086ba37-a6b7-490a-a3cb-27a31378e096",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "6208bb8d-1489-4aec-bf21-8702d8f69951",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "32ddfaa1-1dd8-434a-8479-362d592521d1",\r
-                  "external-ip-prefixes": {},\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
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-              "node-type": "vrouter",\r
-              "physical-resource-requirement": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:1"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "6285cebd-5d4a-4a1d-b732-20470240547a",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "e8c938ca-f1d5-450d-a6ca-3cd81119c0ec",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "e427cc5e-93c9-4f5d-adf6-a2dc2b50e57c",\r
-                  "external-ip-prefixes": {},\r
-                  "port-type": "external",\r
-                  "physical-resource-requirement": [\r
-                    {\r
-                      "attribute-name": "location",\r
-                      "attribute-value": {\r
-                        "string-value": "openflow:1:1"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
-                }\r
-              ]\r
-            },\r
-            {\r
-              "node-id": "02f661f4-4097-4d2d-8986-5c17e74429ad",\r
-              "node-type": "vrouter",\r
-              "physical-resource-requirement": [\r
-                {\r
-                  "attribute-name": "location",\r
-                  "attribute-value": {\r
-                    "string-value": "openflow:3"\r
-                  },\r
-                  "attribute-match-pattern": "equal"\r
-                }\r
-              ],\r
-              "virtual-port": [\r
-                {\r
-                  "port-id": "5d0faf77-435c-4c19-a129-db6481aa40a5",\r
-                  "port-type": "internal"\r
-                },\r
-                {\r
-                  "port-id": "82712a15-b38f-459c-ae1e-be1e34566a2a",\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:3:4"\r
-                      },\r
-                      "attribute-match-pattern": "equal"\r
-                    }\r
-                  ]\r
-                },\r
-                {\r
-                  "port-id": "aca59fd4-8958-49e1-a290-a39529a8e699",\r
-                  "port-type": "internal",\r
-                  "bandwidth": 0\r
-                }\r
-              ]\r
-            }\r
-          ]\r
-        },\r
-        "virtual-arps": {},\r
-        "virtual-links": {\r
-          "virtual-link": [\r
-            {\r
-              "link-id": "7d28e3a4-32bc-4393-b4ac-b5cb3e88bddb",\r
-              "src-node-id": "43429643-c423-4d46-817d-092ac20d3b79",\r
-              "delay": 0,\r
-              "dest-port-id": "a086ba37-a6b7-490a-a3cb-27a31378e096",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-              "src-port-id": "6c494b58-fabf-48f7-8907-43850cb4607a"\r
-            },\r
-            {\r
-              "link-id": "cdf567ba-f523-4ac1-a240-4db08bdc4091",\r
-              "src-node-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-              "delay": 0,\r
-              "dest-port-id": "6c494b58-fabf-48f7-8907-43850cb4607a",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "43429643-c423-4d46-817d-092ac20d3b79",\r
-              "src-port-id": "a086ba37-a6b7-490a-a3cb-27a31378e096"\r
-            },\r
-            {\r
-              "link-id": "c7f45b8c-a4eb-4b8c-9ecd-2330d9b61d36",\r
-              "src-node-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-              "delay": 0,\r
-              "dest-port-id": "6208bb8d-1489-4aec-bf21-8702d8f69951",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-              "src-port-id": "e8c938ca-f1d5-450d-a6ca-3cd81119c0ec"\r
-            },\r
-            {\r
-              "link-id": "9957beb9-e9a6-47fb-8c94-9be6d56bd427",\r
-              "src-node-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-              "delay": 0,\r
-              "dest-port-id": "e8c938ca-f1d5-450d-a6ca-3cd81119c0ec",\r
-              "metric": 2,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-              "src-port-id": "6208bb8d-1489-4aec-bf21-8702d8f69951"\r
-            },\r
-            {\r
-              "link-id": "20cd9c28-483e-4703-8adb-43326799c9a2",\r
-              "src-node-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-              "delay": 0,\r
-              "dest-port-id": "5d0faf77-435c-4c19-a129-db6481aa40a5",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "02f661f4-4097-4d2d-8986-5c17e74429ad",\r
-              "src-port-id": "6285cebd-5d4a-4a1d-b732-20470240547a"\r
-            },\r
-            {\r
-              "link-id": "82937d51-52b6-4334-8fe4-eac541e97684",\r
-              "src-node-id": "02f661f4-4097-4d2d-8986-5c17e74429ad",\r
-              "delay": 0,\r
-              "dest-port-id": "6285cebd-5d4a-4a1d-b732-20470240547a",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-              "src-port-id": "5d0faf77-435c-4c19-a129-db6481aa40a5"\r
-            },\r
-            {\r
-              "link-id": "39ded017-fed2-41f8-b709-ae102ebd015d",\r
-              "src-node-id": "02f661f4-4097-4d2d-8986-5c17e74429ad",\r
-              "delay": 0,\r
-              "dest-port-id": "41a4e6b1-019e-456c-bd99-8fc5f60c3a29",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "43429643-c423-4d46-817d-092ac20d3b79",\r
-              "src-port-id": "aca59fd4-8958-49e1-a290-a39529a8e699"\r
-            },\r
-            {\r
-              "link-id": "3b9cdd19-0c5e-4a99-ad48-a323e949a9a3",\r
-              "src-node-id": "43429643-c423-4d46-817d-092ac20d3b79",\r
-              "delay": 0,\r
-              "dest-port-id": "aca59fd4-8958-49e1-a290-a39529a8e699",\r
-              "metric": 1,\r
-              "bandwidth": 0,\r
-              "dest-node-id": "02f661f4-4097-4d2d-8986-5c17e74429ad",\r
-              "src-port-id": "41a4e6b1-019e-456c-bd99-8fc5f60c3a29"\r
-            }\r
-          ]\r
-        },\r
-        "user-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b",\r
-        "virtual-routes": {},\r
-        "virtual-paths": {\r
-          "virtual-path": [\r
-            {\r
-              "path-id": "9e29b1b5-1627-488d-a5b4-8fe221235493",\r
-              "virtual-link": [\r
-                {\r
-                  "link-id": "82937d51-52b6-4334-8fe4-eac541e97684",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "bandwidth": 0\r
-            },\r
-            {\r
-              "path-id": "ff6042a3-bdfa-4f0e-8b17-336b3e2f3ecb",\r
-              "virtual-link": [\r
-                {\r
-                  "link-id": "cdf567ba-f523-4ac1-a240-4db08bdc4091",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "bandwidth": 0\r
-            },\r
-            {\r
-              "path-id": "a12799b8-523d-4ab2-8fbf-f356c5ad52eb",\r
-              "virtual-link": [\r
-                {\r
-                  "link-id": "c7f45b8c-a4eb-4b8c-9ecd-2330d9b61d36",\r
-                  "order": 0\r
-                }\r
-              ],\r
-              "bandwidth": 0\r
-            }\r
-          ]\r
-        }\r
-      }\r
-    ]\r
-  }\r
-}\r
-var VnMappingJson={\r
-  "intent-vn-mapping-results": {\r
-    "user-intent-vn-mapping": [\r
-      {\r
-        "user-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b",\r
-        "intent-vn-mapping-result": [\r
-          {\r
-            "intent-id": "94a6fb90-b425-4ffd-9515-c0684aa4c37f",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "fa9a6915-b6d9-4248-87c4-3237bddd4489",\r
-                "parent-virtual-resource-entity-id": "43429643-c423-4d46-817d-092ac20d3b79",\r
-                "virtual-resource-type": "vport",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "1f0bf4a0-6857-47ec-b2af-2104ef1d0c79"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "460f3011-6f1b-46d8-9fe7-0d5576ff592d",\r
-                "parent-virtual-resource-entity-id": "02f661f4-4097-4d2d-8986-5c17e74429ad",\r
-                "virtual-resource-type": "vport",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "82712a15-b38f-459c-ae1e-be1e34566a2a"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "7175bac3-b785-2278-90ed-613480e354e8",\r
-            "intent-type": "connection",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "0395de51-d926-4f1f-ba25-5977f1490d2e",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "39ded017-fed2-41f8-b709-ae102ebd015d"\r
-              },\r
-              {\r
-                "virtual-resource-id": "b303592e-f379-470f-af6f-c28937969bc3",\r
-                "virtual-resource-type": "vlink",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "3b9cdd19-0c5e-4a99-ad48-a323e949a9a3"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "619ee3bb-1e40-480f-b0fa-a331820a5518",\r
-            "intent-type": "operation",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "eb289733-18c8-4601-8544-25e9f56045d0",\r
-                "parent-virtual-resource-entity-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-                "virtual-resource-type": "vport",\r
-                "order": 3,\r
-                "virtual-resource-entity-id": "32ddfaa1-1dd8-434a-8479-362d592521d1"\r
-              },\r
-              {\r
-                "virtual-resource-id": "11ee03c9-3bf6-421b-b783-2524fca560fd",\r
-                "virtual-resource-type": "vpath",\r
-                "order": 2,\r
-                "virtual-resource-entity-id": "a12799b8-523d-4ab2-8fbf-f356c5ad52eb"\r
-              },\r
-              {\r
-                "virtual-resource-id": "2c9b5484-bc1f-410e-9089-ac2ed0e74842",\r
-                "virtual-resource-type": "vpath",\r
-                "order": 4,\r
-                "virtual-resource-entity-id": "ff6042a3-bdfa-4f0e-8b17-336b3e2f3ecb"\r
-              },\r
-              {\r
-                "virtual-resource-id": "31d34ef8-08a3-45b2-af7c-31c2fff126e2",\r
-                "parent-virtual-resource-entity-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-                "virtual-resource-type": "vport",\r
-                "order": 1,\r
-                "virtual-resource-entity-id": "e427cc5e-93c9-4f5d-adf6-a2dc2b50e57c"\r
-              },\r
-              {\r
-                "virtual-resource-id": "80cfeef9-eb82-4f72-a1b0-852964d0f236",\r
-                "virtual-resource-type": "vpath",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "9e29b1b5-1627-488d-a5b4-8fe221235493"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a41995",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "31d34ef8-08a3-45b2-af7c-31c2fff126e2",\r
-                "parent-virtual-resource-entity-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-                "virtual-resource-type": "vport",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "e427cc5e-93c9-4f5d-adf6-a2dc2b50e57c"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "41ee9aad-5f61-469d-99a9-e691d2a1de05",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "eb289733-18c8-4601-8544-25e9f56045d0",\r
-                "parent-virtual-resource-entity-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-                "virtual-resource-type": "vport",\r
-                "order": 2,\r
-                "virtual-resource-entity-id": "32ddfaa1-1dd8-434a-8479-362d592521d1"\r
-              },\r
-              {\r
-                "virtual-resource-id": "11ee03c9-3bf6-421b-b783-2524fca560fd",\r
-                "virtual-resource-type": "vpath",\r
-                "order": 1,\r
-                "virtual-resource-entity-id": "a12799b8-523d-4ab2-8fbf-f356c5ad52eb"\r
-              },\r
-              {\r
-                "virtual-resource-id": "31d34ef8-08a3-45b2-af7c-31c2fff126e2",\r
-                "parent-virtual-resource-entity-id": "7f41bc57-f4ee-42cc-8fac-f25bda374be9",\r
-                "virtual-resource-type": "vport",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "e427cc5e-93c9-4f5d-adf6-a2dc2b50e57c"\r
-              }\r
-            ]\r
-          },\r
-          {\r
-            "intent-id": "a5a96dc7-51dd-44a5-802b-7e67a309fb36",\r
-            "intent-type": "node",\r
-            "virtual-resource": [\r
-              {\r
-                "virtual-resource-id": "eb289733-18c8-4601-8544-25e9f56045d0",\r
-                "parent-virtual-resource-entity-id": "ef802514-a373-4f24-a162-0553ffe13f09",\r
-                "virtual-resource-type": "vport",\r
-                "order": 0,\r
-                "virtual-resource-entity-id": "32ddfaa1-1dd8-434a-8479-362d592521d1"\r
-              }\r
-            ]\r
-          }\r
-        ],\r
-        "virtual-network-id": "af4fc2be-e3f4-4388-a8ef-3aabae872f2b"\r
-      }\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
diff --git a/nemo-ui/src/main/resources/nemo/nemo.controller.js b/nemo-ui/src/main/resources/nemo/nemo.controller.js
deleted file mode 100644 (file)
index 7ef9e14..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2015 Huawei, Inc and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-define(['app/nemo/nemo.module','app/nemo/nemo.services'], function(topology) {
-  topology.register.controller('NemoController', ['$scope', '$rootScope', 'NemoService' ,  function ($scope, $rootScope, NemoService) {
-
-    $rootScope.section_logo = 'src/app/nemo/images/logo_nemo.png';
-
-    $scope.updateChannels = function() {
-      NemoService.updateChannels();
-    };
-    $scope.updateChannels();
-  }]);
-
-});
diff --git a/nemo-ui/src/main/resources/nemo/nemo.directives.js b/nemo-ui/src/main/resources/nemo/nemo.directives.js
deleted file mode 100644 (file)
index 0442892..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Copyright (c) 2015 Huawei, Inc and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-define(['app/nemo/nemo.module'], function(nemo) {
-//define(['app/nemo/nemo.module'], function(topology) {
-  nemo.register.directive('nemoChannel', function() {  
-  });
-});
diff --git a/nemo-ui/src/main/resources/nemo/nemo.module.js b/nemo-ui/src/main/resources/nemo/nemo.module.js
deleted file mode 100644 (file)
index e72b932..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2015 Huawei, Inc and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-define(['angularAMD', 'app/routingConfig', 'app/core/core.services','Restangular', 'common/config/env.module'], function(ng) {
-
-  var nemo = angular.module('app.nemo', ['ui.router.state','app.core','restangular', 'config']);
-
-
-  nemo.config(function($stateProvider, $controllerProvider, $compileProvider, $provide, $translateProvider,
-                       $urlRouterProvider, NavHelperProvider) {
-
-  nemo.register = {
-      controller : $controllerProvider.register,
-      directive : $compileProvider.directive,
-      service : $provide.service,
-      factory : $provide.factory
-    };
-
-    $translateProvider.useStaticFilesLoader({
-      prefix: 'assets/data/locale-',
-      suffix: '.json'
-    });
-
-    $urlRouterProvider.otherwise('/nemo');
-
-    NavHelperProvider.addControllerUrl('app/nemo/nemo.controller');
-    NavHelperProvider.addToMenu('nemo', {
-      "link": "#/nemo",
-      "title": "Nemo",
-      "active": "main.nemo",
-      "icon": "icon-link",
-      "page": {
-        "title": "NEMO",
-        "description": "NEMO"
-      }
-    });
-
-    var access = routingConfig.accessLevels;
-    $stateProvider.state('main.nemo', {
-      url: 'nemo',
-      access: access.public,
-      views : {
-        'content' : {
-          templateUrl: 'src/app/nemo/register.html',
-          controller: 'NemoController'
-        }
-      }
-    });
-
-  });
-
-  return nemo;
-
-});
-
diff --git a/nemo-ui/src/main/resources/nemo/nemo.services.js b/nemo-ui/src/main/resources/nemo/nemo.services.js
deleted file mode 100644 (file)
index eb80596..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2015 Huawei, Inc and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-define(['app/nemo/nemo.module'], function(nemo) {
-  nemo.register.factory('NemoRestangular', function(Restangular, ENV) {
-    var NemoRestangular = Restangular.withConfig(function(RestangularConfig) {
-      RestangularConfig.setBaseUrl(ENV.getBaseURL("MD_SAL"));
-    });
-    return NemoRestangular;
-  });
-  nemo.register.factory('NemoService', function(NemoRestangular) {
-    var org = org || {};
-    org.opendaylight = org.opendaylight || {};
-    org.opendaylight.nemo = org.opendaylight.nemo || {};
-    org.opendaylight.nemo.utils = org.opendaylight.nemo.utils || {};
-    org.opendaylight.nemo.utils.get = function(id) {
-      return document.getElementById(id);
-    };
-    org.opendaylight.nemo.utils.create = function(tag) {
-      return document.createElement(tag);
-    };
-    org.opendaylight.nemo.update = function() {
-      jQuery.ajax({
-        type: "POST",
-        "url": "/restconf/operations/nemo-channel:view-channel", //
-        processData: false,
-        contentType: "application/json",
-        data: JSON.stringify({"input":{"topology-id":"nemo"}}),
-        success:function (response) {
-          org.opendaylight.nemo.process(response);
-        }
-      });
-      return true;
-    };
-    org.opendaylight.nemo.process = function(data) {
-      var channelPannelHTML = "";
-      channelPannelHTML += '<div style="color:#ffffff;padding-top:15px;padding-bottom:15px;">';
-      channelPannelHTML += '<table style="width:100%;" cellspacing="1" cellpadding="1"><tr>';
-      channelPannelHTML += '<td style="width:50px;"><div>Alarms</div></td>';
-      channelPannelHTML += '<td><div>Description</div></td>';
-      channelPannelHTML += '<td style="width:100px;"><div>Bytes In</div></td>';
-      channelPannelHTML += '<td style="width:100px;"><div>Bytes Out</div></td>';
-      channelPannelHTML += '</tr></table>';
-      channelPannelHTML += '</div>';  
-      var topologies = data["output"]["topology"];
-      for (var i = 0; i < topologies.length; i++) {
-        var channels = topologies[i]["channel"];
-        if (typeof channels == "undefined" || channels == null) {
-          break;
-        }
-        for (var j = 0; j < channels.length; j++) {
-          var channel = channels[j];
-          channelPannelHTML += '<div style="color:#ffffff;padding-top:15px;padding-bottom:15px;border-top: 1px solid #888888;">';
-          channelPannelHTML += '<table style="width:100%;" cellspacing="1" cellpadding="1"><tr>';
-          channelPannelHTML += '<td style="width:50px;vertical-align:top;"><div><div class="' + (channel["channel-alarms"] > 0 ? 'label-danger' : 'label-success') + '" style="background-color:' + (channel["channel-alarms"] > 0 ? '#d9534f' : '#5cb85c') + '; border-radius:35px;width:35px;height:35px;line-height:35px;text-align:center;font-size:10px;">'+channel["channel-alarms"]+'</div></div></td>';
-          channelPannelHTML += '<td style="vertical-align:top;"><div>';
-          channelPannelHTML += '<div><span>Channel </span><span>'+channel["channel-id"]+'</span></div>';
-          channelPannelHTML += '<div><span style="color:#888888;">Controller: </span><span>'+channel["source"]["source-node"]+'</span></div>';
-          channelPannelHTML += '<div><span style="color:#888888;">Device: </span><span>'+channel["destination"]["dest-node"]+'</span></div>';
-          channelPannelHTML += '<div><span style="color:#888888;">Type: </span><span>'+channel["channel-type"]+'</span></div>';
-          channelPannelHTML += '<div><span style="color:#888888;">Call Home: </span><span>'+channel["call-home"]+'</span></div>';
-          channelPannelHTML += '<div><span style="color:#888888;">Number of Sessions: </span><span>'+channel["sessions"]+'</span></div>';
-          channelPannelHTML += '</div></td>';
-          channelPannelHTML += '<td style="width:100px;vertical-align:top;"><div>'+channel["bytes-in"]+' B'+'</div></td>';
-          channelPannelHTML += '<td style="width:100px;vertical-align:top;"><div>'+channel["bytes-out"]+' B'+'</div></td>';
-          channelPannelHTML += '</tr></table>';
-          channelPannelHTML += '</div>';
-          var sessions = channel["session"];
-          if (typeof sessions != "undefined" && sessions != null) {
-            for (var k = 0; k < sessions.length; k++) {
-              var session = sessions[k];
-              channelPannelHTML += '<div style="color:#ffffff;padding-top:15px;padding-bottom:15px;border-top: 1px solid #888888;">';
-              channelPannelHTML += '<table style="width:100%;" cellspacing="1" cellpadding="1"><tr>';
-              channelPannelHTML += '<td style="width:100px;vertical-align:top;"><div style="padding-left:50px;"><div class="' + (session["session-alarms"] > 0 ? 'label-danger' : 'label-success') + '" style="background-color:' + (session["session-alarms"] > 0 ? '#d9534f' : '#5cb85c') + '; border-radius:35px;width:35px;height:35px;line-height:35px;text-align:center;font-size:10px;">'+session["session-alarms"]+'</div></div></td>';
-              channelPannelHTML += '<td style="vertical-align:top;"><div>';
-              channelPannelHTML += '<div><span>Session </span><span>'+session["session-id"]+'</span></div>';
-              channelPannelHTML += '<div><span style="color:#888888;">Port: </span><span>'+session["termination-point"]["termination-point-id"]+'</span></div>';
-              channelPannelHTML += '</div></td>';
-              channelPannelHTML += '<td style="width:100px;vertical-align:top;"><div>'+session["bytes-in"]+' B'+'</div></td>';
-              channelPannelHTML += '<td style="width:100px;vertical-align:top;"><div>'+session["bytes-out"]+' B'+'</div></td>';
-              channelPannelHTML += '</tr></table>';
-              channelPannelHTML += '</div>';
-            }
-          }
-        }
-      }  
-      var channelPanel = org.opendaylight.nemo.utils.get("channelPanel");
-      channelPanel.innerHTML = channelPannelHTML;
-      return true;
-    };
-    org.opendaylight.nemo.initialize = function() {
-      org.opendaylight.nemo.update();
-    };
-    window.org = org;
-    var NemoService = {
-      updateChannels: function() {
-        org.opendaylight.nemo.initialize();
-      }
-    };
-    return NemoService;
-  });
-});
diff --git a/nemo-ui/src/main/resources/nemo/nemo.tpl.html b/nemo-ui/src/main/resources/nemo/nemo.tpl.html
deleted file mode 100644 (file)
index f40a277..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-    <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />\r
-    <title>nemo-ui-en</title>\r
-    <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
-    <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/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
-    <!-- SFC -->\r
-     <!-- // <script src="src/app/nemo/module/test/servicechain_userJson.js"></script>  -->\r
-    <!-- Bod -->\r
-    <!-- // <script src="src/app/nemo/module/test/bod_userJson.js"></script>  -->\r
-\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/intentTopo.js"></script>\r
-    <script src="src/app/nemo/js/vnMapping.js"></script>\r
-    <script src="src/app/nemo/js/virNetwork.js"></script>\r
-\r
-    <script>\r
-   \r
-        function guid() {\r
-            function S4() {\r
-                return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r
-            }\r
-            return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());\r
-        }\r
-\r
-        jQuery(document).ready(function ($) {\r
-        var userNames=['--default--'];\r
-        jQuery.ajax({\r
-            url: "/restconf/config/nemo-intent:users/",\r
-            type: "GET",\r
-            async: false,\r
-            dataType: "json",\r
-            success: function(data) {\r
-                console.log(data);\r
-            userNames=[];\r
-            var data_list=data["users"]["user"];\r
-            for (var item in data_list) {\r
-            userNames[data_list[item]['user-id']]=data_list[item]['user-name'];           \r
-            }\r
-            },\r
-            error: function(data) {\r
-                console.log(data);\r
-            }\r
-        });\r
-        //add useruame to select \r
-        $("#selectUser select").empty();\r
-        for(var item in userNames){\r
-            $("#selectUser select").append('<option value="'+item+'">'+userNames[item]+'</option>');\r
-        }\r
-        \r
-\r
-        $(".tabs ul li[aria-controls='PhyNet']").click(function(){\r
-            if(!physicalData) return;\r
-             createPhysicalTopo();\r
-             analy_topo(physicalData);\r
-             // create_physical_topo();\r
-              creataPhysicalTables.createPhyicalNodeTable('phyNodeTab',null)\r
-              creataPhysicalTables.createPhyicalLinkTable('phyLinkTab',null)\r
-        });\r
-\r
-        $(".tabs ul li[aria-controls='PhyNet']").click();\r
-\r
-        $(".tabs ul li[aria-controls='intent_info']").click(function(){\r
-            var userId=$("#selectUser option:selected").val();\r
-            console.log(userId);\r
-\r
-            // SFC\r
-            // userId='af4fc2be-e3f4-4388-a8ef-3aabae872f2b';\r
-            //Bod\r
-            // var userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
-            // if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
-\r
-            $('#service_svg2').empty();\r
-            $("#nemo_str_show").empty();\r
-            if(!IntentInfos) return;\r
-            var user_data = getIntentInfoById(userId);\r
-            if(!user_data) return;\r
-            // var user_data=getIntentInfoByName("user2",userinfo);\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
-                $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
-            var userId=$("#selectUser option:selected").val();\r
-            jQuery('#vir_graph').empty();\r
-            jQuery("#virNodeTab").find('tr').remove();\r
-            jQuery("#virLinkTab").find('tr').remove();\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
-            // 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
-\r
-        $(".tabs ul li[aria-controls='Mapping']").click(function(){\r
-            var userId=$("#selectUser option:selected").val();\r
-            // userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
-            jQuery("#mapVirNodeTab").find('tr').remove();\r
-            jQuery("#mapVirLinkTab").find('tr').remove();\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
-            console.log(virtualData);\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
-        $('#selectUser input[type=button]').click(function(){\r
-            $('a[href="#intent_info"]').click();\r
-\r
-    });\r
-\r
-       $('#logout').click(function(){\r
-        setCookie('nemo_userpwd','',-1);\r
-        $("#pageContent").empty();\r
-        $("#pageContent").load('src/app/nemo/register.html');\r
-       });\r
-\r
-        });\r
-    </script>\r
-</head>\r
-<body>\r
-      <div class="header">\r
-        <p>Hello Admin!</p><span id='logout'>Logout</span>\r
-        <div id='selectUser'>\r
-            <p>Tenant:</p>\r
-            <select value="intentUser">\r
-            </select>\r
-            <input type="button" class='btn_' value='Query'/></div>\r
-      </div>\r
-\r
-        <div class="group">\r
-                <div class="tabs">\r
-                    <ul>\r
-                        <li><a href="#PhyNet">Physical Network</a></li>\r
-                        <li><a href="#intent_info">NEMO Intent</a></li>\r
-                        <li><a href="#VirNet">Virtual Network</a></li>\r
-                        <li><a href="#Mapping">VN-PN Mapping</a></li>\r
-                    </ul>\r
-                <div id='PhyNet'>\r
-                    <div id="phy_graph"></div>\r
-                    <div id='physicalTables'>\r
-                      <table class='tableHead'>\r
-                        <caption>Physical Node</caption>\r
-                         <colgroup>\r
-                         <col style="width: 25%;"/>\r
-                         <col style="width: 25%;" />\r
-                         <col style="width: 25%;"/>\r
-                         <col style="width: 25%;" />\r
-                         </colgroup>\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
-                      <div class='tableBodyContainer'>\r
-                         <table id="phyNodeTab" border='1'>\r
-                         <colgroup>\r
-                         <col style="width: 25%;"/>\r
-                         <col style="width: 25%;" />\r
-                         <col style="width: 25%;"/>\r
-                         <col style="width: 25%;" />\r
-                         </colgroup>\r
-                         </table>\r
-                      </div>\r
-\r
-                        <table class='tableHead'>\r
-                        <caption>Physical Link</caption>\r
-                         <colgroup>\r
-                         <col style="width: 30%;"/>\r
-                         <col style="width: 20%;" />\r
-                         <col style="width: 20%;"/>\r
-                         <col style="width: 10%;" />\r
-                         <col style="width: 10%;" />\r
-                         <col style="width: 10%;" />\r
-                         </colgroup>\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
-                    \r
-                    <div class='tableBodyContainer'>\r
-                    <table id="phyLinkTab" border='1'>                    \r
-                       <colgroup>\r
-                         <col style="width: 30%;"/>\r
-                         <col style="width: 20%;" />\r
-                         <col style="width: 20%;"/>\r
-                         <col style="width: 10%;" />\r
-                         <col style="width: 10%;" />\r
-                         <col style="width: 10%;" />\r
-                         </colgroup>\r
-                    </table>\r
-                    </div>\r
-                    \r
-                    </div>\r
-                </div>\r
-\r
-                <div id="intent_info">\r
-                     <div id="intent_topo">\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
-                    <marker id="idtext2" 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
-                   </div>\r
-                    \r
-                   <div class="tabs">\r
-                    <ul>\r
-                        <li><a href="#nemo_str_show">NEMO Language</a></li>\r
-                    </ul>\r
-                    <div id="nemo_str_show"></div>\r
-                   </div>\r
-               </div>\r
-\r
-               <div id="VirNet">\r
-                <div id="vir_graph"></div>\r
-                <div id='virtualTables'>\r
-\r
-                   <table class='tableHead' border='1'>\r
-                    <caption>Virtual Node</caption>\r
-                    <colgroup>\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    </colgroup>\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
-                    <div class='tableBodyContainer'>\r
-                    <table id="virNodeTab" border='1'>\r
-                    <colgroup>\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    </colgroup>\r
-                   </table>\r
-                    </div>\r
-               \r
-                   <table class='tableHead' border='1'>\r
-                    <caption>Virtual Link</caption>\r
-                    <colgroup>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 10%;" />\r
-                    <col style="width: 10%;"/>\r
-                    </colgroup>\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
-               \r
-\r
-                    <div class='tableBodyContainer'>\r
-                    <table id="virLinkTab" border='1'>\r
-                      <colgroup>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 20%;" />\r
-                    <col style="width: 20%;"/>\r
-                    <col style="width: 10%;" />\r
-                    <col style="width: 10%;"/>\r
-                    </colgroup>\r
-                   </table>\r
-                   </div>\r
-                    </div>\r
-               </div>\r
-               <div id="Mapping">\r
-                    \r
-                    <div id='mappingTable'>\r
-                   <table class='tableHead' border='1'>\r
-                    <caption>Virtual Node Mapping Table</caption>\r
-                    <colgroup>\r
-                    <col style="width: 50%;" />\r
-                    <col style="width: 50%;"/>\r
-                    </colgroup>\r
-                       <tr><th>Virtual Node</th><th>Physical Node</th></tr>\r
-                   </table>\r
-                    \r
-                   <div class='tableBodyContainer'>\r
-                   <table id="mapVirNodeTab" border='1'>\r
-                    <colgroup>\r
-                    <col style="width: 50%;" />\r
-                    <col style="width: 50%;"/>\r
-                    </colgroup>\r
-                   </table>\r
-                    </div> \r
-\r
-                     <table class='tableHead' border='1'>\r
-                    <caption>Virtual Link Mapping Table</caption>\r
-                    <colgroup>\r
-                    <col style="width: 20%;">\r
-                    <col style="width: 15%;">\r
-                    <col style="width: 15%;">\r
-                    <col style="width: 20%;">\r
-                    <col style="width: 30%;">\r
-                    </colgroup>                     \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
-                    \r
-                    <div class='tableBodyContainer'>\r
-                    <table id="mapVirLinkTab" border='1'>\r
-                    <colgroup>\r
-                    <col style="width: 20%;">\r
-                    <col style="width: 15%;">\r
-                    <col style="width: 15%;">\r
-                    <col style="width: 20%;">\r
-                    <col style="width: 30%;">\r
-                    </colgroup>\r
-                   </table>\r
-                   </div>\r
-                  </div>\r
-               </div>\r
-        </div>\r
-\r
-\r
-        <!-- dialog start -->\r
-        <div id="dialog" title="info" style='display:none;'>\r
-            <p>\r
-            <!-- Create By LiuTong , 2015-12-06   -->\r
-            </p>\r
-        </div>\r
-        <!-- dialog end -->\r
-</body>\r
-</html>\r
diff --git a/nemo-ui/src/main/resources/nemo/nemo.tpl.user.html b/nemo-ui/src/main/resources/nemo/nemo.tpl.user.html
deleted file mode 100644 (file)
index ea7da3e..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
-    <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />\r
-    <title>nemo-ui-en</title>\r
-    <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="src/app/nemo/module/migrate.js"></script>\r
-     <!-- // <script src="src/app/nemo/module/migrate_js.js"></script> -->\r
-\r
-    <script src="src/app/nemo/module/keyWords.js"></script>\r
-    <!-- // <script src="src/app/nemo/module/test/bod_userJson.js"></script> -->\r
-    <!-- // <script src="src/app/nemo/module/test/servicechain_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/intentTopo.js"></script>\r
-\r
-    <script>\r
-               var user_str = localStorage.getItem("nemo_userInfo");\r
-        console.log(user_str);\r
-        jQuery(document).ready(function ($) {\r
-        \r
-        (function(){\r
-        if(user_str){\r
-            user_str=JSON.parse(user_str);\r
-            var userName=user_str.userName;\r
-            //get topo data\r
-            if(!userName) return true;\r
-            $('.header p').html($('.header p').html().replace('xxx',userName));\r
-            var user_data=getIntentInfoByName(userName,IntentInfos);\r
-             // var user_data=getIntentInfoByName("user2",userinfo);\r
-            console.log(user_data);\r
-            analyjson_topo(user_data);\r
-            parseNemoLan(user_data);\r
-\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
-\r
-        $('#user_logout').click(function(){\r
-        setCookie('nemo_userpwd','',-1);\r
-        $("#pageContent").empty();\r
-        $("#pageContent").load('src/app/nemo/register.html');\r
-       });   \r
-\r
-        });\r
-    </script>\r
-</head>\r
-<body>\r
-      <div class="header"><p>Hello xxx!</p><span id='user_logout'>Logout</span></div>\r
-\r
-        <div class="group">\r
-            <div class="up">\r
-                <div class="tabs">\r
-                    <ul>\r
-                        <li><a href="#intent_topo">NEMO Intent</a></li>\r
-                    </ul>\r
-\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
-                    <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
-                    <marker id="idtext2" 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
-                </div>\r
-\r
-                </div>\r
-            </div>\r
-\r
-            <div class="down">\r
-                <div class="tabs">\r
-                    <ul>\r
-                        <li><a href="#nemo_str_show">NEMO Language</a></li>\r
-                    </ul>\r
-    \r
-                    <div id="nemo_str_show"></div>\r
-                </div>\r
-            </div>\r
-\r
-        </div>\r
-\r
-        <!-- dialog start -->\r
-        <div id="dialog" title="warning">\r
-            <p>\r
-                \r
-            </p>\r
-        </div>\r
-        <!-- dialog end -->\r
-</body>\r
-</html>\r
diff --git a/nemo-ui/src/main/resources/nemo/register.html b/nemo-ui/src/main/resources/nemo/register.html
deleted file mode 100644 (file)
index 35fa245..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE html>\r
-<html lang="en">\r
-<head>\r
-       <meta charset="UTF-8">\r
-       <title>nemo-register</title>\r
-       <link rel="stylesheet" href="src/app/nemo/css/register.css">\r
-        <script src="src/app/nemo/js/Nemo_Main.js"></script>\r
-       <script>\r
-       function setCookie(name,value,Days) \r
-{ \r
-    if(!Days) Days = 3; \r
-    var exp = new Date(); \r
-    exp.setTime(exp.getTime() + Days*24*60*60*1000); \r
-    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+';path=/'; \r
-} \r
-function getCookie(name) \r
-{ \r
-    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");\r
\r
-    if(arr=document.cookie.match(reg)) \r
-        return unescape(arr[2]); \r
-    else \r
-        return null; \r
-} \r
-\r
-       //setCookie('username','user123');\r
-        //alert(getCookie('username'));\r
-         // jQuery.cookie('name', 'value');\r
-     jQuery(document).ready(function ($) {\r
-\r
-        var userInfoStorage={};\r
-      function getUserId(username,userpwd){\r
-       var userid = null;\r
-        var users = localStorage.getItem("AllRegUserInfo");//localstorage data\r
-               if(users !=null && typeof(users)!="undefined")\r
-               {\r
-                var user_json= JSON.parse(users);\r
-                for(var i = 0;i<user_json.info.length;i++){\r
-                       if(username == user_json.info[i]["userName"] && userpwd==user_json.info[i]["userPassword"]){\r
-                               userid = user_json.info[i]["id"];\r
-                       }\r
-               }\r
-           }\r
-           return userid;\r
-      }\r
-   //getUserId();\r
-      function getUserInfo(){\r
-       var user_data;\r
-       $.ajax({ \r
-                           url: "/restconf/config/nemo-intent:users/", \r
-                               type:"GET",\r
-                               async: false,\r
-                               dataType:"json",\r
-                               success: function(data){\r
-                                       console.log(data);      \r
-                               user_data= JSON.stringify(data);\r
-                               },\r
-                               error:function(data){\r
-                                       console.log(data);\r
-                               }\r
-                       });\r
-       return user_data;\r
-      }\r
-      function userLogin(userName,userPassword){\r
-        jQuery.ajax({\r
-                       url: "/restconf/config/nemo-intent:users/",\r
-                       type: "GET",\r
-                       async: false,\r
-                       dataType: "json",\r
-                       success: function(data) {\r
-                       console.log(data);\r
-                       //data=JSON.stringify(data);\r
-                       var name_data_list=data["users"]["user"];\r
-               for (var i in name_data_list) {\r
-                       if (name_data_list[i]["user-name"] == userName) {\r
-                               if (name_data_list[i]["user-password"]==userPassword)\r
-                               {\r
-                                       userInfoStorage.userName=userName;\r
-                                       localStorage.setItem("nemo_userInfo",JSON.stringify(userInfoStorage));\r
-                               setCookie('nemo_username',userName);\r
-                       setCookie('nemo_userpwd',userPassword);\r
-                               $("#pageContent").empty();\r
-                       $("#pageContent").load('src/app/nemo/nemo.tpl.user.html');\r
-                return;\r
-                           }\r
-                           else{\r
-                               alert("User's password  is wrong!");\r
-                               return;\r
-                           }\r
-                       }\r
-                   }\r
-                   alert("There is no user named "+userName);\r
-                       },\r
-                       error: function(data) {console.log(data);}\r
-                  });\r
-      }\r
-      //use cookie remember the last username and password ,and use them login\r
-      (function(){\r
-       var cook_username=getCookie('nemo_username');\r
-       var cook_userpwd=getCookie('nemo_userpwd');\r
-       if(!cook_username) return;\r
-       if(!cook_userpwd) return;\r
-       if(cook_username=='admin'&&cook_userpwd=='admin'){\r
-               $("#pageContent").empty();\r
-            $("#pageContent").load('src/app/nemo/nemo.tpl.html');\r
-       }\r
-       else{\r
-               userLogin(cook_username,cook_userpwd);\r
-       }\r
-      }());\r
-      $("#usename").focus();\r
-//add enter evevt\r
-      document.onkeydown = function(e){ \r
-          var ev = document.all ? window.event : e;\r
-           if(ev.keyCode==13) {\r
-           $("#log_ok").click();\r
-     }\r
-}\r
-           $("#log_ok").click(function () {\r
-               //validate all use\r
-               // alert('test');\r
-               var userName = $("#usename").val().trim();\r
-               var userPassword = $("#usepwd").val().trim();\r
-               if (userName == "" || userPassword == "") {\r
-                   alert("User name or Password can not be empty!");\r
-                   return;\r
-               }\r
-            if(userName.toLowerCase()=="admin"&&userPassword.toLowerCase()=="admin") {\r
-            setCookie('nemo_username',userName);\r
-               setCookie('nemo_userpwd',userPassword);\r
-            $("#pageContent").empty();\r
-            $("#pageContent").load('src/app/nemo/nemo.tpl.html');\r
-            }\r
-            else{\r
-               userLogin(userName,userPassword);\r
-           }\r
-           });\r
-               \r
-                $("#log_reset").click(function(){\r
-                       $("input").val('');\r
-                });\r
-       });\r
-\r
-\r
-    </script>\r
-</head>\r
-<body>\r
-       <div id="logPage">\r
-   <div class='nemo_info'>\r
-       <img src="src/app/nemo/images/nemo-overview.png" width="500px" height="320px" alt="nemo-overview.png">\r
-       <p>\r
-       NEMO Language is an intent oriented network DSL (domain specific language), which is a language style network open interface. Operator/End-user or 3rd party can use it to program network resource and behavior in their service applications.\r
-       </p>\r
-   </div>\r
-\r
-   <div id="login">\r
-     <div id="log_title"><p>User Login</p></div>\r
-     <div id="log_info">\r
-               <table border="0" >\r
-                       <tr > \r
-                               <td width="90px">username:</td> \r
-                               <td > <input id="usename" type="text"></td>\r
-                       </tr>\r
-                       <tr> \r
-                               <td >password:</td> \r
-                               <td ><input id="usepwd" type="password"></td>\r
-                       </tr>\r
-                       <tr>\r
-                               <td  colspan="2" align="center" ><button id="log_ok">ok</button> <button id="log_reset">reset</button></td>                     \r
-                       </tr>\r
-                       \r
-               </table>\r
-               </div>\r
-   </div>\r
-   \r
-       </div>\r
-</body>\r
-</html>\r
diff --git a/pom.xml b/pom.xml
index 33969438b367c5a2800de5fac9f1ef5d992d2dc3..cf88c997f6bc653a0405c4f1fb8f6aa8885d20b4 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <module>nemo-artifacts</module>
     <module>nemo-api</module>
     <module>nemo-impl</module>
-    <module>nemo-ui</module>
     <module>nemo-features</module>
     <module>nemo-karaf</module>
     <module>nemo-renderers</module>