upgrade openroadm models to 2.2.1 32/81132/6
authorshweta <sv111y@att.com>
Fri, 22 Mar 2019 21:48:26 +0000 (17:48 -0400)
committerguillaume.lambert <guillaume.lambert@orange.com>
Sat, 23 Mar 2019 09:27:10 +0000 (10:27 +0100)
Added alarm and LLDP for 2.2.1

Change-Id: Ide21da84e6cec9c148cef3155471b8263133bf33
Signed-off-by: shweta <sv111y@att.com>
71 files changed:
api/src/main/yang/transportpce-portmapping@2017-02-28.yang
common/src/main/java/org/opendaylight/transportpce/common/StringConstants.java
common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java
common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java [moved from common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl22.java with 94% similarity]
common/src/main/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImpl.java
common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java
common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java [moved from common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion22.java with 95% similarity]
common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl.java
common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl221.java [moved from common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl22.java with 93% similarity]
common/src/main/resources/OSGI-INF/blueprint/common-blueprint.xml
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetConfTopologyListener.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/dto/NodeRegistration22.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener221.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/DeOperationsListener221.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/DeviceListener221.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/LldpListener221.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/TcaListener221.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java
olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/OlmProviderTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java
ordmodels/common/src/main/yang/org-openroadm-alarm@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-alarm@2017-12-15.yang with 87% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-common-types@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-common-types@2017-12-15.yang with 92% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-equipment-states-types@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/common/src/main/yang/org-openroadm-layerRate@2017-12-15.yang [deleted file]
ordmodels/common/src/main/yang/org-openroadm-maintenance@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-maintenance@2017-12-15.yang with 85% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-manifest-file@2017-12-15.yang [deleted file]
ordmodels/common/src/main/yang/org-openroadm-otn-common-types@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/common/src/main/yang/org-openroadm-pm-types@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/common/src/main/yang/org-openroadm-pm@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-pm@2017-12-15.yang with 92% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-port-types@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-port-types@2017-12-15.yang with 91% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-probable-cause@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-probable-cause@2017-12-15.yang with 97% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-resource-types@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-resource-types@2017-12-15.yang with 93% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-resource@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-resource@2017-12-15.yang with 90% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-switching-pool-types@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/common/src/main/yang/org-openroadm-tca@2018-10-19.yang [moved from ordmodels/common/src/main/yang/org-openroadm-tca@2017-12-15.yang with 88% similarity, mode: 0755]
ordmodels/common/src/main/yang/org-openroadm-user-mgmt@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/device/src/main/yang/org-openroadm-database@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-database@2017-12-15.yang with 89% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-de-operations@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-de-operations@2017-12-15.yang with 85% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-device@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-device@2017-12-15.yang with 97% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-ethernet-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-ethernet-interfaces@2017-12-15.yang with 85% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-file-transfer@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-file-transfer@2017-12-15.yang with 89% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-fwdl@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-fwdl@2017-12-15.yang with 82% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-interfaces@2017-06-26.yang [moved from ordmodels/device/src/main/yang/org-openroadm-interfaces2017-06-26.yang with 100% similarity]
ordmodels/device/src/main/yang/org-openroadm-lldp@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-lldp@2017-12-15.yang with 94% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-maintenance-loopback@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/device/src/main/yang/org-openroadm-maintenance-testsignal@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/device/src/main/yang/org-openroadm-media-channel-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-media-channel-interfaces@2017-12-15.yang with 89% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-network-media-channel-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-network-media-channel-interfaces@2017-12-15.yang with 88% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-optical-channel-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-optical-channel-interfaces@2017-12-15.yang with 89% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-optical-transport-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-optical-transport-interfaces@2017-12-15.yang with 91% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-otn-common@2017-06-26.yang
ordmodels/device/src/main/yang/org-openroadm-otn-odu-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-otn-odu-interfaces@2017-12-15.yang with 95% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-otn-otu-interfaces@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-otn-otu-interfaces@2017-12-15.yang with 90% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-physical-types@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-physical-types@2017-12-15.yang with 88% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-pluggable-optics-holder-capability@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-pluggable-optics-holder-capability@2017-12-15.yang with 85% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-port-capability@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-port-capability@2017-12-15.yang with 91% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-prot-otn-linear-aps@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-prot-otn-linear-aps@2017-12-15.yang with 94% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-rstp@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-rstp@2017-12-15.yang with 94% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-swdl@2018-10-19.yang [moved from ordmodels/device/src/main/yang/org-openroadm-swdl@2017-12-15.yang with 89% similarity, mode: 0755]
ordmodels/device/src/main/yang/org-openroadm-syslog@2017-12-15.yang [changed mode: 0644->0755]
ordmodels/device/src/main/yang/org-openroadm-wavelength-map@2017-12-15.yang [changed mode: 0644->0755]
renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface22.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterfaceFactory.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplCreateOtsOmsTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplDeleteTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplRollbackTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplSetupTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java

index 371f0f910097a178e94cf0c99b42c1e35cf37020..8c1b421df7203eeab9cffc76b604381ad121b236 100644 (file)
@@ -37,10 +37,10 @@ module transportpce-portmapping {
             description
               "Version 1.2.1";
             }
-            enum "2.2" {
+            enum "2.2.1" {
               value 2;
               description
-                "Version 2.2";
+                "Version 2.2.1";
             }
           }
         }
index 5e618ef1b009ce4be1cbcab619a2ca9055d0bc91..052c02e16ca013d4bb1cf349c14d21d7cd0ab922 100644 (file)
@@ -14,7 +14,7 @@ public final class StringConstants {
 
     public static final String DEFAULT_NETCONF_NODEID = "controller-config";
 
-    public static final String OPENROADM_DEVICE_VERSION_2_2 = "(http://org/openroadm/device?revision=2017-12-15)org-openroadm-device";
+    public static final String OPENROADM_DEVICE_VERSION_2_2_1 = "(http://org/openroadm/device?revision=2018-10-19)org-openroadm-device";
 
     public static final String OPENROADM_DEVICE_VERSION_1_2_1 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
 
index a52805b82ff8c5eecf1928357df7ce1b208795f7..4ef18756b45825f7afa31e384b72f0ea46ad1589 100644 (file)
@@ -9,7 +9,7 @@
 package org.opendaylight.transportpce.common.crossconnect;
 
 import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
-import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -29,15 +29,15 @@ public class CrossConnectImpl implements CrossConnect {
     protected CrossConnect crossConnect;
     private final MappingUtils mappingUtils;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     public CrossConnectImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
                             CrossConnectImpl121 crossConnectImpl121,
-                            CrossConnectImpl22 crossConnectImpl22) {
+                            CrossConnectImpl221 crossConnectImpl221) {
         this.deviceTransactionManager = deviceTransactionManager;
         this.mappingUtils = mappingUtils;
         this.crossConnectImpl121 = crossConnectImpl121;
-        this.crossConnectImpl22 = crossConnectImpl22;
+        this.crossConnectImpl221 = crossConnectImpl221;
         this.crossConnect = null;
     }
 
@@ -46,8 +46,8 @@ public class CrossConnectImpl implements CrossConnect {
         if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return crossConnectImpl121.getCrossConnect(nodeId,connectionNumber);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            return crossConnectImpl22.getCrossConnect(nodeId,connectionNumber);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            return crossConnectImpl221.getCrossConnect(nodeId,connectionNumber);
         }
         return null;
     }
@@ -60,9 +60,9 @@ public class CrossConnectImpl implements CrossConnect {
             LOG.info("Device Version is 1.2.1");
             return crossConnectImpl121.postCrossConnect(nodeId, waveNumber, srcTp, destTp);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
             LOG.info("Device Version is 2.2");
-            return crossConnectImpl22.postCrossConnect(nodeId, waveNumber, srcTp, destTp);
+            return crossConnectImpl221.postCrossConnect(nodeId, waveNumber, srcTp, destTp);
         }
         LOG.info("Device Version not found");
         return null;
@@ -76,8 +76,8 @@ public class CrossConnectImpl implements CrossConnect {
         if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return crossConnectImpl121.deleteCrossConnect(nodeId, connectionNumber);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            return crossConnectImpl22.deleteCrossConnect(nodeId, connectionNumber);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            return crossConnectImpl221.deleteCrossConnect(nodeId, connectionNumber);
         }
         return false;
     }
@@ -88,8 +88,8 @@ public class CrossConnectImpl implements CrossConnect {
         if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return crossConnectImpl121.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            return crossConnectImpl22.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            return crossConnectImpl221.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp);
         }
         return null;
     }
@@ -100,8 +100,8 @@ public class CrossConnectImpl implements CrossConnect {
         if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return crossConnectImpl121.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            return crossConnectImpl22.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            return crossConnectImpl221.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
         }
         return false;
     }
similarity index 94%
rename from common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl22.java
rename to common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java
index ab82e79aa5ef42d0ccc1a3e7ed6de7685d9b299f..fa001d08e69e5d981966900747ce53b1900b3a61 100644 (file)
@@ -22,29 +22,29 @@ import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.device.DeviceTransaction;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.OpticalControlMode;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.PowerDBm;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.GetConnectionPortTrailInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.GetConnectionPortTrailOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.OrgOpenroadmDeviceService;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.connection.DestinationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.connection.SourceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.get.connection.port.trail.output.Ports;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.OrgOpenroadmDevice;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PowerDBm;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.GetConnectionPortTrailInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.GetConnectionPortTrailOutput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceService;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.connection.DestinationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.connection.SourceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.get.connection.port.trail.output.Ports;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class CrossConnectImpl22 {
+public class CrossConnectImpl221 {
 
-    private static final Logger LOG = LoggerFactory.getLogger(CrossConnectImpl22.class);
+    private static final Logger LOG = LoggerFactory.getLogger(CrossConnectImpl221.class);
     private final DeviceTransactionManager deviceTransactionManager;
 
-    public CrossConnectImpl22(DeviceTransactionManager deviceTransactionManager) {
+    public CrossConnectImpl221(DeviceTransactionManager deviceTransactionManager) {
         this.deviceTransactionManager = deviceTransactionManager;
     }
 
index ca3e029782732e291c70cf7cbc59df9b13669cec..bd2e1a80d0bb752cc58f8fa6f50ec1b0bbece56d 100644 (file)
@@ -44,8 +44,8 @@ public class MappingUtilsImpl implements MappingUtils {
             if (mapObject.isPresent()) {
                 Nodes mapping = mapObject.get();
                 switch (mapping.getOpenroadmVersion()) {
-                    case _22:
-                        return StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+                    case _221:
+                        return StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
                     case _121:
                         return StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
                     default:
index 7374530d421f3602a23ee659ef14e27d6e8d6444..da1fa9afca25043e2dd824a17984366c1e88a4a1 100644 (file)
@@ -8,7 +8,7 @@
 
 package org.opendaylight.transportpce.common.mapping;
 import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
-import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
 
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
@@ -35,10 +35,10 @@ public class PortMappingImpl implements PortMapping {
 
     private final DataBroker dataBroker;
     private final MappingUtils mappingUtils;
-    private final PortMappingVersion22 portMappingVersion22;
+    private final PortMappingVersion221 portMappingVersion22;
     private final PortMappingVersion121 portMappingVersion121;
 
-    public PortMappingImpl(DataBroker dataBroker,PortMappingVersion22 portMappingVersion22,MappingUtils mappingUtils,
+    public PortMappingImpl(DataBroker dataBroker, PortMappingVersion221 portMappingVersion22, MappingUtils mappingUtils,
                            PortMappingVersion121 portMappingVersion121) {
 
         this.dataBroker = dataBroker;
@@ -52,7 +52,7 @@ public class PortMappingImpl implements PortMapping {
         if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return portMappingVersion121.createMappingData(nodeId);
         }
-        else if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+        else if (nodeVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
             return portMappingVersion22.createMappingData(nodeId);
         }
         else {
@@ -115,7 +115,7 @@ public class PortMappingImpl implements PortMapping {
         if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
             return portMappingVersion121.updateMapping(nodeId,oldMapping);
         }
-        else if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
+        else if (openROADMversion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
             return portMappingVersion22.updateMapping(nodeId,oldMapping);
         }
 
similarity index 95%
rename from common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion22.java
rename to common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java
index b1e66a3cf43e96797edff340b8f7bb13a729f5c2..3e3d02b613778ebbc7dfcad1acc94dddfb60030a 100644 (file)
@@ -39,29 +39,29 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.MappingKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.NodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.Port;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.CircuitPack;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.pack.Ports;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.pack.PortsKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacks;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacksKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.degree.ConnectionPorts;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.Interface;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.OrgOpenroadmDevice;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.Degree;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.DegreeKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.Info;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.Protocols;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.SharedRiskGroup;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.org.openroadm.device.SharedRiskGroupKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.port.Interfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.CircuitPack;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.Ports;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.PortsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacks;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacksKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.degree.ConnectionPorts;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Degree;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.DegreeKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Info;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Protocols;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.SharedRiskGroup;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.SharedRiskGroupKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.port.Interfaces;
 
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.InterfaceType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OpenROADMOpticalMultiplex;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OpticalTransport;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev171215.Protocols1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev171215.lldp.container.Lldp;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev171215.lldp.container.lldp.PortConfig;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.Protocols1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.lldp.container.Lldp;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.lldp.container.lldp.PortConfig;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -70,15 +70,15 @@ import org.slf4j.LoggerFactory;
 
 
 
-public class PortMappingVersion22 {
+public class PortMappingVersion221 {
     private static final Logger LOG = LoggerFactory.getLogger(PortMappingImpl.class);
 
     private final DataBroker dataBroker;
     private final DeviceTransactionManager deviceTransactionManager;
     private final OpenRoadmInterfaces openRoadmInterfaces;
 
-    public PortMappingVersion22(DataBroker dataBroker, DeviceTransactionManager deviceTransactionManager,
-                                OpenRoadmInterfaces openRoadmInterfaces) {
+    public PortMappingVersion221(DataBroker dataBroker, DeviceTransactionManager deviceTransactionManager,
+                                 OpenRoadmInterfaces openRoadmInterfaces) {
         this.dataBroker = dataBroker;
         this.deviceTransactionManager = deviceTransactionManager;
         this.openRoadmInterfaces = openRoadmInterfaces;
@@ -86,7 +86,7 @@ public class PortMappingVersion22 {
 
     public boolean createMappingData(String nodeId) {
 
-        LOG.info("Create Mapping Data for node 2.2 {}", nodeId);
+        LOG.info("Create Mapping Data for node 2.2.1 {}", nodeId);
         List<Mapping> portMapList = new ArrayList<>();
         InstanceIdentifier<Info> infoIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Info.class);
         Optional<Info> deviceInfoOptional = this.deviceTransactionManager
@@ -217,9 +217,9 @@ public class PortMappingVersion22 {
 
 
 
-    private HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+    private HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
             .CircuitPacks>> getSrgCps(String deviceId, Info ordmInfo) {
-        HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+        HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
                 .CircuitPacks>> cpPerSrg = new HashMap<>();
         Integer maxSrg;
         // Get value for max Srg from info subtree, required for iteration
@@ -230,7 +230,7 @@ public class PortMappingVersion22 {
             maxSrg = 20;
         }
         for (int srgCounter = 1; srgCounter <= maxSrg; srgCounter++) {
-            List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg.CircuitPacks> srgCps =
+            List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg.CircuitPacks> srgCps =
                     new ArrayList<>();
             LOG.info("Getting Circuitpacks for Srg Number {}", srgCounter);
             InstanceIdentifier<SharedRiskGroup> srgIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
@@ -249,14 +249,14 @@ public class PortMappingVersion22 {
 
     private boolean createPpPortMapping(String nodeId, Info deviceInfo, List<Mapping> portMapList) {
         // Creating mapping data for SRG's PP
-        HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+        HashMap<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
                 .CircuitPacks>> srgCps = getSrgCps(nodeId, deviceInfo);
-        Set<Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215
+        Set<Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019
                 .srg.CircuitPacks>>> circuitPacks = srgCps.entrySet();
-        for (Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg
+        for (Map.Entry<Integer, List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg
                 .CircuitPacks>> entry : circuitPacks) {
             Integer srgIndex = entry.getKey();
-            for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.srg.CircuitPacks cp : entry
+            for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg.CircuitPacks cp : entry
                     .getValue()) {
                 String circuitPackName = cp.getCircuitPackName();
                 InstanceIdentifier<CircuitPacks> cpIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
@@ -425,7 +425,7 @@ public class PortMappingVersion22 {
         NodesBuilder nodesBldr = new NodesBuilder();
         nodesBldr.withKey(new NodesKey(deviceInfo.getNodeId().getValue())).setNodeId(deviceInfo.getNodeId().getValue());
         nodesBldr.setNodeType(NodeTypes.forValue(nodeType));
-        nodesBldr.setOpenroadmVersion(Nodes.OpenroadmVersion._22);
+        nodesBldr.setOpenroadmVersion(Nodes.OpenroadmVersion._221);
         if (portMapList != null) {
             nodesBldr.setMapping(portMapList);
         }
index 33b33f373899f7dca454f79c67276547921bd3d6..1a74081b088637b1f2d36948b5413a7674a30cb0 100644 (file)
@@ -9,7 +9,7 @@
 package org.opendaylight.transportpce.common.openroadminterfaces;
 
 import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
-import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
 
 import java.util.Optional;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
@@ -25,15 +25,15 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
 
     private final DeviceTransactionManager deviceTransactionManager;
     OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
+    OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
     MappingUtils mappingUtils;
 
-    public OpenRoadmInterfacesImpl(DeviceTransactionManager deviceTransactionManager,MappingUtils mappingUtils,
-        OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121,OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22) {
+    public OpenRoadmInterfacesImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
+                                   OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121, OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221) {
         this.deviceTransactionManager = deviceTransactionManager;
         this.mappingUtils = mappingUtils;
         this.openRoadmInterfacesImpl121 = openRoadmInterfacesImpl121;
-        this.openRoadmInterfacesImpl22 = openRoadmInterfacesImpl22;
+        this.openRoadmInterfacesImpl221 = openRoadmInterfacesImpl221;
     }
 
     @Override
@@ -46,11 +46,11 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
             InterfaceBuilder ifBuilder121 = convertInstanceOfInterface(ifBuilder, InterfaceBuilder.class);
             openRoadmInterfacesImpl121.postInterface(nodeId,ifBuilder121);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceBuilder
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder
                 ifBuilder22 = convertInstanceOfInterface(ifBuilder, org.opendaylight.yang.gen.v1.http.org.openroadm
-                .device.rev171215.interfaces.grp.InterfaceBuilder.class);
-            openRoadmInterfacesImpl22.postInterface(nodeId,ifBuilder22);
+                .device.rev181019.interfaces.grp.InterfaceBuilder.class);
+            openRoadmInterfacesImpl221.postInterface(nodeId,ifBuilder22);
         }
     }
 
@@ -63,8 +63,8 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
             LOG.info("Device Version is 1.2.1");
             return (Optional<T>) openRoadmInterfacesImpl121.getInterface(nodeId,interfaceName);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            return (Optional<T>) openRoadmInterfacesImpl22.getInterface(nodeId,interfaceName);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            return (Optional<T>) openRoadmInterfacesImpl221.getInterface(nodeId,interfaceName);
         }
         return null;
     }
@@ -79,8 +79,8 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
             LOG.info("Device Version is 1.2.1");
             openRoadmInterfacesImpl121.deleteInterface(nodeId,interfaceName);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            openRoadmInterfacesImpl22.deleteInterface(nodeId,interfaceName);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            openRoadmInterfacesImpl221.deleteInterface(nodeId,interfaceName);
         }
     }
 
@@ -94,8 +94,8 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
             LOG.info("Device Version is 1.2.1");
             openRoadmInterfacesImpl121.postEquipmentState(nodeId, circuitPackName, activate);
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2)) {
-            openRoadmInterfacesImpl22.postEquipmentState(nodeId, circuitPackName, activate);
+        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
+            openRoadmInterfacesImpl221.postEquipmentState(nodeId, circuitPackName, activate);
         }
 
     }
similarity index 93%
rename from common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl22.java
rename to common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl221.java
index b4cd4ccae866c4ef0f7f7d9115ae3f94566bb81a..863afbe0128b0aa69e1f5b36a2638379c0bd4093 100755 (executable)
@@ -17,34 +17,34 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.device.DeviceTransaction;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacks;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacksBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.circuit.packs.CircuitPacksKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.Interface;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.org.openroadm.device.container.OrgOpenroadmDevice;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacks;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacksBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacksKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.States;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOdu;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOtu;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.loopback.rev171215.maint.loopback.MaintLoopbackBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.testsignal.rev171215.maint.testsignal.MaintTestsignalBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.odu.container.OduBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.otu.container.OtuBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.odu.container.OduBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.otu.container.OtuBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class OpenRoadmInterfacesImpl22 {
+public class OpenRoadmInterfacesImpl221 {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterfacesImpl22.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterfacesImpl221.class);
 
     private final DeviceTransactionManager deviceTransactionManager;
 
-    public OpenRoadmInterfacesImpl22(DeviceTransactionManager deviceTransactionManager) {
+    public OpenRoadmInterfacesImpl221(DeviceTransactionManager deviceTransactionManager) {
         this.deviceTransactionManager = deviceTransactionManager;
     }
 
@@ -110,11 +110,11 @@ public class OpenRoadmInterfacesImpl22 {
                 oduBuilder.setOdu(odu.build());
                 ifBuilder.addAugmentation(Interface1.class, oduBuilder.build());
             } else if (ifBuilder.getType() == OtnOtu.class) {
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder
+                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder
                     otuBuilder =
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder(
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder(
                         intf2Delete.augmentation(
-                            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1
+                            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1
                             .class));
                 OtuBuilder otu = new OtuBuilder(otuBuilder.getOtu());
                 if (otu.getMaintLoopback() != null) {
@@ -124,7 +124,7 @@ public class OpenRoadmInterfacesImpl22 {
                 }
                 otuBuilder.setOtu(otu.build());
                 ifBuilder.addAugmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1.class,
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1.class,
                     otuBuilder.build());
             }
             ifBuilder.setAdministrativeState(AdminStates.OutOfService);
index c28990fae460a48a03cfd327771b79ad43e1d540..8625059f3832266d8204f7f2c34b8dbf5b2d270e 100644 (file)
@@ -28,7 +28,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <argument ref="deviceTransactionManager" />
     </bean>
 
-    <bean id="openRoadmInterfaces22" class="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22" >
+    <bean id="openRoadmInterfaces221" class="org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221" >
         <argument ref="deviceTransactionManager" />
     </bean>
 
@@ -36,10 +36,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <argument ref="deviceTransactionManager" />
         <argument ref="mappingUtils" />
         <argument ref="openRoadmInterfaces121" />
-        <argument ref="openRoadmInterfaces22" />
+        <argument ref="openRoadmInterfaces221" />
     </bean>
 
-    <bean id="portMapping22" class="org.opendaylight.transportpce.common.mapping.PortMappingVersion22" >
+    <bean id="portMapping221" class="org.opendaylight.transportpce.common.mapping.PortMappingVersion221" >
         <argument ref="dataBroker" />
         <argument ref="deviceTransactionManager" />
         <argument ref="openRoadmInterfaces" />
@@ -62,7 +62,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <bean id="portMapping" class="org.opendaylight.transportpce.common.mapping.PortMappingImpl" >
         <argument ref="dataBroker" />
         <argument ref="mappingUtils" />
-        <argument ref="portMapping22" />
+        <argument ref="portMapping221" />
         <argument ref="portMapping121" />
     </bean>
 
@@ -70,7 +70,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <argument ref="deviceTransactionManager" />
     </bean>
 
-    <bean id="crossConnect22" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22" >
+    <bean id="crossConnect221" class="org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221" >
         <argument ref="deviceTransactionManager" />
     </bean>
 
@@ -78,7 +78,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <argument ref="deviceTransactionManager" />
         <argument ref="mappingUtils" />
         <argument ref="crossConnect121" />
-        <argument ref="crossConnect22" />
+        <argument ref="crossConnect221" />
     </bean>
 
     <bean id="FixedFlexImpl" class="org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl" >
index a09a3be7e0178a594a5fa51cefaf487874be6de6..58830f5111a424fae5ce86c55b29688d42fbe83c 100644 (file)
@@ -25,21 +25,31 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.binding.api.MountPoint;
 import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry;
 import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.networkmodel.dto.NodeRegistration;
+import org.opendaylight.transportpce.networkmodel.dto.NodeRegistration22;
 import org.opendaylight.transportpce.networkmodel.listeners.AlarmNotificationListener;
+import org.opendaylight.transportpce.networkmodel.listeners.AlarmNotificationListener221;
 import org.opendaylight.transportpce.networkmodel.listeners.DeOperationsListener;
+import org.opendaylight.transportpce.networkmodel.listeners.DeOperationsListener221;
 import org.opendaylight.transportpce.networkmodel.listeners.DeviceListener;
+import org.opendaylight.transportpce.networkmodel.listeners.DeviceListener221;
 import org.opendaylight.transportpce.networkmodel.listeners.LldpListener;
+import org.opendaylight.transportpce.networkmodel.listeners.LldpListener221;
 import org.opendaylight.transportpce.networkmodel.listeners.TcaListener;
+import org.opendaylight.transportpce.networkmodel.listeners.TcaListener221;
 import org.opendaylight.transportpce.networkmodel.service.NetworkModelService;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev161014.OrgOpenroadmAlarmListener;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev161014.OrgOpenroadmDeOperationsListener;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.OrgOpenroadmDeviceListener;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.OrgOpenroadmLldpListener;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev161014.OrgOpenroadmTcaListener;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.CreateSubscriptionInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.NotificationsService;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.StreamNameType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.Netconf;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf.Streams;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
@@ -60,6 +70,7 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
     private final DataBroker dataBroker;
     private final DeviceTransactionManager deviceTransactionManager;
     private final Map<String, NodeRegistration> registrations;
+    private final Map<String, NodeRegistration22> registrations22;
 
     public NetConfTopologyListener(final NetworkModelService networkModelService, final DataBroker dataBroker,
             final R2RLinkDiscovery linkDiscovery, DeviceTransactionManager deviceTransactionManager) {
@@ -68,10 +79,13 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
         this.dataBroker = dataBroker;
         this.deviceTransactionManager = deviceTransactionManager;
         this.registrations = new ConcurrentHashMap<>();
+        this.registrations22 = new ConcurrentHashMap<>();
     }
 
-    private void onDeviceConnected(final String nodeId) {
+    private void onDeviceConnected(final String nodeId, String openRoadmVersion) {
         LOG.info("onDeviceConnected: {}", nodeId);
+        LOG.info(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1);
+        LOG.info(openRoadmVersion);
         Optional<MountPoint> mountPointOpt = this.deviceTransactionManager.getDeviceMountPoint(nodeId);
         MountPoint mountPoint;
         if (mountPointOpt.isPresent()) {
@@ -88,32 +102,127 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
             return;
         }
 
-        final OrgOpenroadmAlarmListener alarmListener = new AlarmNotificationListener(this.dataBroker);
-        LOG.info("Registering notification listener on OrgOpenroadmAlarmListener for node: {}", nodeId);
-        final ListenerRegistration<OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration =
+        if (openRoadmVersion.equals(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1)) {
+
+            final OrgOpenroadmAlarmListener alarmListener = new AlarmNotificationListener(this.dataBroker);
+            LOG.info("Registering notification listener on OrgOpenroadmAlarmListener for node: {}", nodeId);
+            final ListenerRegistration<OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration =
+                notificationService.get().registerNotificationListener(alarmListener);
+
+            final OrgOpenroadmDeOperationsListener deOperationsListener = new DeOperationsListener();
+            LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
+            final ListenerRegistration<OrgOpenroadmDeOperationsListener>
+                accessDeOperationasNotificationListenerRegistration =
+                notificationService.get().registerNotificationListener(deOperationsListener);
+
+            final OrgOpenroadmDeviceListener deviceListener = new DeviceListener();
+            LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
+            final ListenerRegistration<OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration =
+                notificationService.get().registerNotificationListener(deviceListener);
+
+            final OrgOpenroadmLldpListener lldpListener = new LldpListener(this.linkDiscovery, nodeId);
+            LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
+            final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
+                notificationService.get().registerNotificationListener(lldpListener);
+
+            final OrgOpenroadmTcaListener tcaListener = new TcaListener();
+            LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
+            final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
+                notificationService.get().registerNotificationListener(tcaListener);
+
+            String streamName = "NETCONF"; //getSupportedStream(nodeId);
+
+            if (streamName == null) {
+                streamName = "OPENROADM";
+            }
+
+            final Optional<RpcConsumerRegistry> service = mountPoint.getService(RpcConsumerRegistry.class)
+                .toJavaUtil();
+            if (service.isPresent()) {
+                final NotificationsService rpcService = service.get().getRpcService(NotificationsService.class);
+                if (rpcService == null) {
+                    LOG.error("Failed to get RpcService for node {}", nodeId);
+                } else {
+                    final CreateSubscriptionInputBuilder createSubscriptionInputBuilder =
+                        new CreateSubscriptionInputBuilder();
+                    createSubscriptionInputBuilder.setStream(new StreamNameType(streamName));
+                    LOG.info("Triggering notification stream {} for node {}", streamName, nodeId);
+                    rpcService.createSubscription(createSubscriptionInputBuilder.build());
+                }
+            } else {
+                LOG.error("Failed to get RpcService for node {}", nodeId);
+            }
+            NodeRegistration nodeRegistration = new NodeRegistration(nodeId,
+                accessAlarmNotificationListenerRegistration,
+                accessDeOperationasNotificationListenerRegistration, accessDeviceNotificationListenerRegistration,
+                null, accessTcaNotificationListenerRegistration);
+            registrations.put(nodeId, nodeRegistration);
+
+        } else if (openRoadmVersion.equals(StringConstants.OPENROADM_DEVICE_VERSION_2_2_1)) {
+            final org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener
+                alarmListener = new AlarmNotificationListener221(dataBroker);
+            LOG.info("Registering notification listener on OrgOpenroadmAlarmListener for node: {}", nodeId);
+            final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019
+                .OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration =
                 notificationService.get().registerNotificationListener(alarmListener);
 
-        final OrgOpenroadmDeOperationsListener deOperationsListener = new DeOperationsListener();
-        LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
-        final ListenerRegistration<OrgOpenroadmDeOperationsListener>
-            accessDeOperationasNotificationListenerRegistration =
+            final org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019
+                .OrgOpenroadmDeOperationsListener deOperationsListener = new DeOperationsListener221();
+            LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
+            final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019
+                .OrgOpenroadmDeOperationsListener> accessDeOperationasNotificationListenerRegistration =
                 notificationService.get().registerNotificationListener(deOperationsListener);
 
-        final OrgOpenroadmDeviceListener deviceListener = new DeviceListener();
-        LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
-        final ListenerRegistration<OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration =
+            final org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceListener
+                deviceListener = new DeviceListener221();
+            LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
+            final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019
+                .OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration =
                 notificationService.get().registerNotificationListener(deviceListener);
 
-        final OrgOpenroadmLldpListener lldpListener = new LldpListener(this.linkDiscovery, nodeId);
-        LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
-        final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
+            final org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.OrgOpenroadmLldpListener
+                lldpListener = new LldpListener221(linkDiscovery, nodeId);
+            LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
+            final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm
+                .lldp.rev181019.OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
                 notificationService.get().registerNotificationListener(lldpListener);
 
-        final OrgOpenroadmTcaListener tcaListener = new TcaListener();
-        LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
-        final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
+            final org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.OrgOpenroadmTcaListener
+                tcaListener = new TcaListener221();
+            LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
+            final ListenerRegistration<org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019
+                .OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
                 notificationService.get().registerNotificationListener(tcaListener);
 
+
+            String streamName = "NETCONF";
+            //getSupportedStream(nodeId);
+            if (streamName == null) {
+                streamName = "OPENROADM";
+            }
+            final Optional<RpcConsumerRegistry> service = mountPoint.getService(RpcConsumerRegistry.class).toJavaUtil();
+            if (service.isPresent()) {
+                final NotificationsService rpcService = service.get().getRpcService(NotificationsService.class);
+                if (rpcService == null) {
+                    LOG.error("Failed to get RpcService for node {}", nodeId);
+                } else {
+                    final CreateSubscriptionInputBuilder createSubscriptionInputBuilder =
+                        new CreateSubscriptionInputBuilder();
+                    createSubscriptionInputBuilder.setStream(new StreamNameType(streamName));
+                    LOG.info("Triggering notification stream {} for node {}", streamName, nodeId);
+                    rpcService.createSubscription(createSubscriptionInputBuilder.build());
+                }
+            } else {
+                LOG.error("Failed to get RpcService for node {}", nodeId);
+            }
+            NodeRegistration22 nodeRegistration22 = new NodeRegistration22(nodeId,
+                accessAlarmNotificationListenerRegistration,
+                accessDeOperationasNotificationListenerRegistration, accessDeviceNotificationListenerRegistration,
+                accessLldpNotificationListenerRegistration, accessTcaNotificationListenerRegistration);
+            registrations22.put(nodeId, nodeRegistration22);
+
+        }
+
     }
 
     private void onDeviceDisConnected(final String nodeId) {
@@ -171,7 +280,7 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
                                     case Connected:
                                         this.networkModelService.createOpenROADMnode(nodeId, deviceCapabilities.get(0)
                                             .getCapability());
-                                        onDeviceConnected(nodeId);
+                                        onDeviceConnected(nodeId,deviceCapabilities.get(0).getCapability());
                                         break;
                                     case Connecting:
                                     case UnableToConnect:
@@ -183,7 +292,7 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
                                         break;
                                 }
                             }
-                            LOG.error("Not an openROADM node");
+
                         } catch (NullPointerException e) {
                             LOG.error("Cannot get available Capabilities");
                         }
@@ -204,8 +313,8 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
                     this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL,
                             streamsIID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
             if (!ordmInfoObject.isPresent()) {
-                LOG.error("Info subtree is not present");
-                return null;
+                LOG.error("Get Stream RPC is not supported");
+                return "NETCONF";
             }
             for (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf
                         .streams.Stream strm : ordmInfoObject.get().getStream()) {
@@ -217,7 +326,7 @@ public class NetConfTopologyListener implements DataTreeChangeListener<Node> {
             return "NETCONF";
         } catch (NullPointerException ex) {
             LOG.error("NullPointerException thrown while getting Info from a non Open ROADM device {}", nodeId);
-            return null;
+            return "NETCONF";
         }
     }
 }
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/dto/NodeRegistration22.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/dto/NodeRegistration22.java
new file mode 100644 (file)
index 0000000..9178864
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright Â© 2016 AT&T 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
+ */
+package org.opendaylight.transportpce.networkmodel.dto;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.OrgOpenroadmDeOperationsListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.OrgOpenroadmLldpListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.OrgOpenroadmTcaListener;
+import org.opendaylight.yangtools.concepts.ListenerRegistration;
+
+public class NodeRegistration22 {
+
+    private final String nodeId;
+    private final ListenerRegistration<OrgOpenroadmAlarmListener> accessAlarmNotificationListenerRegistration;
+    private final ListenerRegistration<OrgOpenroadmDeOperationsListener>
+        accessDeOperationasNotificationListenerRegistration;
+    private final ListenerRegistration<OrgOpenroadmDeviceListener> accessDeviceNotificationListenerRegistration;
+    private final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration;
+    private final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration;
+
+    public NodeRegistration22(String nodeId,
+                              ListenerRegistration<OrgOpenroadmAlarmListener>
+                                  accessAlarmNotificationListenerRegistration,
+                              ListenerRegistration<OrgOpenroadmDeOperationsListener>
+                                  accessDeOperationasNotificationListenerRegistration,
+                              ListenerRegistration<OrgOpenroadmDeviceListener>
+                                  accessDeviceNotificationListenerRegistration,
+                              ListenerRegistration<OrgOpenroadmLldpListener>
+                                  accessLldpNotificationListenerRegistration,
+                              ListenerRegistration<OrgOpenroadmTcaListener>
+                                  accessTcaNotificationListenerRegistration) {
+        this.nodeId = nodeId;
+        this.accessAlarmNotificationListenerRegistration = accessAlarmNotificationListenerRegistration;
+        this.accessDeOperationasNotificationListenerRegistration = accessDeOperationasNotificationListenerRegistration;
+        this.accessDeviceNotificationListenerRegistration = accessDeviceNotificationListenerRegistration;
+        this.accessLldpNotificationListenerRegistration = accessLldpNotificationListenerRegistration;
+        this.accessTcaNotificationListenerRegistration = accessTcaNotificationListenerRegistration;
+    }
+
+    public String getNodeId() {
+        return nodeId;
+    }
+
+    public ListenerRegistration<OrgOpenroadmAlarmListener> getAccessAlarmNotificationListenerRegistration() {
+        return accessAlarmNotificationListenerRegistration;
+    }
+
+    public ListenerRegistration<OrgOpenroadmDeOperationsListener>
+        getAccessDeOperationasNotificationListenerRegistration() {
+        return accessDeOperationasNotificationListenerRegistration;
+    }
+
+    public ListenerRegistration<OrgOpenroadmDeviceListener> getAccessDeviceNotificationListenerRegistration() {
+        return accessDeviceNotificationListenerRegistration;
+    }
+
+    public ListenerRegistration<OrgOpenroadmLldpListener> getAccessLldpNotificationListenerRegistration() {
+        return accessLldpNotificationListenerRegistration;
+    }
+
+    public ListenerRegistration<OrgOpenroadmTcaListener> getAccessTcaNotificationListenerRegistration() {
+        return accessTcaNotificationListenerRegistration;
+    }
+
+}
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener221.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/AlarmNotificationListener221.java
new file mode 100644 (file)
index 0000000..6e5023c
--- /dev/null
@@ -0,0 +1,218 @@
+/*
+ * Copyright Â© 2017 AT&T 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
+ */
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.concurrent.ExecutionException;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.ServiceNodelist;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.Nodelist;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.nodelist.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.nodelist.NodesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.AlarmNotification;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.OrgOpenroadmAlarmListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.alarm.ProbableCause;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.ResourceType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.Resource;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.CircuitPack;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Connection;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Degree;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Interface;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.InternalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.PhysicalLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Port;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Service;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Shelf;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.resource.resource.resource.Srg;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AlarmNotificationListener221 implements OrgOpenroadmAlarmListener {
+
+    private static final Logger LOG = LoggerFactory.getLogger(AlarmNotificationListener221.class);
+    private static final String PIPE = "|";
+    private final DataBroker dataBroker;
+
+    public AlarmNotificationListener221(DataBroker dataBroker) {
+        this.dataBroker = dataBroker;
+    }
+
+
+    /**
+     * Callback for alarm-notification.
+     *
+     * @param notification AlarmNotification object
+     */
+    @Override
+    public void onAlarmNotification(AlarmNotification notification) {
+        List<Nodes> allNodeList = new ArrayList<>();
+        InstanceIdentifier<ServiceNodelist> serviceNodeListIID = InstanceIdentifier.create(ServiceNodelist.class);
+        try {
+            ReadOnlyTransaction rtx = dataBroker.newReadOnlyTransaction();
+            com.google.common.base.Optional<ServiceNodelist> serviceListObject =
+                    rtx.read(LogicalDatastoreType.OPERATIONAL, serviceNodeListIID).get();
+            if (serviceListObject.isPresent()) {
+                for (Nodelist nodelist : serviceListObject.get().getNodelist()) {
+                    allNodeList.addAll(nodelist.getNodes());
+                }
+            }
+        } catch (InterruptedException | ExecutionException ex) {
+            LOG.warn("Exception thrown while reading Logical Connection Point value from {} {}", ex);
+        }
+        StringBuilder sb = new StringBuilder(notification.getResource().getDevice().getNodeId().getValue())
+            .append(PIPE);
+        sb.append(buildCause(notification.getProbableCause()));
+        sb.append(notification.getId() != null ? notification.getId() : "").append(PIPE)
+                .append(notification.getRaiseTime() != null ? notification.getRaiseTime().toString() : "").append(PIPE)
+                .append(notification.getSeverity() != null ? notification.getSeverity().getName() : "").append(PIPE)
+                .append(notification.getCircuitId() != null ? notification.getCircuitId() : "").append(PIPE);
+
+        sb.append(buildType(notification));
+
+        String message = sb.toString();
+        Nodes build = new NodesBuilder().setNodeId(notification.getResource().getDevice().getNodeId().getValue())
+            .build();
+        if (allNodeList.contains(build)) {
+            LOG.info(message);
+        } else {
+            LOG.warn(message);
+        }
+    }
+
+    private String buildCause(ProbableCause probableCause) {
+        StringBuilder sb = new StringBuilder();
+        if (probableCause == null) {
+            return "||||";
+        }
+        sb.append((probableCause.getCause() != null) ? probableCause.getCause().getName() : "").append(PIPE)
+                .append((probableCause.getDirection() != null) ? probableCause.getDirection().getName() : "")
+                .append(PIPE).append((probableCause.getExtension() != null) ? probableCause.getExtension() : "")
+                .append(PIPE).append((probableCause.getLocation() != null) ? probableCause.getLocation().getName() : "")
+                .append(PIPE);
+        return sb.toString();
+    }
+
+    @SuppressWarnings("unchecked")
+    private static <T extends Resource> Optional<T> tryCastToParticularResource(Class<T> resourceClass,
+            Resource resource) {
+        if (resource == null) {
+            LOG.error("Resource is null.");
+        } else if (!resourceClass.isInstance(resource)) {
+            LOG.error("Resource implement different type than expected. Expected {}, actual {}.",
+                    resourceClass.getSimpleName(), resource.getClass().getSimpleName());
+        } else {
+            return Optional.of((T) resource);
+        }
+        return Optional.empty();
+    }
+
+    private static String buildType(AlarmNotification notification) {
+        String circuitPack = "";
+        String connection = "";
+        String degree = "";
+        String iface = "";
+        String internalLink = "";
+        String physicalLink = "";
+        String service = "";
+        String shelf = "";
+        String sharedRiskGroup = "";
+        String port = "";
+        String portCircuitPack = "";
+
+        Resource resource = notification.getResource().getResource().getResource();
+        ResourceType wantedResourceType = notification.getResource().getResourceType();
+
+        switch (wantedResourceType.getType()) {
+            case CircuitPack:
+                Optional<CircuitPack> circuitPackOptional = tryCastToParticularResource(CircuitPack.class, resource);
+                if (circuitPackOptional.isPresent()) {
+                    circuitPack = circuitPackOptional.get().getCircuitPackName();
+                }
+                break;
+
+            case Connection:
+                Optional<Connection> connectionOptional = tryCastToParticularResource(Connection.class, resource);
+                if (connectionOptional.isPresent()) {
+                    connection = connectionOptional.get().getConnectionName();
+                }
+                break;
+
+            case Degree:
+                Optional<Degree> degreeOptional = tryCastToParticularResource(Degree.class, resource);
+                if (degreeOptional.isPresent()) {
+                    degree = degreeOptional.get().getDegreeNumber().toString();
+                }
+                break;
+
+            case Interface:
+                Optional<Interface> interfaceOptional = tryCastToParticularResource(Interface.class, resource);
+                if (interfaceOptional.isPresent()) {
+                    iface = interfaceOptional.get().getInterfaceName();
+                }
+                break;
+
+            case InternalLink:
+                Optional<InternalLink> internalLinkOptional = tryCastToParticularResource(InternalLink.class, resource);
+                if (internalLinkOptional.isPresent()) {
+                    internalLink = internalLinkOptional.get().getInternalLinkName();
+                }
+                break;
+
+            case PhysicalLink:
+                Optional<PhysicalLink> physicalLinkOptional = tryCastToParticularResource(PhysicalLink.class, resource);
+                if (physicalLinkOptional.isPresent()) {
+                    physicalLink = physicalLinkOptional.get().getPhysicalLinkName();
+                }
+                break;
+
+            case Service:
+                Optional<Service> serviceOptional = tryCastToParticularResource(Service.class, resource);
+                if (serviceOptional.isPresent()) {
+                    service = serviceOptional.get().getServiceName();
+                }
+                break;
+
+            case Shelf:
+                Optional<Shelf> shelfOptional = tryCastToParticularResource(Shelf.class, resource);
+                if (shelfOptional.isPresent()) {
+                    shelf = shelfOptional.get().getShelfName();
+                }
+                break;
+
+            case SharedRiskGroup:
+                Optional<Srg> sharedRiskGroupOptional = tryCastToParticularResource(Srg.class, resource);
+                if (sharedRiskGroupOptional.isPresent()) {
+                    sharedRiskGroup = sharedRiskGroupOptional.get().getSrgNumber().toString();
+                }
+                break;
+
+            case Port:
+                Optional<Port> portContainerOptional = tryCastToParticularResource(Port.class, resource);
+                if (portContainerOptional.isPresent()) {
+                    port = portContainerOptional.get().getPort().getPortName();
+                    portCircuitPack = portContainerOptional.get().getPort().getCircuitPackName();
+                }
+                break;
+
+            default:
+                LOG.warn("Unknown resource type {}", wantedResourceType);
+        }
+        StringBuilder sb = new StringBuilder(circuitPack);
+        sb.append(PIPE).append(connection).append(PIPE).append(degree).append(PIPE).append(iface);
+        sb.append(PIPE).append(internalLink).append(PIPE).append(physicalLink).append(PIPE).append(service);
+        sb.append(PIPE).append(shelf).append(PIPE).append(sharedRiskGroup).append(PIPE).append(port);
+        sb.append(PIPE).append(portCircuitPack);
+        return sb.toString();
+    }
+}
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/DeOperationsListener221.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/DeOperationsListener221.java
new file mode 100644 (file)
index 0000000..61961c3
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright Â© 2017 AT&T 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
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.OrgOpenroadmDeOperationsListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.RestartNotification;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DeOperationsListener221 implements OrgOpenroadmDeOperationsListener {
+
+    private static final Logger LOG = LoggerFactory.getLogger(DeOperationsListener221.class);
+
+    /**
+     * Callback for restart-notification.
+     *
+     * @param notification RestartNotification object
+     */
+    @Override
+    public void onRestartNotification(RestartNotification notification) {
+        LOG.info("Notification {} received {}", RestartNotification.QNAME, notification);
+    }
+
+}
\ No newline at end of file
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/DeviceListener221.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/DeviceListener221.java
new file mode 100644 (file)
index 0000000..0124d2f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright Â© 2017 AT&T 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
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.ChangeNotification;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.CreateTechInfoNotification;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OtdrScanResult;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DeviceListener221 implements OrgOpenroadmDeviceListener {
+
+    private static final Logger LOG = LoggerFactory.getLogger(DeviceListener221.class);
+
+    /**
+     * Callback for change-notification.
+     *
+     * @param notification ChangeNotification object
+     */
+    @Override
+    public void onChangeNotification(ChangeNotification notification) {
+
+        LOG.info("Notification {} received {}", ChangeNotification.QNAME, notification);
+    }
+
+    @Override
+    public void onCreateTechInfoNotification(CreateTechInfoNotification notification) {
+
+    }
+
+    /**
+     * Callback for otdr-scan-result.
+     *
+     * @param notification OtdrScanResult object
+     */
+    @Override
+    public void onOtdrScanResult(OtdrScanResult notification) {
+
+        LOG.info("Notification {} received {}", OtdrScanResult.QNAME, notification);
+    }
+
+}
\ No newline at end of file
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/LldpListener221.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/LldpListener221.java
new file mode 100644 (file)
index 0000000..0a2bc80
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright Â© 2017 AT&T 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
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.transportpce.networkmodel.R2RLinkDiscovery;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.LldpNbrInfoChange;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.OrgOpenroadmLldpListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceNotificationType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NodeId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class LldpListener221 implements OrgOpenroadmLldpListener {
+
+    private static final Logger LOG = LoggerFactory.getLogger(LldpListener221.class);
+    private final R2RLinkDiscovery linkDiscovery;
+    private final NodeId nodeId;
+
+    public LldpListener221(final R2RLinkDiscovery linkDiscovery, final String nodeId) {
+        this.linkDiscovery = linkDiscovery;
+        this.nodeId = new NodeId(nodeId);
+    }
+
+    /**
+     * Callback for lldp-nbr-info-change.
+     * @param notification LldpNbrInfoChange object
+     */
+    @Override
+    public void onLldpNbrInfoChange(LldpNbrInfoChange notification) {
+        LOG.info("Notification {} received {}", LldpNbrInfoChange.QNAME, notification);
+        if (notification.getNotificationType().equals(ResourceNotificationType.ResourceCreation)) {
+            linkDiscovery.createR2RLink(nodeId,notification.getResource(),
+                                                notification.getNbrInfo().getRemoteSysName(),
+                                                notification.getNbrInfo().getRemotePortId());
+        } else if (notification.getNotificationType().equals(ResourceNotificationType.ResourceDeletion)) {
+            linkDiscovery.deleteR2RLink(nodeId,notification.getResource(),
+                                                notification.getNbrInfo().getRemoteSysName(),
+                                                notification.getNbrInfo().getRemotePortId());
+        }
+    }
+}
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/TcaListener221.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/listeners/TcaListener221.java
new file mode 100644 (file)
index 0000000..68cec92
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright Â© 2017 AT&T 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
+ */
+
+package org.opendaylight.transportpce.networkmodel.listeners;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.OrgOpenroadmTcaListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.TcaNotification;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TcaListener221 implements OrgOpenroadmTcaListener {
+
+    private static final Logger LOG = LoggerFactory.getLogger(TcaListener221.class);
+
+    /**
+     * Callback for tca-notification.
+     * @param notification TcaNotification object
+     */
+    @Override
+    public void onTcaNotification(TcaNotification notification) {
+        LOG.info("Notification {} received {}", TcaNotification.QNAME, notification);
+    }
+
+}
\ No newline at end of file
index c38356c80b0fc2a4876a4908b85ecc7258aff5c8..39d8921128dee99a3ca1515928d79c272aa9158e 100644 (file)
@@ -130,7 +130,7 @@ public class NetworkModelServiceImpl implements NetworkModelService {
                 writeTransaction.submit().get();
                 LOG.info("all nodes and links created");
             } else {
-                LOG.warn("openroadm-topology is not managed yet with openROADM device 2.2");
+                LOG.warn("openroadm-topology is not managed yet with openROADM device 2.2.1");
             }
         } catch (InterruptedException | ExecutionException e) {
             LOG.error("ERROR: ", e);
index cf8541edc833c9d54c1c2723e6e39b4cb8c0f41e..929c82757cacbb8159a9063acac02afe7af6fdbe 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.controller.md.sal.binding.api.MountPointService;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
@@ -32,11 +32,11 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.olm.power.PowerMgmt;
 import org.opendaylight.transportpce.olm.service.OlmPowerService;
 import org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl;
@@ -91,11 +91,11 @@ public class OlmPowerServiceRpcImplTest extends AbstractTest {
     private OlmPowerServiceRpcImpl olmPowerServiceRpc;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
 
     @Before
@@ -104,16 +104,16 @@ public class OlmPowerServiceRpcImplTest extends AbstractTest {
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
-                this.crossConnectImpl121, this.crossConnectImpl22);
+                this.crossConnectImpl121, this.crossConnectImpl221);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-                openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+                openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.portMappingVersion22 =
-                new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
+                new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 =
                 new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
index c02a61d2bc399a440f09e4c708270212872103d1..b474d696ff9cd9a610ed92f24ccfb5a33d4e88e7 100644 (file)
@@ -17,7 +17,7 @@ import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
@@ -25,11 +25,11 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.olm.power.PowerMgmt;
 import org.opendaylight.transportpce.olm.service.OlmPowerService;
 import org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl;
@@ -53,11 +53,11 @@ public class OlmProviderTest extends AbstractTest {
     private OlmProvider olmProvider;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     @Before
     public void setUp() {
@@ -65,15 +65,15 @@ public class OlmProviderTest extends AbstractTest {
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
-                this.crossConnectImpl121, this.crossConnectImpl22);
+                this.crossConnectImpl121, this.crossConnectImpl221);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-                openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
-        this.portMappingVersion22 = new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager,
+                openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
+        this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager,
                 this.openRoadmInterfaces);
         this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager,
                 this.openRoadmInterfaces);
index 03041193da40859bbdc27005508bc63e926c93ba..bc25a2726eea5f9e7d9d7aad50c38524f0bf3760 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
@@ -28,11 +28,11 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.olm.stub.MountPointServiceStub;
 import org.opendaylight.transportpce.olm.stub.MountPointStub;
 import org.opendaylight.transportpce.olm.util.OlmPowerServiceRpcImplUtil;
@@ -52,11 +52,11 @@ public class PowerMgmtTest extends AbstractTest {
     private PowerMgmt powerMgmt;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     @Before
     public void setUp() {
@@ -66,15 +66,15 @@ public class PowerMgmtTest extends AbstractTest {
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.mappingUtils = Mockito.spy(this.mappingUtils);
         this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
-                this.crossConnectImpl121, this.crossConnectImpl22);
+                this.crossConnectImpl121, this.crossConnectImpl221);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-                openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+                openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.portMappingVersion22 =
-                new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
+                new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 =
                 new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
index 93d138879eb8d08743853bee5e4001cc66b03ba5..cac70eb699df6a45427df91256b01c8b7dfcd3d5 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
@@ -28,11 +28,11 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.olm.power.PowerMgmt;
 import org.opendaylight.transportpce.olm.stub.MountPointServiceStub;
 import org.opendaylight.transportpce.olm.stub.MountPointStub;
@@ -78,11 +78,11 @@ public class OlmPowerServiceImplTest  extends AbstractTest {
     private OlmPowerService olmPowerServiceMock;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
 
 
@@ -92,16 +92,16 @@ public class OlmPowerServiceImplTest  extends AbstractTest {
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
-                this.crossConnectImpl121, this.crossConnectImpl22);
+                this.crossConnectImpl121, this.crossConnectImpl221);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-                openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+                openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.portMappingVersion22 =
-                new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
+                new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 =
                 new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager, this.openRoadmInterfaces);
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
old mode 100644 (file)
new mode 100755 (executable)
similarity index 87%
rename from ordmodels/common/src/main/yang/org-openroadm-alarm@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-alarm@2018-10-19.yang
index 7874af8..20d65be
@@ -8,15 +8,15 @@ module org-openroadm-alarm {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-resource {
     prefix org-openroadm-resource;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-probable-cause {
     prefix org-openroadm-probable-cause;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -25,33 +25,37 @@ module org-openroadm-alarm {
     "OpenROADM.org";
   description
     "YANG definitions of an alarm.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
similarity index 92%
rename from ordmodels/common/src/main/yang/org-openroadm-common-types@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-common-types@2018-10-19.yang
index 3682f8b..c83e074
@@ -8,33 +8,37 @@ module org-openroadm-common-types {
     "OpenROADM.org";
   description
     "YANG definitions of common types.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -232,9 +236,9 @@ module org-openroadm-common-types {
       }
     }
     description
-      "Operational mode for the amplifier:
+      "Operational mode for the amplifier:  
        this parameter allows modeling different operational modes (gain ranges) ,notably for switched-gain amplifiers.
-       It indicates which performance model shall be used by the path feasibility engine.
+       It indicates which performance model shall be used by the path feasibility engine. 
        For standard amplifier, or when performance evaluation is based on incremental noise, use gain-range-1.
        When performance evaluation is based on advanced parameters, specify used gain-range (1 to 4).
        Up to release 2.1, only gain-range-1 is to be used (default value) ";
@@ -275,7 +279,7 @@ module org-openroadm-common-types {
       enum "commit" {
         value 2;
         description
-          "commit the software or database.
+          "commit the software or database. 
            For software activate, this event can happen in the following scenarios:
              1) immediately when user issue db-activate command without rollBackTimer
                 or if the rollBackTimer is specified as 00-00-00;
@@ -291,7 +295,7 @@ module org-openroadm-common-types {
           "cancel the database or software activation operation.
            For software activate, this event can happen in the following cases:
              1) when the rollBackTimer expires;
-             2) when the user issues cancel-rollback-timer with accept=false.
+             2) when the user issues cancel-rollback-timer with accept=false.  
            For database activate, this event can happen in the following cases:
              1) when the rollBackTimer expires;
              2) when the user issues cancel-rollback-timer with accept=false.";
@@ -330,6 +334,38 @@ module org-openroadm-common-types {
       "status of RPC ";
   }
 
+  typedef openroadm-version-type {
+    type enumeration {
+      enum "1.0" {
+        value 1;
+        description
+          "value for 1.0";
+      }
+      enum "2.0" {
+        value 2;
+        description
+          "value for 2.0";
+      }
+      enum "2.1" {
+        value 3;
+        description
+          "value for 2.1";
+      }
+      enum "2.2" {
+        value 4;
+        description
+          "value for 2.2";
+      }
+      enum "2.2.1" {
+        value 8;
+        description
+          "value for 2.2";
+      }
+    }
+    description
+      "OpenROADM version enum type";
+  }
+
   typedef lifecycle-state {
     type enumeration {
       enum "deployed" {
old mode 100644 (file)
new mode 100755 (executable)
index 0c951ae..72ec70e
@@ -8,31 +8,31 @@ module org-openroadm-equipment-states-types {
     "OpenROADM.org";
   description
     "YANG definitions for types of states of equipment (slot/subslot).
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
diff --git a/ordmodels/common/src/main/yang/org-openroadm-layerRate@2017-12-15.yang b/ordmodels/common/src/main/yang/org-openroadm-layerRate@2017-12-15.yang
deleted file mode 100644 (file)
index f922156..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-module org-openroadm-layerRate {
-  namespace "http://org/openroadm/layerRate";
-  prefix org-openroadm-layerRate;
-
-  organization
-    "Open ROADM MSA";
-  contact
-    "OpenROADM.org";
-  description
-    "YANG definitions of layer rates.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
-      AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
-      are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
-        list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
-        other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
-        without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-      POSSIBILITY OF SUCH DAMAGE";
-
-  revision 2017-12-15 {
-    description
-      "Version 2.2";
-  }
-  revision 2016-10-14 {
-    description
-      "Version 1.2";
-  }
-
-  typedef layer-rate-enum {
-    type enumeration {
-      enum "vendorExtension" {
-        value 1;
-        description
-          "vendor extension";
-      }
-      enum "layer2" {
-        value 2;
-        description
-          "2";
-      }
-      enum "layer3" {
-        value 3;
-        description
-          "3";
-      }
-      enum "layer4" {
-        value 4;
-        description
-          "4";
-      }
-      enum "layer5" {
-        value 5;
-        description
-          "5";
-      }
-      enum "layer6" {
-        value 6;
-        description
-          "6";
-      }
-    }
-  }
-
-  grouping layer-rate {
-    description
-      "Set list of layer rates, plus the ability to report layer rates not yet in set list.";
-    leaf type {
-      type layer-rate-enum;
-      mandatory true;
-    }
-    leaf extension {
-      type string;
-      mandatory false;
-    }
-  }
-}
old mode 100644 (file)
new mode 100755 (executable)
similarity index 85%
rename from ordmodels/common/src/main/yang/org-openroadm-maintenance@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-maintenance@2018-10-19.yang
index bd9a5ab..95b358e
@@ -4,7 +4,7 @@ module org-openroadm-maintenance {
 
   import org-openroadm-resource {
     prefix org-openroadm-resource;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-maintenance {
     "OpenROADM.org";
   description
     "YANG definitions of maintenace operations.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
diff --git a/ordmodels/common/src/main/yang/org-openroadm-manifest-file@2017-12-15.yang b/ordmodels/common/src/main/yang/org-openroadm-manifest-file@2017-12-15.yang
deleted file mode 100644 (file)
index 6f74fcd..0000000
+++ /dev/null
@@ -1,933 +0,0 @@
-module org-openroadm-manifest-file {
-  namespace "http://org/openroadm/manifest-file";
-  prefix org-openroadm-manifest-file;
-
-  organization
-    "Open ROADM MSA";
-  contact
-    "OpenROADM.org";
-  description
-    "YANG definitions of sw-manifest-file
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
-     AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
-     are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
-       list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
-       other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
-       without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-     POSSIBILITY OF SUCH DAMAGE.
-
-     Also contains code components extracted from IETF netconf.  These code components
-     are copyrighted and licensed as follows:
-
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
-     All rights reserved.
-
-     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
-     publication of this document. Please review these documents carefully, as they
-     describe your rights and restrictions with respect to this document. Code Components
-     extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as
-     described in the Simplified BSD License.";
-
-  revision 2017-12-15 {
-    description
-      "Version 2.2";
-  }
-  revision 2017-09-29 {
-    description
-      "Version 2.1";
-    reference "This module serves as the manifest file reference.";
-  }
-
-  identity manifest-commands {
-    description
-      "base identity for defining manifest-commands.";
-  }
-
-  identity download-file {
-    base manifest-commands;
-    description
-      "download-file (transfer from OWB-C to Device)";
-  }
-
-  identity upload-file {
-    base manifest-commands;
-    description
-      "upload-file (transfer from Device to OWB-C)";
-  }
-
-  identity delete-file {
-    base manifest-commands;
-    description
-      "delete-file from device";
-  }
-
-  identity sw-manifest-commands {
-    base manifest-commands;
-    description
-      "base identity for defining manifest-commands specific to sw-manifest.";
-  }
-
-  identity sw-stage {
-    base sw-manifest-commands;
-    description
-      "sw-stage sw-manifest-command";
-  }
-
-  identity sw-activate {
-    base sw-manifest-commands;
-    description
-      "sw-activate sw-manifest-command";
-  }
-
-  identity db-backup-manifest-commands {
-    base manifest-commands;
-    description
-      "base identity for defining manifest-commands specific to db-backup-manifest.";
-  }
-
-  identity db-backup {
-    base db-backup-manifest-commands;
-    description
-      "db-backup db-backup-manifest-command";
-  }
-
-  identity db-restore-manifest-commands {
-    base manifest-commands;
-    description
-      "base identity for defining manifest-commands specific to db-restore-manifest.";
-  }
-
-  identity db-restore {
-    base db-restore-manifest-commands;
-    description
-      "db-restore db-restore-manifest-command";
-  }
-
-  identity db-activate {
-    base db-restore-manifest-commands;
-    description
-      "db-activate db-restore-manifest-command";
-  }
-
-  grouping base-manifest {
-    description
-      "base set of variables in all manifest files";
-    leaf vendor {
-      type string;
-      mandatory true;
-      description
-        "This field should match the /org-openroadm-device/info/vendor.
-         It is assumed that the vendor value does not change during the
-         processing of the manifest file.
-
-         The controller agent would use the vendor and model to find the
-         manifest for an Open ROADM NE. The controller agent would also
-         use the vendor and model to validate that this is a valid manifest
-         for the Open ROADM NE.
-        ";
-    }
-    leaf model {
-      type string;
-      mandatory true;
-      description
-        "This field should match the /org-openroadm-device/info/model.
-         It is assumed that the model value does not change during the
-         processing of the manifest file.
-
-         The controller agent would use the vendor and model to find the
-         manifest for an Open ROADM NE. The controller agent would also
-         use the vendor and model to validate that this is a valid manifest
-         for the Open ROADM NE.
-        ";
-    }
-    leaf sw-version {
-      type string;
-      description
-        "This field should match the
-             /org-openroadm-device/info/softwareVersion.
-         This is the value in the info tree AFTER an upgrade.
-        ";
-    }
-    leaf global-async-timeout {
-      type uint16;
-      default "900";
-      description
-        "global-async-timeout - time in seconds to wait for command processing to
-         complete.
-
-         Upon timeout, the controller may either:
-           - assume success;
-           - assume failure;
-           - poll the device to determine success/failure of the operation
-
-         This global-async-timeout applies to any asynchronous command.
-        ";
-    }
-    leaf global-sync-timeout {
-      type uint16;
-      description
-        "global-sync-timeout - time in seconds to wait for the rpc response for
-         synchronous commands.
-
-         This global-sync-timeout applies to any synchronous command.
-
-         Upon timeout, the controller may either:
-           - assume success;
-           - assume failure;
-           - poll the device to determine success/failure of the operation
-
-         No default is modeled; if not provided, defaults to the global
-         timeout supported by the controller for rpc responses.
-        ";
-    }
-  }
-
-  grouping timeout-command {
-    description
-      "timeout-command is to be used by any manifest command supporting a timeout";
-    leaf timeout {
-      type uint16;
-      description
-        "See command for additional details.
-         if command is async,
-           - overrides the global-async-timeout;
-           - defaults to the global-async-timeout if not provided.
-         if command is sync,
-           - overrides the global-sync-timeout;
-           - defaults to the global-sync-timeout if not provided.
-        ";
-    }
-  }
-
-  grouping is-async-command {
-    description
-      "is-async-command is to be supported by all manifest commands even if only
-       supported as sync or async. In such cases, a must statement should be
-       included to limit support to either sync or async.";
-    leaf is-async {
-      type boolean;
-      default "true";
-      description
-        "command can be supported as either an async or sync command by a vendor.
-         When supported as a sync command, the OWB-C will determine the success/failure
-         of the command based on the RPC response instead of waiting for transient
-         notifications from the device.";
-    }
-  }
-
-  grouping transfer-command {
-    description
-      "transfer-command defines the common set of variables used by download-file
-       and upload-file";
-    leaf remote-filename {
-      type string;
-      mandatory true;
-      description
-        "See command for detailed description.";
-    }
-    leaf local-file-path {
-      type string;
-      mandatory true;
-      description
-        "See command for detailed description.";
-    }
-    uses timeout-command;
-    uses is-async-command;
-  }
-
-  grouping file-command {
-    description
-      "file-command is used by all manifest files needing a filename";
-    leaf filename {
-      type string;
-      description
-        "filename is mandatory for delete-file; optional otherwise.
-         See command for detailed description.";
-    }
-  }
-
-  grouping command-reboot {
-    description
-      "command-reboot is used by manifest commands which result in a
-       device restart.";
-    leaf auto-reboot {
-      type uint16;
-      mandatory true;
-      description
-        "See command for detailed description.";
-    }
-  }
-
-  grouping download-file-command {
-    description
-      "down-file-command";
-    container download-file {
-      when "../command = 'download-file'";
-      description
-        "Transfer a file from the SFTP server to the device.
-         format: download-file remote-filename local-file-path [timeout]
-         where
-           remote-filename is the filename of the file to transfer on the SFTP
-           server. The filename can include a relative path that represents the
-           subdirectory structure of the vendor's software directory. This file
-           (and optional path) must exist in the software release directory on
-           the SFTP server.
-
-           local-file-path is the local path and filename to transfer the file on
-           the device.
-
-           timeout - see timeout-command grouping for basic details;
-                     if command is async,
-                       - Receipt of an in-progress (version 2)
-                         transfer-notification resets the timeout.
-
-         Maps to the transfer rpc with
-            action = download
-            local-file-path = local-file-path
-            remote-file-path =
-               sftp://user:password@host[:port]/path/remote-filename
-
-            The remote-file-path attribute on the transfer command would be
-            constructed by the software download agent by appending the sftp URL
-            (which includes username, password, host, port, and path to the
-            software release directory) with the remote_filename.
-
-         In the context of the transfer, remote is the SFTP server (e.g., located
-         on the software download agent) and local is on the Open ROADM device.
-
-         Expected notifications: transfer-notification
-        ";
-      uses transfer-command;
-    }
-  }
-
-  grouping upload-file-command {
-    description
-      "upload-file-command";
-    container upload-file {
-      when "../command = 'upload-file'";
-      description
-        "Transfer a file from the device to the SFTP server.
-         format: upload-file remote-filename local-file-path [timeout]
-         where
-           remote-filename is the filename of the file to receive the upload
-           on the SFTP server. The filename can include a relative path that
-           represents the subdirectory structure of the vendor's software
-           directory.
-
-           local-file-path is the local path and filename of the file on
-           the device to be uploaded to the SFTP server. This file must exist on
-           the device.
-
-           timeout - see timeout-command grouping for basic details;
-                     if command is async,
-                       - Receipt of an in-progress (version 2)
-                         transfer-notification resets the timeout.
-
-         Maps to the transfer rpc with
-            action = upload
-            local-file-path = local-file-path
-            remote-file-path =
-               sftp://user:password@host[:port]/path/remote-filename
-
-            The remote-file-path attribute on the transfer command would be
-            constructed by the software download agent by appending the sftp URL
-            (which includes username, password, host, port, and path to the
-            software release directory) with the remote_filename.
-
-         In the context of the transfer, remote is the SFTP server (e.g., located
-         on the software download agent) and local is on the Open ROADM device.
-
-         Expected notifications: transfer-notification
-        ";
-      uses transfer-command;
-    }
-  }
-
-  grouping delete-file-command {
-    description
-      "delete-file-command";
-    container delete-file {
-      when "../command = 'delete-file'";
-      must "is-async != 'false'" {
-        error-message "delete-file is only supported as sync command";
-      }
-      description
-        "Delete a file from the device's file system.
-         format: delete-file filename [timeout]
-         where
-           filename is the filename to be deleted from the device. The filename
-           may include path information.
-
-           timeout - overrides the global-sync-timeout; defaults to the
-                     global-sync-timeout if not provided.
-
-         Maps to the delete-file rpc:
-            delete-file filename
-        ";
-      uses file-command {
-        refine "filename" {
-          mandatory true;
-        }
-      }
-      uses timeout-command;
-      uses is-async-command;
-    }
-  }
-
-  grouping sw-stage-command {
-    description
-      "sw-stage-command";
-    container sw-stage {
-      when "../command = 'sw-stage'";
-      description
-        "Stage a file in the device.  The details of what a device does during
-         the staging operation is vendor specific.  However, the vendor may
-         initiate additional file transfers from the SFTP server during the
-         staging operation.  It is expected that the files will only be
-         transferred from the software release directory.
-
-         format: sw-stage [filename] [timeout]
-         where
-           filename is the filename of the file to stage. If filename is not
-           provided, the software download application will send the sw-stage
-           command without a filename.
-
-           timeout - overrides the global-async-timeout; defaults to the
-                     global-async-timeout if not provided.
-
-
-         Maps to the sw-stage rpc:
-            sw-stage [filename]
-
-         Expected notifications: sw-stage-notification
-        ";
-      uses file-command;
-      uses timeout-command;
-      uses is-async-command;
-    }
-  }
-
-  grouping sw-activate-command {
-    description
-      "sw-activate-command";
-    container sw-activate {
-      when "../command = 'sw-activate'";
-      must "is-async != 'true'" {
-        error-message "sw-activate is only supported as async command";
-      }
-      description
-        "Activate a software load in a device.  The details of what a device does
-         during the activation phase is vendor specific.  The device initiates
-         an automatic reboot as part of the activation.
-
-         format:  sw-activate version [validation-timer] [timeout] auto-reboot
-         where:
-           version: The version of software that is being activated. (The current
-           YANG model indicates that version is optional; however, version should
-           be a mandatory attribute of the sw-activate command in the manifest
-           file).
-
-           validation-timer: Validation timer setting for the software activation.
-           Format is expected to be in the form HH-MM-SS per the YANG model. The
-           software download application expects this format in order to treat
-           00-00-00 and no validation timer as the same use case.
-
-           timeout - overrides the global-async-timeout; defaults to the
-           global-async-timeout if not provided. This timer begins as soon as the
-           sw-activate processing begins. timeout must be greater than the
-           auto-reboot time.
-
-           auto-reboot: time (in seconds) to wait to for the device to reboot.
-           This is the device restart time (e.g. the length of time from device
-           comm loss until the device is ready for login). This timer begins when
-           the controller detects the comm-loss from the device. If login is not
-           successful when this timer expires, the sw-activate is failed.
-
-           NOTE: if controller swdl application is not doing the login directly,
-           the controller may need to augment the auto-reboot timer to account for
-           the login time.
-
-         Maps to the sw-activate rpc:
-           sw-activate version [validationTimer]
-
-         Expected notifications: sw-activate-notification
-           When no validation timer (or validation-timer = 00-00-00), two
-           notifications will be expected: one for activate, the other for
-           commit. Otherwise, only the activate notification is expected.
-
-           NOTE: the sw-activate-notifications (for activate) may be received
-           before or after the reboot; it is assumed the sw-activate-notification
-           (for commit) always occurs after the reboot. Any polling due to missed
-           sw-activate-notifications (activate and/or commit) should not be done
-           until after the reboot login; processing of sw-activate does not
-           complete until after receipt of the notifications and the reboot login.
-        ";
-      leaf version {
-        type string;
-        mandatory true;
-        description
-          "Although version is optional in the sw-activate rpc, it is
-           mandatory in the manifest file command.";
-      }
-      leaf validation-timer {
-        type string;
-        description
-          "hh-mm-ss";
-      }
-      uses timeout-command;
-      uses command-reboot;
-      uses is-async-command;
-    }
-  }
-
-  grouping db-backup-command {
-    description
-      "db-backup-command";
-    container db-backup {
-      when "../command = 'db-backup'";
-      description
-        "Perform a database backup on the device.
-
-         format: db-backup [filename] [timeout]
-         where
-           filename is the filename of the backup file to be generated on the
-           device. If filename is not provided, the database backup application
-           will send the db-backup command without a filename. It's possible the
-           filename will not be statically provided in the manifest file, but
-           provided by the database backup application.
-
-           timeout - see timeout-command grouping for basic details;
-
-         Maps to the db-backup rpc:
-           db-backup [filename]
-
-         Expected notifications: db-backup-notification
-        ";
-      uses file-command;
-      uses timeout-command;
-      uses is-async-command;
-    }
-  }
-
-  grouping db-restore-command {
-    description
-      "db-restore-command";
-    container db-restore {
-      when "../command = 'db-restore'";
-      description
-        "Perform a database restore on the device.
-
-         format: db-restore [filename] [node-id-check] [timeout]
-         where
-           filename is the filename of the file to be restored on the
-           device. If filename is not provided, the database restore application
-           will send the db-restore command without a filename. It's possible the
-           filename will not be statically provided in the manifest file, but
-           provided by the database restore application.
-
-           node-id-check is a boolean indicating whether sysNameCheck is required.
-
-           timeout - see timeout-command grouping for basic details;
-
-         Maps to the db-restore rpc:
-           db-restore [filename] [nodeIDCheck]
-
-         Expected notifications: db-restore-notification
-        ";
-      uses file-command;
-      leaf node-id-check {
-        type string;
-        default "true";
-        description
-          "Defined as an string here so that manifest file can parameterize
-           the value for user input. __NODE-ID-CHECK is used for that purpose. Other valid
-           values are true or false. Maps to a boolean value in the rpc invocation.";
-      }
-      uses timeout-command;
-      uses is-async-command;
-    }
-  }
-
-  grouping db-activate-command {
-    description
-      "db-activate-command";
-    container db-activate {
-      when "../command = 'db-activate'";
-      must "is-async != 'true'" {
-        error-message "db-activate is only supported as async command";
-      }
-      description
-        "Activate a database on a device.  The details of what a device does
-         during the activation phase is vendor specific.  The device initiates
-         an automatic reboot as part of the activation.
-
-         format:  db-activate [rollback-timer] [timeout] auto-reboot
-         where:
-           rollback-timer: Rollback timer setting for the database activation.
-           Format is expected to be in the form HH-MM-SS per the YANG model. The
-           database activation application expects this format in order to treat
-           00-00-00 and no validation timer as the same use case.
-
-           timeout - overrides the global-async-timeout; defaults to the
-           global-async-timeout if not provided. This timer begins as soon as the
-           db-activate processing begins. timeout must be greater than the
-           auto-reboot time.
-
-           auto-reboot: time (in seconds) to wait to for the device to reboot.
-           This is the device restart time (e.g. the length of time from device
-           comm loss until the device is ready for login). This timer begins when
-           the controller detects the comm-loss from the device. If login is not
-           successful when this timer expires, the db-activate is failed.
-
-           NOTE: if controller database application is not doing the login
-           directly, the controller may need to augment the auto-reboot timer to
-           account for the login time.
-
-         Maps to the db-activate rpc:
-           db-activate [rollBackTimer]
-
-         Expected notifications: db-activate-notification
-           When no rollback timer (or rollback-timer = 00-00-00), two
-           notifications will be expected: one for activate, the other for
-           commit. Otherwise, only the activate notification is expected.
-
-           NOTE: the db-activate-notifications (for activate) may be received
-           before or after the reboot; it is assumed the db-activate-notification
-           (for commit) always occurs after the reboot. Any polling due to missed
-           db-activate-notifications (activate and/or commit) should not be done
-           until after the reboot login; processing of db-activate does not
-           complete until after receipt of the notifications and the reboot login.
-        ";
-      leaf rollback-timer {
-        type string;
-        description
-          "hh-mm-ss";
-      }
-      uses timeout-command;
-      uses command-reboot;
-      uses is-async-command;
-    }
-  }
-
-  container sw-manifest {
-    presence "The sw-manifest instructions for swdl operations have been defined.";
-    description
-      "The manifest file provides instructions to a software download
-       application to download and install a new software load into a vendor’s
-       equipment.
-
-       Software download files
-           All vendor files for a software release should be stored in a
-       separate directory. A unique directory would be used for each vendor,
-       model and software release combination. This directory and all files in
-       that directory will be accessible by the SFTP server.
-           The software directory can be flat or hierarchical with
-       subdirectories. The manifest file should be in the root directory of the
-       software directory.
-           A software directory must contain files for one and only one
-       software release.
-
-       Manifest file name
-           Each software release directory shall contain a manifest file for
-       that release. The filename for the manifest file shall be sw-manifest.json.
-      ";
-    uses base-manifest {
-      refine "sw-version" {
-        mandatory true;
-      }
-    }
-    list instruction-set {
-      key "index";
-      description
-        "The instruction set for a list of sw-versions that can be upgraded to
-         the sw-version specified at the top of the manifest file.";
-      leaf index {
-        type uint8;
-        description
-          "The index for this instruction set.";
-      }
-      leaf-list from-sw-version {
-        type string;
-        description
-          "The optional list of sw-versions that can be upgraded to the
-           sw-version specified at the top of the sw-manifest file.
-
-           If not specified, this instruction set is used to upgrade from
-           any sw-version to the sw-version specified at the top of the
-           sw-manifest file.
-
-           If multiple instruction sets are provided, from-sw-version
-           should always be defined.";
-      }
-      leaf is-commit-sw-activate-async {
-        type boolean;
-        default "true";
-        description
-          "Is cancel-validation-timer (accept = true) supported as an
-           async or sync command on the device? If supported as sync, the rpc response
-           is used to determine success/failure instead of waiting for transient notifications
-           of the result.
-           NOTE: cancel-validation-timer (accept = false) requires a reboot so is
-           always considered async";
-      }
-      leaf cancel-validation-timer-async-timeout {
-        type uint16;
-        description
-          "timeout value to use for cancel-validation-timer when supported as
-           an async command. If not specified, the global-async-timeout is used.";
-      }
-      leaf cancel-validation-timer-sync-timeout {
-        type uint16;
-        description
-          "timeout value to use for cancel-validation-timer (accept = true) when
-           supported as a sync command. If not specified, the global-sync-timeout
-           is used.";
-      }
-      container sw-manifest-commands {
-        description
-          "The ordered list of commands to be processed. Since some yang
-           implementations do not support ordered-by user, the list is also
-           indexed by command-order. The commands should be processed
-           in the order of command-order.
-
-           Processing moves to the next command when:
-           1. command is synchronous and rpc returns a successful result.
-           2. command is asynchronous, the rpc returns a successful result,
-           and
-           2.1 expected successful notification(s) have been received; or
-           2.2 timeout occurs.
-           \t\t
-           Processing of the manifest file is aborted when:
-           1. command is synchronous and rpc returns a failed result.
-           2. command is asynchronous, and:
-           2.1 the rpc returns a failed result; or
-           2.2 a failed notification is received; or
-           2.3 timeout occurs.
-           \t\t
-           NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
-           controller implementation per command. It may be considered either:
-           - as a successful result
-           - as a failed result
-           - as a success or failure based on polling the device
-          ";
-        list sw-manifest-command {
-          key "command-order";
-          ordered-by user;
-          description
-            "The list of commands to be processed.";
-          leaf command-order {
-            type uint8;
-            description
-              "The order in which commands should be processed.";
-          }
-          leaf command {
-            type identityref {
-              base sw-manifest-commands;
-            }
-            mandatory true;
-            description
-              "The command to be processed.";
-          }
-          uses download-file-command;
-          uses delete-file-command;
-          uses sw-stage-command;
-          uses sw-activate-command;
-        }
-      }
-    }
-  }
-  container db-backup-manifest {
-    presence "The db-backup-manifest template for db-backup operations has been defined.";
-    description
-      "The manifest file provides instructions to a database operations
-       application to backup the database on a device.
-
-       Since the files used for these operations are likely user selected,
-       these manifest files are more likely used by the controller as a
-       template to control the overall flow of a backup operation and provide
-       a means of providing customized timeout values.
-
-       The following strings will be recognized as parameters to be replaced
-       by the user selected values: __LOCAL-FILE-PATH, __REMOTE-FILENAME.
-
-       Manifest file name
-           Each vendor/model combination can have a separate manifest file
-       defined for backup. These shall be named db-backup-manifest.json.
-      ";
-    uses base-manifest;
-    container db-backup-manifest-commands {
-      description
-        "The ordered list of commands to be processed. Since some yang
-         implementations do not support ordered-by user, the list is also
-         indexed by command-order. The commands should be processed
-         in the order of command-order.
-
-         Processing moves to the next command when:
-            1. command is synchronous and rpc returns a successful result.
-            2. command is asynchronous, the rpc returns a successful result,
-               and
-               2.1 expected successful notification(s) have been received; or
-               2.2 timeout occurs.
-
-         Processing of the manifest file is aborted when:
-            1. command is synchronous and rpc returns a failed result.
-            2. command is asynchronous, and:
-               2.1 the rpc returns a failed result; or
-               2.2 a failed notification is received; or
-               2.3 timeout occurs.
-
-         NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
-         controller implementation per command. It may be considered either:
-             - as a successful result
-             - as a failed result
-             - as a success or failure based on polling the device
-        ";
-      list db-backup-manifest-command {
-        key "command-order";
-        ordered-by user;
-        description
-          "The list of commands to be processed.";
-        leaf command-order {
-          type uint8;
-          description
-            "The order in which commands should be processed.";
-        }
-        leaf command {
-          type identityref {
-            base db-backup-manifest-commands;
-          }
-          mandatory true;
-          description
-            "The command to be processed.";
-        }
-        uses upload-file-command;
-        uses delete-file-command;
-        uses db-backup-command;
-      }
-    }
-  }
-  container db-restore-manifest {
-    presence "The db-restore-manifest template for db-restore operations has been defined.";
-    description
-      "The manifest file provides instructions to a database operations
-       application to restore the database on a device.
-
-       Since the files used for these operations are likely user selected,
-       these manifest files are more likely used by the controller as a
-       template to control the overall flow of a restore operation and provide
-       a means of providing customized timeout and auto-reboot values.
-
-       The following strings will be recognized as parameters to be replaced
-       by the user selected values: __LOCAL-FILE-PATH, __REMOTE-FILENAME,
-       __NODE-ID-CHECK.
-
-       Manifest file name
-           Each vendor/model combination can have a separate manifest file
-       defined for restore. These shall be named db-restore-manifest.json.
-      ";
-    uses base-manifest;
-    leaf is-commit-db-activate-async {
-      type boolean;
-      default "true";
-      description
-        "Is cancel-rollback-timer (accept = true) supported as an
-         async or sync command on the device? If supported as sync, the rpc response
-         is used to determine success/failure instead of waiting for transient notifications
-         of the result.
-         NOTE: cancel-rollback-timer (accept = false) requires a reboot so is
-         always considered async";
-    }
-    leaf cancel-rollback-timer-async-timeout {
-      type uint16;
-      description
-        "timeout value to use for cancel-rollback-timer when supported as
-         an async command. If not specified, the global-async-timeout is used.";
-    }
-    leaf cancel-rollback-timer-sync-timeout {
-      type uint16;
-      description
-        "timeout value to use for cancel-rollback-timer (accept = true) when
-         supported as a sync command. If not specified, the global-sync-timeout
-         is used.";
-    }
-    leaf database-init-sync-timeout {
-      type uint16;
-      description
-        "timeout value to use for database-init command. If not specified,
-         the global-sync-timeout is used.";
-    }
-    container db-restore-manifest-commands {
-      description
-        "The ordered list of commands to be processed. Since some yang
-         implementations do not support ordered-by user, the list is also
-         indexed by command-order. The commands should be processed
-         in the order of command-order.
-
-         Processing moves to the next command when:
-            1. command is synchronous and rpc returns a successful result.
-            2. command is asynchronous, the rpc returns a successful result,
-               and
-               2.1 expected successful notification(s) have been received; or
-               2.2 timeout occurs.
-
-         Processing of the manifest file is aborted when:
-            1. command is synchronous and rpc returns a failed result.
-            2. command is asynchronous, and:
-               2.1 the rpc returns a failed result; or
-               2.2 a failed notification is received; or
-               2.3 timeout occurs.
-
-         NOTE: behavior for timeouts (synchronous or asynchronous) may depend upon
-         controller implementation per command. It may be considered either:
-             - as a successful result
-             - as a failed result
-             - as a success or failure based on polling the device
-        ";
-      list db-restore-manifest-command {
-        key "command-order";
-        ordered-by user;
-        description
-          "The list of commands to be processed.";
-        leaf command-order {
-          type uint8;
-          description
-            "The order in which commands should be processed.";
-        }
-        leaf command {
-          type identityref {
-            base db-restore-manifest-commands;
-          }
-          mandatory true;
-          description
-            "The command to be processed.";
-        }
-        uses download-file-command;
-        uses delete-file-command;
-        uses db-restore-command;
-        uses db-activate-command;
-      }
-    }
-  }
-}
old mode 100644 (file)
new mode 100755 (executable)
index 41f4cdf..62f2b93
@@ -8,39 +8,39 @@ module org-openroadm-otn-common-types {
     "OpenROADM.org";
   description
     "YANG definitions for common otn related type definitions.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
old mode 100644 (file)
new mode 100755 (executable)
index 2501ee3..a7230b1
@@ -8,31 +8,31 @@ module org-openroadm-pm-types {
     "OpenROADM.org";
   description
     "YANG definitions of performance management types.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2017-12-15 {
old mode 100644 (file)
new mode 100755 (executable)
similarity index 92%
rename from ordmodels/common/src/main/yang/org-openroadm-pm@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-pm@2018-10-19.yang
index 71423d8..c1985c9
@@ -8,15 +8,15 @@ module org-openroadm-pm {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-resource {
     prefix org-openroadm-resource;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-resource-types {
     prefix org-openroadm-resource-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-pm-types {
     prefix org-openroadm-pm-types;
@@ -29,33 +29,37 @@ module org-openroadm-pm {
     "OpenROADM.org";
   description
     "YANG definitions of performance management.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -188,7 +192,7 @@ module org-openroadm-pm {
         config false;
         mandatory true;
         description
-          "The time at the end of the period; For example if bin starts at
+          "The time at the end of the period; For example if bin starts at 
            01:15:00 and ends at 01:29:59, the completion-time is 01:29:59";
       }
     }
@@ -200,12 +204,12 @@ module org-openroadm-pm {
         length "10..255";
       }
       description
-        "The file name to write the historical PM data.
+        "The file name to write the historical PM data. 
          The controller should be able to use this name to retrieve the file via ftp/sftp.
-         The file name should be unique for each RPC request since a new RPC request
+         The file name should be unique for each RPC request since a new RPC request 
          could be initiated while the file transfer of the previous file is still in progress.
-
-         The file content should be written in xml format based on the historical-pm-list
+         
+         The file content should be written in xml format based on the historical-pm-list 
          yang definition and the file should be gzip compressed.";
     }
     uses org-openroadm-common-types:rpc-response-status;
@@ -239,7 +243,7 @@ module org-openroadm-pm {
   rpc collect-historical-pm-file {
     description
       "Command to query historical PM data.
-       The device should be able to process an rpc request for 15min data
+       The device should be able to process an rpc request for 15min data 
        and a separate request for 24hour data in parallel.";
     input {
       leaf from-bin-number {
old mode 100644 (file)
new mode 100755 (executable)
similarity index 91%
rename from ordmodels/common/src/main/yang/org-openroadm-port-types@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-port-types@2018-10-19.yang
index 21d7011..8db93cc
@@ -4,7 +4,7 @@ module org-openroadm-port-types {
 
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-port-types {
     "OpenROADM.org";
   description
     "YANG definitions for port types.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,7 +4,7 @@ module org-openroadm-probable-cause {
 
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-probable-cause {
     "OpenROADM.org";
   description
     "YANG definitions of Probable Causes.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,7 +4,7 @@ module org-openroadm-resource-types {
 
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-resource-types {
     "OpenROADM.org";
   description
     "YANG definitions of common resource types.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -193,7 +197,7 @@ module org-openroadm-resource-types {
     leaf node-id {
       type org-openroadm-common-types:node-id-type;
       description
-        "Node Id is a globally unique identifier for a device.
+        "Node Id is a globally unique identifier for a device. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -213,7 +217,7 @@ module org-openroadm-resource-types {
     leaf port-name {
       type string;
       description
-        "Port identifier. Unique within the context of a circuit-pack.
+        "Port identifier. Unique within the context of a circuit-pack. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -223,7 +227,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Physical Link identifier. Unique within the context of a device.
+        "Physical Link identifier. Unique within the context of a device. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -233,7 +237,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Internal Link identifier. Unique within the context of a device.
+        "Internal Link identifier. Unique within the context of a device. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -242,7 +246,7 @@ module org-openroadm-resource-types {
     leaf connection-name {
       type string;
       description
-        "Connection name. Unique within the context of a device.
+        "Connection name. Unique within the context of a device. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -251,7 +255,7 @@ module org-openroadm-resource-types {
     leaf degree-number {
       type uint16;
       description
-        "Degree identifier. Unique within the context of a device.
+        "Degree identifier. Unique within the context of a device. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -260,7 +264,7 @@ module org-openroadm-resource-types {
     leaf srg-number {
       type uint16;
       description
-        "Shared Risk Group identifier. Unique within the context of a device.
+        "Shared Risk Group identifier. Unique within the context of a device. 
          Same as leafref value in model, if applicable.";
     }
   }
@@ -270,7 +274,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Shelf-id identifier. Unique within the context of a device.
+        "Shelf-id identifier. Unique within the context of a device.  
          Same as leafref value in model, if applicable.";
     }
   }
@@ -280,7 +284,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Service identifier. Unique within the context of a network.
+        "Service identifier. Unique within the context of a network.  
          Same as leafref value in model, if applicable.";
     }
   }
@@ -290,7 +294,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Service identifier. Unique within the context of a network.
+        "Service identifier. Unique within the context of a network.  
          Same as leafref value in model, if applicable.";
     }
     leaf version-number {
@@ -306,7 +310,7 @@ module org-openroadm-resource-types {
       type string;
       mandatory true;
       description
-        "Service identifier. Unique within the context of a network.
+        "Service identifier. Unique within the context of a network.  
          Same as leafref value in model, if applicable.";
     }
   }
old mode 100644 (file)
new mode 100755 (executable)
similarity index 90%
rename from ordmodels/common/src/main/yang/org-openroadm-resource@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-resource@2018-10-19.yang
index 5b33e83..c7afac4
@@ -4,7 +4,7 @@ module org-openroadm-resource {
 
   import org-openroadm-resource-types {
     prefix org-openroadm-resource-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-resource {
     "OpenROADM.org";
   description
     "YANG definitions of resources.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
index 10cff01..fc6cd08
@@ -8,29 +8,29 @@ module org-openroadm-switching-pool-types {
     "OpenROADM.org";
   description
     "YANG definitions of common types.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      Redistribution and use in source and binary forms, with or without modification, 
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2017-12-15 {
old mode 100644 (file)
new mode 100755 (executable)
similarity index 88%
rename from ordmodels/common/src/main/yang/org-openroadm-tca@2017-12-15.yang
rename to ordmodels/common/src/main/yang/org-openroadm-tca@2018-10-19.yang
index b77ed62..8cc0cdd
@@ -8,7 +8,7 @@ module org-openroadm-tca {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-pm-types {
     prefix org-openroadm-pm-types;
@@ -16,7 +16,7 @@ module org-openroadm-tca {
   }
   import org-openroadm-resource {
     prefix org-openroadm-resource;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -25,33 +25,37 @@ module org-openroadm-tca {
     "OpenROADM.org";
   description
     "YANG definitions of Threshold Crossing Alert types.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
index cf55c1b..7e3227d
@@ -8,31 +8,31 @@ module org-openroadm-user-mgmt {
     "OpenROADM.org";
   description
     "YANG definitions of user managements.
-
-      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+       
+      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
       AT&T Intellectual Property.  All other rights reserved.
-
-      Redistribution and use in source and binary forms, with or without modification,
+      
+      Redistribution and use in source and binary forms, with or without modification, 
       are permitted provided that the following conditions are met:
-
-      * Redistributions of source code must retain the above copyright notice, this
+      
+      * Redistributions of source code must retain the above copyright notice, this 
         list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above copyright notice,
-        this list of conditions and the following disclaimer in the documentation and/or
+      * Redistributions in binary form must reproduce the above copyright notice, 
+        this list of conditions and the following disclaimer in the documentation and/or 
         other materials provided with the distribution.
-      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-        contributors may be used to endorse or promote products derived from this software
+      * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+        contributors may be used to endorse or promote products derived from this software 
         without specific prior written permission.
-
-      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+      
+      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
       POSSIBILITY OF SUCH DAMAGE";
 
   revision 2017-12-15 {
@@ -57,7 +57,7 @@ module org-openroadm-user-mgmt {
       length "3..32";
       pattern "[a-z][a-z0-9]{2,31}" {
         error-message
-          "A username must begin with a lowercase letter, The remainder
+          "A username must begin with a lowercase letter, The remainder 
            of the string may contain lowercase letters, or numbers 0 through 9.";
       }
     }
@@ -73,13 +73,13 @@ module org-openroadm-user-mgmt {
       }
     }
     description
-      "The password for this entry. This shouldn't be in clear text
-       The Password must contain at least 2 characters from
-       each of the following groups:
-       a) Lower case alphabetic (a-z)
-       b) Upper case alphabetic (A-Z)
-       c) Numeric 0-9
-       d) Special characters Allowed !$%^()[]_-~{}.+
+      "The password for this entry. This shouldn't be in clear text 
+       The Password must contain at least 2 characters from 
+       each of the following groups: 
+       a) Lower case alphabetic (a-z) 
+       b) Upper case alphabetic (A-Z) 
+       c) Numeric 0-9 
+       d) Special characters Allowed !$%^()[]_-~{}.+ 
        Password must not contain Username.";
   }
 
old mode 100644 (file)
new mode 100755 (executable)
similarity index 89%
rename from ordmodels/device/src/main/yang/org-openroadm-database@2017-12-15.yang
rename to ordmodels/device/src/main/yang/org-openroadm-database@2018-10-19.yang
index eac71d5..26ee766
@@ -4,7 +4,7 @@ module org-openroadm-database {
 
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-database {
     "OpenROADM.org";
   description
     "This module contains definitions for System Management.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,11 +4,11 @@ module org-openroadm-de-operations {
 
   import org-openroadm-resource {
     prefix org-openroadm-resource;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -17,33 +17,37 @@ module org-openroadm-de-operations {
     "OpenROADM.org";
   description
     "YANG definitions of operations.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
similarity index 97%
rename from ordmodels/device/src/main/yang/org-openroadm-device@2017-12-15.yang
rename to ordmodels/device/src/main/yang/org-openroadm-device@2018-10-19.yang
index e9b205a..32700cc
@@ -16,15 +16,15 @@ module org-openroadm-device {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-resource-types {
     prefix org-openroadm-resource-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-physical-types {
     prefix org-openroadm-physical-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-user-mgmt {
     prefix org-openroadm-user-mgmt;
@@ -32,7 +32,7 @@ module org-openroadm-device {
   }
   import org-openroadm-port-types {
     prefix org-openroadm-port-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix org-openroadm-interfaces;
@@ -40,7 +40,7 @@ module org-openroadm-device {
   }
   import org-openroadm-swdl {
     prefix org-openroadm-swdl;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-equipment-states-types {
     prefix org-openroadm-equipment-states-types;
@@ -57,47 +57,51 @@ module org-openroadm-device {
     "OpenROADM.org";
   description
     "YANG definitions of ROADM device
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
-     Also contains code components extracted from IETF netconf.  These code components
+     
+     Also contains code components extracted from IETF netconf.  These code components 
      are copyrighted and licensed as follows:
-
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
-     All rights reserved.
-
-     This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
-     publication of this document. Please review these documents carefully, as they
-     describe your rights and restrictions with respect to this document. Code Components
+     
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
+     All rights reserved. 
+     
+     This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating 
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
+     publication of this document. Please review these documents carefully, as they 
+     describe your rights and restrictions with respect to this document. Code Components 
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -148,7 +152,7 @@ module org-openroadm-device {
     leaf node-number {
       type uint32;
       description
-        "Number assigned to a ROADM node at a
+        "Number assigned to a ROADM node at a 
          given office";
     }
     leaf node-type {
@@ -226,7 +230,7 @@ module org-openroadm-device {
         "Software version";
     }
     leaf openroadm-version {
-      type string;
+      type org-openroadm-common-types:openroadm-version-type;
       config false;
       description
         "openroadm version used on the device";
@@ -492,8 +496,10 @@ module org-openroadm-device {
     }
     leaf is-pluggable-optics {
       type boolean;
+      config false;
+      mandatory true;
       description
-        "True is circuitpack is pluggable optics";
+        "True if circuitpack is pluggable optics";
     }
     leaf due-date {
       type ietf-yang-types:date-and-time;
@@ -759,7 +765,7 @@ module org-openroadm-device {
       }
       config false;
       description
-        "amp-number of amp module that is functionally associated to the amplifier
+        "amp-number of amp module that is functionally associated to the amplifier  
          in the opposite direction";
     }
     leaf ila-direction-label {
@@ -772,7 +778,7 @@ module org-openroadm-device {
 
   grouping external-links {
     description
-      "YANG definitions for external links..
+      "YANG definitions for external links.. 
        - physical links between ROADMs and between the ROADMs and XPonders, which can be added and removed manually.";
     list external-link {
       key "external-link-name";
@@ -1287,7 +1293,7 @@ module org-openroadm-device {
             type string;
             config true;
             description
-              "Complements ports identification. Used notably in case of bidirectional ports,
+              "Complements ports identification. Used notably in case of bidirectional ports, 
                and/or in multi-degree amplifier nodes. Allows associating one of the directions
                specified in ila-direction-label. Shall be consistent with ila-direction-label";
           }
@@ -1295,7 +1301,7 @@ module org-openroadm-device {
             type string;
             config true;
             description
-              "Complements ports identification. Used notably in case of bidirectional ports,
+              "Complements ports identification. Used notably in case of bidirectional ports, 
                and/or in multi-degree amplifier nodes. Allows associating one of the directions
                specified in ila-direction-label. Shall be consistent with ila-direction-label";
           }
@@ -1317,7 +1323,7 @@ module org-openroadm-device {
             config true;
             mandatory true;
             description
-              "allows identifying ports associated with logical amp :
+              "allows identifying ports associated with logical amp : 
                TX for OSC circuit-pack IN RX for OSC circuit-pack OUT";
           }
           uses port-name {
@@ -1337,7 +1343,7 @@ module org-openroadm-device {
             type string;
             config true;
             description
-              "allows identifying associated logical amp port in which OTDR is launched:
+              "allows identifying associated logical amp port in which OTDR is launched: 
                corresponds to rx-instance-port-direction-label of corresponding amplifier line-port";
           }
           uses port-name {
@@ -1434,14 +1440,14 @@ module org-openroadm-device {
             type uint32;
             config false;
             description
-              "Switch fabric interconnect bandwidth unit rate in bits per second.
+              "Switch fabric interconnect bandwidth unit rate in bits per second. 
                Represents granularity of switch fabric";
           }
           leaf interconnect-bandwidth {
             type uint32;
             config false;
             description
-              "Total interconnect bandwidth for a non-blocking element expressed as
+              "Total interconnect bandwidth for a non-blocking element expressed as 
                number of inter-connect-bandwidth units";
           }
           list port-list {
@@ -1620,8 +1626,8 @@ module org-openroadm-device {
       "Collects all log data for debugging and place it in a location accessible via ftp/sftp.
        This model assumes ASYNC operation, i.e. the command will return after the device accepts the command,
        A create-tech-info-notification will be send out later for the result of the operation.
-       The log-file is cleared at the start of every create-tech-info operation in order to ensure
-       the up-to-date logs are collected. If a vendor does not support concurrent log collection, the second
+       The log-file is cleared at the start of every create-tech-info operation in order to ensure 
+       the up-to-date logs are collected. If a vendor does not support concurrent log collection, the second 
        create-tech-info command will be rejected.";
     input {
       leaf shelf-id {
@@ -1629,7 +1635,7 @@ module org-openroadm-device {
           path "/org-openroadm-device/shelves/shelf-name";
         }
         description
-          "This optional field is used to specify the shelf for log collection.
+          "This optional field is used to specify the shelf for log collection. 
            When this filed is not provided, it is expected to collect logs for the whole node.
            Vendor should reject the command if the whole node log collection is not supported.";
       }
@@ -1788,7 +1794,7 @@ module org-openroadm-device {
     description
       "The Notification that a resource has been added, modified or removed.
        This notification can be triggered by changes in configuration and operational data.
-       It shall contain the changed field pointed by the xpath.
+       It shall contain the changed field pointed by the xpath. 
        Typically it is not intended for frequently changing volatile data e.g. PM, power levels";
     leaf change-time {
       type ietf-yang-types:date-and-time;
@@ -4,7 +4,7 @@ module org-openroadm-ethernet-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -17,47 +17,51 @@ module org-openroadm-ethernet-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility ethernet interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
-     Also contains code components extracted from IETF Interfaces.  These code components
+     
+     Also contains code components extracted from IETF Interfaces.  These code components 
      are copyrighted and licensed as follows:
-
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
-     All rights reserved.
-
-     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
-     publication of this document. Please review these documents carefully, as they
-     describe your rights and restrictions with respect to this document. Code Components
+     
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
+     All rights reserved. 
+     
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating 
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
+     publication of this document. Please review these documents carefully, as they 
+     describe your rights and restrictions with respect to this document. Code Components 
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -79,7 +83,7 @@ module org-openroadm-ethernet-interfaces {
     leaf speed {
       type uint32;
       description
-        "Set speed of the interface, unit mbps.
+        "Set speed of the interface, unit mbps. 
          This is for ETH facility. ";
     }
     leaf fec {
@@ -8,7 +8,7 @@ module org-openroadm-file-transfer {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -17,33 +17,37 @@ module org-openroadm-file-transfer {
     "OpenROADM.org";
   description
     "YANG definitions for file management related rpcs.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -99,10 +103,10 @@ module org-openroadm-file-transfer {
         type inet:uri;
         mandatory true;
         description
-          "Remote file path.
+          "Remote file path. 
            A URI for the remote file path.
-
-           Format:sftp://user[:password]@host[:port]/path.
+           
+           Format:sftp://user[:password]@host[:port]/path. 
            Ex: sftp://test:verify@[2001:db8:0:1::10]:22/home/user/sample";
       }
     }
old mode 100644 (file)
new mode 100755 (executable)
similarity index 82%
rename from ordmodels/device/src/main/yang/org-openroadm-fwdl@2017-12-15.yang
rename to ordmodels/device/src/main/yang/org-openroadm-fwdl@2018-10-19.yang
index 7cf988a..0e2a964
@@ -4,7 +4,7 @@ module org-openroadm-fwdl {
 
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -13,33 +13,37 @@ module org-openroadm-fwdl {
     "OpenROADM.org";
   description
     "This module contains definitions for System Management.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
similarity index 94%
rename from ordmodels/device/src/main/yang/org-openroadm-lldp@2017-12-15.yang
rename to ordmodels/device/src/main/yang/org-openroadm-lldp@2018-10-19.yang
index 1ae1c5b..0b85ce1
@@ -8,7 +8,7 @@ module org-openroadm-lldp {
   }
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import iana-afn-safi {
     prefix ianaaf;
@@ -16,7 +16,7 @@ module org-openroadm-lldp {
   }
   import org-openroadm-resource-types {
     prefix org-openroadm-resource-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import ietf-yang-types {
     prefix yang;
@@ -29,33 +29,37 @@ module org-openroadm-lldp {
     "OpenROADM.org";
   description
     "YANG definitions for lldp protocol.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
index 996fabd..da8f5cd
@@ -8,31 +8,31 @@ module org-openroadm-maintenance-loopback {
     "OpenROADM.org";
   description
     "YANG definitions for maintenance loopback.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
old mode 100644 (file)
new mode 100755 (executable)
index e658e7f..9816505
@@ -8,31 +8,31 @@ module org-openroadm-maintenance-testsignal {
     "OpenROADM.org";
   description
     "YANG definitions for maintenance testsignal.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
@@ -4,7 +4,7 @@ module org-openroadm-media-channel-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -12,7 +12,7 @@ module org-openroadm-media-channel-interfaces {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -21,39 +21,39 @@ module org-openroadm-media-channel-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility och interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -62,6 +62,10 @@ module org-openroadm-media-channel-interfaces {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,7 +4,7 @@ module org-openroadm-network-media-channel-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -12,7 +12,7 @@ module org-openroadm-network-media-channel-interfaces {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -21,39 +21,39 @@ module org-openroadm-network-media-channel-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility och interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -62,6 +62,10 @@ module org-openroadm-network-media-channel-interfaces {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,7 +4,7 @@ module org-openroadm-optical-channel-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -12,7 +12,7 @@ module org-openroadm-optical-channel-interfaces {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -21,39 +21,39 @@ module org-openroadm-optical-channel-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility och interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -62,6 +62,10 @@ module org-openroadm-optical-channel-interfaces {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,7 +4,7 @@ module org-openroadm-optical-transport-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -12,7 +12,7 @@ module org-openroadm-optical-transport-interfaces {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -22,39 +22,39 @@ module org-openroadm-optical-transport-interfaces {
   description
     "This module contains YANG definitions
      for the Optical Transport Interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -63,6 +63,10 @@ module org-openroadm-optical-transport-interfaces {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
index 1b2a9b8f405e520183fa3fb6b99f8c667859ce7f..3270a5e4b58ec44bf19c2c96e26bbebe3c258489 100644 (file)
@@ -7,46 +7,46 @@ module org-openroadm-otn-common {
   contact
     "OpenROADM.org";
   description
-    "YANG definitions for common OTN interface atrtributes and types.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+    "YANG definitions for common OTN interface atrtributes and types. 
+         
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
-     Also contains code components extracted from IETF Interfaces.  These code components
+     
+     Also contains code components extracted from IETF Interfaces.  These code components 
      are copyrighted and licensed as follows:
-
-     Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
-     All rights reserved.
-
-     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
-     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
-     publication of this document. Please review these documents carefully, as they
-     describe your rights and restrictions with respect to this document. Code Components
+     
+     Copyright (c) 2016 IETF Trust and the persons identified as the document authors. 
+     All rights reserved. 
+     
+     This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating 
+     to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of 
+     publication of this document. Please review these documents carefully, as they 
+     describe your rights and restrictions with respect to this document. Code Components 
      extracted from this document must include Simplified BSD License text as described in
-     Section 4.e of the Trust Legal Provisions and are provided without warranty as
+     Section 4.e of the Trust Legal Provisions and are provided without warranty as 
      described in the Simplified BSD License.";
 
   revision 2017-06-26 {
@@ -4,7 +4,7 @@ module org-openroadm-otn-odu-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -29,39 +29,39 @@ module org-openroadm-otn-odu-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility otnodu interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -70,6 +70,10 @@ module org-openroadm-otn-odu-interfaces {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -266,7 +270,7 @@ module org-openroadm-otn-odu-interfaces {
         enum "not-terminated" {
           description
             "Not Terminated: no detection or generation.
-             Overhead is passed through the interface transparently in receive direction
+             Overhead is passed through the interface transparently in receive direction 
              unless extension is set for erase";
         }
         enum "terminated" {
@@ -278,7 +282,7 @@ module org-openroadm-otn-odu-interfaces {
         enum "monitored" {
           description
             "Monitored: detection enabled.
-             Overhead is passed through the interface transparently in receive direction
+             Overhead is passed through the interface transparently in receive direction 
              unless extension is set for erase";
         }
       }
@@ -4,7 +4,7 @@ module org-openroadm-otn-otu-interfaces {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-interfaces {
     prefix openROADM-if;
@@ -29,39 +29,39 @@ module org-openroadm-otn-otu-interfaces {
     "OpenROADM.org";
   description
     "YANG definitions for device facility otnotu interfaces.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -70,6 +70,10 @@ module org-openroadm-otn-otu-interfaces {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,7 +4,7 @@ module org-openroadm-physical-types {
 
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import ietf-yang-types {
     prefix yang;
@@ -17,33 +17,37 @@ module org-openroadm-physical-types {
     "OpenROADM.org";
   description
     "YANG definitions of physical types.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -4,11 +4,11 @@ module org-openroadm-pluggable-optics-holder-capability {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-port-capability {
     prefix org-openroadm-port-capability;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -17,39 +17,39 @@ module org-openroadm-pluggable-optics-holder-capability {
     "OpenROADM.org";
   description
     "YANG definitions for pluggable optics holder capability.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -58,6 +58,10 @@ module org-openroadm-pluggable-optics-holder-capability {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -81,9 +85,7 @@ module org-openroadm-pluggable-optics-holder-capability {
           description
             "Port reference on supported pluggable circuit-pack";
           leaf port-name {
-            type leafref {
-              path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
-            }
+            type string;
             description
               "Port name";
           }
@@ -4,15 +4,15 @@ module org-openroadm-port-capability {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-port-types {
     prefix org-openroadm-port-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-prot-otn-linear-aps {
     prefix org-openroadm-prot-otn-linear-aps;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-otn-common-types {
     prefix org-openroadm-otn-common-types;
@@ -25,39 +25,39 @@ module org-openroadm-port-capability {
     "OpenROADM.org";
   description
     "YANG definitions for device facility OTN linear APS protection groups.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2017 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -66,6 +66,10 @@ module org-openroadm-port-capability {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -184,17 +188,13 @@ module org-openroadm-port-capability {
               "Restriction rules for how LO ODUs are multiplexed into HO ODU
                and the relation with mapped client ports.";
             leaf network-ho-odu-circuit-pack-name {
-              type leafref {
-                path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:circuit-pack-name";
-              }
+              type string;
               mandatory true;
               description
                 "Circuit-Pack identifier. Unique within the context of a device.";
             }
             leaf network-ho-odu-port-name {
-              type leafref {
-                path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs[org-openroadm-device:circuit-pack-name=current()/../network-ho-odu-circuit-pack-name]/org-openroadm-device:ports/org-openroadm-device:port-name";
-              }
+              type string;
               mandatory true;
               description
                 "port identifier.";
@@ -314,9 +314,7 @@ module org-openroadm-port-capability {
             key "circuit-pack-name slot-name port-name";
             uses slot-id-grp;
             leaf port-name {
-              type leafref {
-                path "/org-openroadm-device:org-openroadm-device/org-openroadm-device:circuit-packs/org-openroadm-device:ports/org-openroadm-device:port-name";
-              }
+              type string;
             }
             leaf-list port-if-type {
               type identityref {
@@ -4,11 +4,11 @@ module org-openroadm-prot-otn-linear-aps {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -17,39 +17,39 @@ module org-openroadm-prot-otn-linear-aps {
     "OpenROADM.org";
   description
     "YANG definitions for device facility OTN linear APS protection groups.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -58,6 +58,10 @@ module org-openroadm-prot-otn-linear-aps {
      Section 4.e of the Trust Legal Provisions and are provided without warranty as
      described in the Simplified BSD License.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
similarity index 94%
rename from ordmodels/device/src/main/yang/org-openroadm-rstp@2017-12-15.yang
rename to ordmodels/device/src/main/yang/org-openroadm-rstp@2018-10-19.yang
index 730f1f5..04334fc
@@ -4,11 +4,11 @@ module org-openroadm-rstp {
 
   import org-openroadm-device {
     prefix org-openroadm-device;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
   import org-openroadm-resource-types {
     prefix org-openroadm-resource-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -16,35 +16,39 @@ module org-openroadm-rstp {
   contact
     "OpenROADM.org";
   description
-    "YANG definitions for rstp protocol.
-
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+    "YANG definitions for rstp protocol. 
+     
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
@@ -231,7 +235,7 @@ module org-openroadm-rstp {
       leaf designated-bridgeid {
         type bridge-id-type;
         description
-          "The Bridge Identifier of the bridge that this port considers
+          "The Bridge Identifier of the bridge that this port considers 
            to be the Designated Bridge for this port's segment";
       }
     }
old mode 100644 (file)
new mode 100755 (executable)
similarity index 89%
rename from ordmodels/device/src/main/yang/org-openroadm-swdl@2017-12-15.yang
rename to ordmodels/device/src/main/yang/org-openroadm-swdl@2018-10-19.yang
index 549acbe..39a649a
@@ -8,7 +8,7 @@ module org-openroadm-swdl {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2017-12-15;
+    revision-date 2018-10-19;
   }
 
   organization
@@ -17,33 +17,37 @@ module org-openroadm-swdl {
     "OpenROADM.org";
   description
     "Yang definitions for System Management.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2018-10-19 {
+    description
+      "Version 2.2.1";
+  }
   revision 2017-12-15 {
     description
       "Version 2.2";
old mode 100644 (file)
new mode 100755 (executable)
index 986dd78..54af614
@@ -12,41 +12,41 @@ module org-openroadm-syslog {
   contact
     "OpenROADM.org";
   description
-    "This module contains a collection of YANG definitions
-     for Syslog configuration.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+    "This module contains a collection of YANG definitions 
+     for Syslog configuration.                                               
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.
-
+     
      Also contains code components extracted from IETF Interfaces.  These code components
      are copyrighted and licensed as follows:
-
+     
      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
      All rights reserved.
-
+     
      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
      publication of this document. Please review these documents carefully, as they
@@ -75,8 +75,8 @@ module org-openroadm-syslog {
 
   feature selector-sevop-config {
     description
-      "This feature represents the ability to select messages
-       using the additional operators equal to, or not equal to
+      "This feature represents the ability to select messages 
+       using the additional operators equal to, or not equal to 
        when comparing the Syslog message severity.";
   }
 
@@ -136,13 +136,13 @@ module org-openroadm-syslog {
       enum "all" {
         value 8;
         description
-          "This enum describes the case where all severities
+          "This enum describes the case where all severities 
            are selected.";
       }
       enum "none" {
         value 9;
         description
-          "This enum describes the case where no severities
+          "This enum describes the case where no severities 
            are selected.";
       }
     }
@@ -153,15 +153,15 @@ module org-openroadm-syslog {
 
   grouping syslog-severity {
     description
-      "This grouping defines the Syslog severity which is used to
+      "This grouping defines the Syslog severity which is used to 
        select log messages.";
     leaf severity {
       type severity;
       mandatory true;
       description
-        "This leaf specifies the Syslog message severity. When
-         severity is specified, the default severity comparison
-         is all messages of the specified severity and greater are
+        "This leaf specifies the Syslog message severity. When 
+         severity is specified, the default severity comparison 
+         is all messages of the specified severity and greater are 
          selected. 'all' is a special case which means all severities
          are selected. 'none' is a special case which means that
          no selection should occur or disable this filter.";
@@ -171,75 +171,75 @@ module org-openroadm-syslog {
         "../severity != 'all' and
                     ../severity != 'none'" {
         description
-          "The severity-operator is not applicable for severity 'all' or
+          "The severity-operator is not applicable for severity 'all' or 
            severity 'none'";
       }
       if-feature "selector-sevop-config";
       type enumeration {
         enum "equals-or-higher" {
           description
-            "This enum specifies all messages of the specified
-             severity and higher are logged according to the
+            "This enum specifies all messages of the specified 
+             severity and higher are logged according to the 
              given log-action";
         }
         enum "equals" {
           description
-            "This enum specifies all messages that are for
-             the specified severity are logged according to the
+            "This enum specifies all messages that are for 
+             the specified severity are logged according to the 
              given log-action";
         }
         enum "not-equals" {
           description
-            "This enum specifies all messages that are not for
-             the specified severity are logged according to the
+            "This enum specifies all messages that are not for 
+             the specified severity are logged according to the 
              given log-action";
         }
       }
       default "equals-or-higher";
       description
-        "This leaf describes the option to specify how the
+        "This leaf describes the option to specify how the 
          severity comparison is performed.";
     }
   }
 
   grouping syslog-selector {
     description
-      "This grouping defines a Syslog selector which is used to
-       select log messages for the log-action (buffer, file,
+      "This grouping defines a Syslog selector which is used to 
+       select log messages for the log-action (buffer, file, 
        etc). Choose one of the following:
          no-log-facility
          log-facility [<facility> <severity>...]";
     container log-selector {
       description
-        "This container describes the log selector parameters
+        "This container describes the log selector parameters 
          for Syslog.";
       choice selector-facility {
         mandatory true;
         description
-          "This choice describes the option to specify no
+          "This choice describes the option to specify no 
            facilities, or a specific facility which can be
            all for all facilities.";
         case no-log-facility {
           description
-            "This case specifies no facilities will match when
-             comparing the Syslog message facility. This is a
-             method that can be used to effectively disable a
+            "This case specifies no facilities will match when 
+             comparing the Syslog message facility. This is a 
+             method that can be used to effectively disable a 
              particular log-action (buffer, file, etc).";
           leaf no-facilities {
             type empty;
             description
-              "This leaf specifies that no facilities are selected
+              "This leaf specifies that no facilities are selected 
                for this log-action.";
           }
         }
         case log-facility {
           description
-            "This case specifies one or more specified facilities
+            "This case specifies one or more specified facilities 
              will match when comparing the Syslog message facility.";
           list log-facility {
             key "facility";
             description
-              "This list describes a collection of Syslog
+              "This list describes a collection of Syslog 
                facilities and severities.";
             leaf facility {
               type union {
@@ -249,7 +249,7 @@ module org-openroadm-syslog {
                 type enumeration {
                   enum "all" {
                     description
-                      "This enum describes the case where all
+                      "This enum describes the case where all 
                        facilities are requested.";
                   }
                 }
@@ -266,28 +266,28 @@ module org-openroadm-syslog {
 
   container syslog {
     description
-      "This container describes the configuration parameters for
+      "This container describes the configuration parameters for 
        Syslog.";
     leaf local-syslog-filename {
       type string;
       config false;
       mandatory true;
       description
-        "The syslog file name. It should be a fully qualified name
+        "The syslog file name. It should be a fully qualified name 
          so that the user can get the file using transfer RPC.";
     }
     container log-actions {
       description
-        "This container describes the log-action parameters
+        "This container describes the log-action parameters 
          for Syslog.";
       container remote {
         description
-          "This container describes the configuration parameters for
+          "This container describes the configuration parameters for 
            remote logging.";
         list destination {
           key "name";
           description
-            "This list describes a collection of remote logging
+            "This list describes a collection of remote logging 
              destinations.";
           leaf name {
             type string;
@@ -307,16 +307,16 @@ module org-openroadm-syslog {
                 leaf address {
                   type inet:host;
                   description
-                    "The leaf uniquely specifies the address of
-                     the remote host. One of the following must
-                     be specified: an ipv4 address, an ipv6
+                    "The leaf uniquely specifies the address of 
+                     the remote host. One of the following must 
+                     be specified: an ipv4 address, an ipv6 
                      address, or a host name.";
                 }
                 leaf port {
                   type inet:port-number;
                   default "514";
                   description
-                    "This leaf specifies the port number used to
+                    "This leaf specifies the port number used to 
                      deliver messages to the remote server.";
                 }
               }
@@ -330,16 +330,16 @@ module org-openroadm-syslog {
                 leaf address {
                   type inet:host;
                   description
-                    "The leaf uniquely specifies the address of
-                     the remote host. One of the following must be
-                     specified: an ipv4 address, an ipv6 address,
+                    "The leaf uniquely specifies the address of 
+                     the remote host. One of the following must be 
+                     specified: an ipv4 address, an ipv6 address, 
                      or a host name.";
                 }
                 leaf port {
                   type inet:port-number;
                   default "514";
                   description
-                    "This leaf specifies the port number used to
+                    "This leaf specifies the port number used to 
                      deliver messages to the remote server.";
                 }
               }
old mode 100644 (file)
new mode 100755 (executable)
index 3f254e3..febbb0b
@@ -8,31 +8,31 @@ module org-openroadm-wavelength-map {
     "OpenROADM.org";
   description
     "YANG definitions for mapping wavelength-number to center frequency and wavelength value.
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, 
      AT&T Intellectual Property.  All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
+     
+     Redistribution and use in source and binary forms, with or without modification, 
      are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
+     
+     * Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
+     * Redistributions in binary form must reproduce the above copyright notice, 
+       this list of conditions and the following disclaimer in the documentation and/or 
        other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its 
+       contributors may be used to endorse or promote products derived from this software 
        without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS'' 
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT, 
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA, 
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
      POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-12-15 {
index bf63ecdbf44e890ee2ff954242055c93e836fd53..92f885253f2075c1a04f894ad4bdc58d2bd64547 100644 (file)
@@ -17,18 +17,18 @@ import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.FrequencyGHz;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.FrequencyTHz;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.ModulationFormat;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.PowerDBm;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev171215.R100G;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev171215.interfaces.grp.InterfaceKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.ModulationFormat;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PowerDBm;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.R100G;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.EthAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.Interface1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.Interface1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev171215.ethernet.container.EthernetBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.EthAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.ethernet.container.EthernetBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.EthernetCsmacd;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.InterfaceType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.MediaChannelTrailTerminationPoint;
@@ -38,19 +38,19 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.Opti
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OpticalTransport;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOdu;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.OtnOtu;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev171215.mc.ttp.container.McTtpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev171215.nmc.ctp.container.NmcCtpBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev171215.och.container.OchBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215.OtsAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215.ots.container.OtsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019.mc.ttp.container.McTtpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019.nmc.ctp.container.NmcCtpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.och.container.OchBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.OtsAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.ots.container.OtsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODU4;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.OTU4;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.PayloadTypeDef;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.OduAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.odu.container.OduBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.opu.OpuBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.OtuAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.otu.container.OtuBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.OduAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.odu.container.OduBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.opu.OpuBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.OtuAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.otu.container.OtuBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -142,12 +142,12 @@ public class OpenRoadmInterface22 {
         mcTtpBuilder.setMaxFreq(FrequencyTHz.getDefaultInstance(String.valueOf(fixedFlex.getStop())));
 
         // Create Interface1 type object required for adding as augmentation
-        org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev171215.Interface1Builder
+        org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019.Interface1Builder
             interface1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel
-            .interfaces.rev171215.Interface1Builder();
+            .interfaces.rev181019.Interface1Builder();
         interface1Builder.setMcTtp(mcTtpBuilder.build());
         mcInterfaceBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel
-            .interfaces.rev171215.Interface1.class,interface1Builder.build());
+            .interfaces.rev181019.Interface1.class,interface1Builder.build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, mcInterfaceBldr);
@@ -178,12 +178,12 @@ public class OpenRoadmInterface22 {
         nmcCtpIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(fixedFlex.getWavelength())));
 
         // Create Interface1 type object required for adding as augmentation
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev171215
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019
             .Interface1Builder nmcCtpI1fBuilder = new org.opendaylight.yang.gen.v1.http
-            .org.openroadm.network.media.channel.interfaces.rev171215.Interface1Builder();
+            .org.openroadm.network.media.channel.interfaces.rev181019.Interface1Builder();
         nmcCtpI1fBuilder.setNmcCtp(nmcCtpIfBuilder.build());
         nmcInterfaceBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network
-            .media.channel.interfaces.rev171215.Interface1.class,nmcCtpI1fBuilder.build());
+            .media.channel.interfaces.rev181019.Interface1.class,nmcCtpI1fBuilder.build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, nmcInterfaceBldr);
@@ -206,7 +206,7 @@ public class OpenRoadmInterface22 {
         OchBuilder ocIfBuilder = new OchBuilder();
 
         ocIfBuilder.setFrequency(FrequencyTHz.getDefaultInstance(String.valueOf(fixedFlex.getCenterFrequency())));
-        ocIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(fixedFlex.getWavelength())));
+        //ocIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(fixedFlex.getWavelength())));
         ocIfBuilder.setModulationFormat(ModulationFormat.DpQpsk);
         ocIfBuilder.setRate(R100G.class);
         ocIfBuilder.setTransmitPower(new PowerDBm(new BigDecimal("-5")));
@@ -216,11 +216,11 @@ public class OpenRoadmInterface22 {
             createOpenRoadmOchInterfaceName(logicalConnPoint, waveNumber));
         // Create Interface1 type object required for adding as augmentation
         // TODO look at imports of different versions of class
-        org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev171215.Interface1Builder
+        org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1Builder
                 ochIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces
-                .rev171215.Interface1Builder();
+                .rev181019.Interface1Builder();
         ochInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev171215.Interface1.class,
+                org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1.class,
                 ochIf1Builder.setOch(ocIfBuilder.build()).build());
 
         // Post interface on the device
@@ -253,10 +253,10 @@ public class OpenRoadmInterface22 {
 
         // Create Interface1 type object required for adding as augmentation
         // TODO look at imports of different versions of class
-        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1Builder oduIf1Builder =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1Builder();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
         oduInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev171215.Interface1.class,
+                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
                 oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
@@ -283,10 +283,10 @@ public class OpenRoadmInterface22 {
 
         // Create Interface1 type object required for adding as augmentation
         // TODO look at imports of different versions of class
-        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder otuIf1Builder =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1Builder();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder otuIf1Builder =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder();
         otuInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev171215.Interface1.class,
+                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1.class,
                 otuIf1Builder.setOtu(otuIfBuilder.build()).build());
 
         // Post interface on the device
@@ -343,12 +343,12 @@ public class OpenRoadmInterface22 {
 
             // Create Interface1 type object required for adding as
             // augmentation
-            org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215
+            org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019
                     .Interface1Builder otsIf1Builder = new org.opendaylight.yang.gen.v1.http.org
                     .openroadm.optical.transport
-                    .interfaces.rev171215.Interface1Builder();
+                    .interfaces.rev181019.Interface1Builder();
             otsInterfaceBldr.addAugmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev171215
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019
                     .Interface1.class,
                     otsIf1Builder.setOts(otsIfBuilder.build()).build());
             this.openRoadmInterfaces.postInterface(nodeId, otsInterfaceBldr);
index 51a4e102d3f36dd230b60582c18d4f2f8ae1c2dc..4f38912f9930154b09fb25bf0050c6009397de85 100644 (file)
@@ -37,7 +37,7 @@ public class OpenRoadmInterfaceFactory {
         switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmEthInterface(nodeId, logicalConnPoint);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createOpenRoadmEthInterface(nodeId, logicalConnPoint);
             default:
                 return null;
@@ -59,7 +59,7 @@ public class OpenRoadmInterfaceFactory {
         switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmOchInterface(nodeId, logicalConnPoint,waveNumber);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createFlexOCH(nodeId, logicalConnPoint,waveNumber);
             default:
                 return null;
@@ -73,7 +73,7 @@ public class OpenRoadmInterfaceFactory {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmOchInterface(nodeId, logicalConnPoint, waveNumber,
                     rate, format);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createOpenRoadmOchInterface(nodeId,logicalConnPoint,waveNumber);
             default:
                 return null;
@@ -92,7 +92,7 @@ public class OpenRoadmInterfaceFactory {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmOdu4Interface(nodeId, logicalConnPoint,
                     supportingOtuInterface);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createOpenRoadmOdu4Interface(nodeId, logicalConnPoint,
                     supportingOtuInterface);
             default:
@@ -112,7 +112,7 @@ public class OpenRoadmInterfaceFactory {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmOtu4Interface(nodeId,
                     logicalConnPoint,supportOchInterface);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createOpenRoadmOtu4Interface(nodeId,logicalConnPoint, supportOchInterface);
             default:
                 return null;
@@ -127,7 +127,7 @@ public class OpenRoadmInterfaceFactory {
         switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmOmsInterface(nodeId,mapping);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createOpenRoadmOmsInterface(nodeId,mapping);
             default:
                 return null;
@@ -138,7 +138,7 @@ public class OpenRoadmInterfaceFactory {
         switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
             case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
                 return openRoadmInterface121.createOpenRoadmOtsInterface(nodeId,mapping);
-            case StringConstants.OPENROADM_DEVICE_VERSION_2_2:
+            case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
                 return openRoadmInterface22.createOpenRoadmOtsInterface(nodeId,mapping);
             default:
                 return null;
index d9d92d346d804028573c24dc0f4aae5796d26e8a..eadd78fe110c7f8b2a3b80acef25ebc8eb365748 100644 (file)
@@ -19,7 +19,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
@@ -29,12 +29,12 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
@@ -54,26 +54,26 @@ public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest {
     private DeviceTransactionManager deviceTransactionManager;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     private void setMountPoint(MountPoint mountPoint) {
         MountPointService mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.mappingUtils = Mockito.spy(MappingUtils.class);
 
         Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
                 .getOpenRoadmVersion(Mockito.anyString());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-            openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+            openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
-        this.portMappingVersion22 = new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager,
+        this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager,
             this.openRoadmInterfaces);
         this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager,
             this.openRoadmInterfaces);
@@ -87,9 +87,9 @@ public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest {
             openRoadmInterface22);
 
         this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
-            this.crossConnectImpl121, this.crossConnectImpl22);
+            this.crossConnectImpl121, this.crossConnectImpl221);
         this.crossConnect = Mockito.spy(this.crossConnect);
         this.deviceRendererService = new DeviceRendererServiceImpl(this.getDataBroker(),
             this.deviceTransactionManager, this.openRoadmInterfaceFactory, this.openRoadmInterfaces,
index 67a1efa9497291572e034f9a740b68fe3191940f..788a7dfcbc961fb4493cf9373e315581475e30b6 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
@@ -32,12 +32,12 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
@@ -66,22 +66,22 @@ public class DeviceRendererServiceImplDeleteTest extends AbstractTest {
     private DeviceTransactionManager deviceTransactionManager;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     private void setMountPoint(MountPoint mountPoint) {
         MountPointService mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(this.deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-            openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+            openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
-        this.portMappingVersion22 = new PortMappingVersion22(getDataBroker(), this.deviceTransactionManager,
+        this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager,
             this.openRoadmInterfaces);
         this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager,
             this.openRoadmInterfaces);
@@ -95,9 +95,9 @@ public class DeviceRendererServiceImplDeleteTest extends AbstractTest {
             openRoadmInterface22);
 
         this.crossConnectImpl121 = new CrossConnectImpl121(this.deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(this.deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(this.deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager, this.mappingUtils,
-            this.crossConnectImpl121, this.crossConnectImpl22);
+            this.crossConnectImpl121, this.crossConnectImpl221);
         this.crossConnect = Mockito.spy(this.crossConnect);
         this.deviceRendererService = new DeviceRendererServiceImpl(this.getDataBroker(),
             this.deviceTransactionManager, this.openRoadmInterfaceFactory, this.openRoadmInterfaces,
index 3bb72fc345b6ccde10242187a38f662dd6150b3b..6dcc242c648da69c8fd2a1fd8c13f0738b68a5d0 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
@@ -30,12 +30,12 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
@@ -57,30 +57,30 @@ public class DeviceRendererServiceImplRollbackTest extends AbstractTest {
     private OpenRoadmInterfaces openRoadmInterfaces;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     private void setMountPoint(MountPoint mountPoint) {
         MountPointService mountPointService = new MountPointServiceStub(mountPoint);
         DeviceTransactionManager deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.mappingUtils = Mockito.spy(this.mappingUtils);
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-            openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+            openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
         this.portMappingVersion22 =
-            new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+            new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), deviceTransactionManager,
             this.openRoadmInterfaces);
         this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
-            this.crossConnectImpl22);
+            this.crossConnectImpl221);
         this.crossConnect = Mockito.spy(this.crossConnect);
         PortMapping portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
             this.portMappingVersion121);
index 7c3242b30362bba38ee303fbbc23c3e03b2b2d2c..047fb891e00c001c7f62698738e43e9a20baf802 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
@@ -29,12 +29,12 @@ import org.opendaylight.transportpce.common.mapping.MappingUtils;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface22;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
@@ -57,37 +57,37 @@ public class DeviceRendererServiceImplSetupTest extends AbstractTest {
     private OpenRoadmInterfaces openRoadmInterfaces;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
 
     private void setMountPoint(MountPoint mountPoint) {
         MountPointService mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
         this.mappingUtils = Mockito.spy(MappingUtils.class);
 
         Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
             .getOpenRoadmVersion(Mockito.anyString());
 
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-            openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+            openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
         this.portMappingVersion22 =
-            new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+            new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 =
             new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
             this.portMappingVersion121);
         this.portMapping = Mockito.spy(this.portMapping);
         this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
-            this.crossConnectImpl22);
+            this.crossConnectImpl221);
         this.crossConnect = Mockito.spy(this.crossConnect);
 
 
index aeef8d0fbfebd6e0130a2b146f05a394976cb79e..4f4eac3b76a954c691ce2e0fa7d959b21272ad80 100644 (file)
@@ -27,7 +27,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
@@ -37,11 +37,11 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.NetworkModelWavelengthServiceImpl;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
@@ -79,31 +79,31 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest {
     private TransportpceOlmService olmService;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     private void setMountPoint(MountPoint mountPoint) {
         MountPointService mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-            openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+            openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
         this.portMappingVersion22 =
-            new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+            new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 =
             new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
             this.portMappingVersion121);
         this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
-            this.crossConnectImpl22);
+            this.crossConnectImpl221);
         this.crossConnect = Mockito.spy(crossConnect);
         FixedFlexInterface fixedFlexInterface = new FixedFlexImpl();
         OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping,openRoadmInterfaces);
index ba7707e30eb39fc8036ae9b80865df3e07a9add3..05db33d67eef309d556cf3e6077fdacfaae06d52 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
-import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl22;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
@@ -33,12 +33,12 @@ import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
-import org.opendaylight.transportpce.common.mapping.PortMappingVersion22;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl22;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
 import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.NetworkModelWavelengthServiceImpl;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121;
@@ -80,23 +80,23 @@ public class RendererServiceOperationsImplTest extends AbstractTest {
     private NetworkModelWavelengthService networkModelWavelengthService;
     private MappingUtils mappingUtils;
     private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
-    private OpenRoadmInterfacesImpl22 openRoadmInterfacesImpl22;
-    private PortMappingVersion22 portMappingVersion22;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    private PortMappingVersion221 portMappingVersion22;
     private PortMappingVersion121 portMappingVersion121;
     private CrossConnectImpl121 crossConnectImpl121;
-    private CrossConnectImpl22 crossConnectImpl22;
+    private CrossConnectImpl221 crossConnectImpl221;
 
     private void setMountPoint(MountPoint mountPoint) {
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(this.mountPointService, 3000);
         this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
-        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl22(deviceTransactionManager);
+        this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils,
-            openRoadmInterfacesImpl121, openRoadmInterfacesImpl22);
+            openRoadmInterfacesImpl121, openRoadmInterfacesImpl221);
         this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
         this.portMappingVersion22 =
-            new PortMappingVersion22(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+            new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMappingVersion121 =
             new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.mappingUtils,
@@ -108,9 +108,9 @@ public class RendererServiceOperationsImplTest extends AbstractTest {
         this.openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(this.mappingUtils,openRoadmInterface121,
             openRoadmInterface22);
         this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
-        this.crossConnectImpl22 = new CrossConnectImpl22(deviceTransactionManager);
+        this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager);
         this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
-            this.crossConnectImpl22);
+            this.crossConnectImpl221);
     }
 
     @Before