HoneyNode Java 11 support for 121 devices
[transportpce.git] / tests / honeynode / 1.2.1 / honeynode-plugin-impl / src / main / resources / honeycomb-minimal-resources / config / device / OperToConfig.xsl
diff --git a/tests/honeynode/1.2.1/honeynode-plugin-impl/src/main/resources/honeycomb-minimal-resources/config/device/OperToConfig.xsl b/tests/honeynode/1.2.1/honeynode-plugin-impl/src/main/resources/honeycomb-minimal-resources/config/device/OperToConfig.xsl
new file mode 100644 (file)
index 0000000..ec6c1db
--- /dev/null
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+xmlns:d="urn:ietf:params:xml:ns:netconf:base:1.0"
+xmlns:oor="http://org/openroadm/device"
+exclude-result-prefixes="oor d">
+
+  <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
+
+  <xsl:template match="/">
+    <xsl:element name="config" namespace="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <xsl:element name="org-openroadm-device" namespace="http://org/openroadm/device">
+    <xsl:element name="info" namespace="http://org/openroadm/device">
+      <xsl:apply-templates select="d:data/oor:org-openroadm-device/oor:info"/>
+    </xsl:element>
+
+    <xsl:copy-of select="d:data/oor:org-openroadm-device/oor:users" />
+
+    <xsl:for-each select="d:data/oor:org-openroadm-device/oor:shelves">
+      <xsl:element name="shelves" namespace="http://org/openroadm/device">
+        <xsl:call-template name="shelve-body"/>
+      </xsl:element>
+    </xsl:for-each>
+
+    <xsl:for-each select="d:data/oor:org-openroadm-device/oor:circuit-packs">
+      <xsl:element name="circuit-packs" namespace="http://org/openroadm/device">
+        <xsl:call-template name="cp-body"/>
+      </xsl:element>
+    </xsl:for-each>
+
+    <xsl:for-each select="d:data/oor:org-openroadm-device/oor:interface">
+        <xsl:element name="interface" namespace="http://org/openroadm/device">
+            <xsl:call-template name="inter-body"/>
+        </xsl:element>
+    </xsl:for-each>
+
+    <xsl:for-each select="d:data/oor:org-openroadm-device/oor:protocols">
+        <xsl:element name="protocols" namespace="http://org/openroadm/device">
+            <xsl:call-template name="proto-body"/>
+        </xsl:element>
+    </xsl:for-each>
+
+    <xsl:for-each select="d:data/oor:org-openroadm-device/oor:degree">
+      <xsl:element name="degree" namespace="http://org/openroadm/device">
+        <xsl:call-template name="degree-body"/>
+      </xsl:element>
+    </xsl:for-each>
+
+    <xsl:for-each select="d:data/oor:org-openroadm-device/oor:shared-risk-group">
+      <xsl:element name="shared-risk-group" namespace="http://org/openroadm/device">
+        <xsl:call-template name="srg-body"/>
+      </xsl:element>
+    </xsl:for-each>
+
+    </xsl:element>
+    </xsl:element>
+  </xsl:template>
+
+  <xsl:template match="oor:info">
+    <xsl:for-each select="./*">
+      <xsl:if test="name(.) = 'node-id' or name(.) = 'node-number'  or name(.) = 'clli' or name(.) = 'ipAddress' or name(.) = 'prefix-length' or name(.) = 'defaultGateway' or name(.) = 'template' or name(.) = 'geoLocation'">
+        <xsl:copy-of select="." />
+      </xsl:if>
+     </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="shelve-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="name(.) ='shelf-name' or name(.) = 'shelf-type' or name(.) = 'rack' or name(.) = 'shelf-position' or name(.) = 'administrative-state' or name(.) = 'equipment-state' or name(.) = 'due-date'">
+        <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="cp-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="name(.) = 'circuit-pack-type' or name(.) = 'circuit-pack-product-code' or name(.) = 'circuit-pack-name' or name(.) = 'administrative-state' or name(.) = 'equipment-state' or name(.) = 'circuit-pack-mode' or name(.) = 'shelf' or name(.) = 'slot' or name(.) = 'subSlot' or name(.) = 'due-date' or name(.) = 'parent-circuit-pack'">
+        <xsl:copy-of select="." />
+      </xsl:if>
+      <xsl:if test="name(.) = 'ports'">
+        <xsl:for-each select=".">
+          <xsl:element name="ports" namespace="http://org/openroadm/device">
+            <xsl:call-template name="ports-body"/>
+          </xsl:element>
+        </xsl:for-each>
+      </xsl:if>
+     </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="inter-body">
+    <xsl:for-each select="./*">
+        <xsl:if test="not(name(.) = 'operational-state' or name(.) = 'ethernet' or name(.) = 'och' or name(.) = 'otu'  or name(.) = 'odu')">
+          <xsl:copy-of select="." />
+        </xsl:if>
+        <xsl:if test="name(.)='ethernet'">
+          <xsl:element name="ethernet" xmlns="http://org/openroadm/ethernet-interfaces">
+            <xsl:call-template name="eth-body"/>
+          </xsl:element>
+        </xsl:if>
+        <xsl:if test="name(.)='och'">
+          <xsl:element name="och" xmlns="http://org/openroadm/optical-channel-interfaces">
+            <xsl:call-template name="och-body"/>
+          </xsl:element>
+        </xsl:if>
+        <xsl:if test="name(.)='otu'">
+          <xsl:element name="otu" xmlns="http://org/openroadm/otn-otu-interfaces">
+            <xsl:call-template name="otu-body"/>
+          </xsl:element>
+        </xsl:if>
+        <xsl:if test="name(.)='odu'">
+          <xsl:element name="odu" xmlns="http://org/openroadm/otn-odu-interfaces">
+            <xsl:call-template name="odu-body"/>
+          </xsl:element>
+        </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="eth-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.) = 'curr-speed' or name(.)='curr-duplex') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="och-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.) = 'width') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="otu-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.)='accepted-sapi' or name(.) = 'accepted-dapi' or name(.)='accepted-operator' or name(.)='tim-act-enabled') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="odu-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.)='no-oam-function' or name(.)='accepted-sapi' or name(.) = 'accepted-dapi' or name(.)='accepted-operator' or name(.)='tim-act-enabled' or name(.)='opu') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+      <xsl:if test="name(.)='opu'">
+        <xsl:element name="opu" xmlns="http://org/openroadm/otn-odu-interfaces">
+          <xsl:call-template name="opu-body"/>
+        </xsl:element>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+   <xsl:template name="opu-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.)='rx-payload-type' or name(.) = 'msi') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="proto-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="name(.) = 'lldp'">
+        <xsl:for-each select=".">
+          <xsl:element name="lldp" xmlns="http://org/openroadm/lldp">
+            <xsl:call-template name="lldp-body"/>
+          </xsl:element>
+        </xsl:for-each>
+      </xsl:if>
+     </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="ports-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="name(.) = 'port-name' or name(.) = 'port-type' or name(.) = 'port-qual' or name(.) = 'circuit-id' or name(.) = 'administrative-state' or name(.) = 'logical-connection-point'  or name(.) = 'otdr-port' or name(.) = 'ila-port' ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="lldp-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.) = 'nbr-list') ">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="degree-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.) = 'max-wavelengths')">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="srg-body">
+    <xsl:for-each select="./*">
+      <xsl:if test="not(name(.) = 'max-add-drop-ports' or name(.) = 'wavelengthDuplication' or name(.) = 'current-provisioned-add-drop-ports')">
+         <xsl:copy-of select="." />
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+ </xsl:stylesheet>