Port-mapping for 7.1.0 models
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / openroadminterfaces / OpenRoadmInterfacesImpl.java
index 9363a44b8b4fd8252162bbd9f491c105d90e1e8d..1f5fcf6bf8ec55d5d3b7aca3c7dcaf074b8fbee3 100644 (file)
@@ -10,6 +10,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_1;
+import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_7_1_0;
 
 import java.util.Optional;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
@@ -25,31 +26,45 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
 
     OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
     OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221;
+    OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710;
     MappingUtils mappingUtils;
 
     public OpenRoadmInterfacesImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils,
                                    OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121,
-                                   OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221) {
+                                   OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221,
+                                   OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710) {
         this.mappingUtils = mappingUtils;
         this.openRoadmInterfacesImpl121 = openRoadmInterfacesImpl121;
         this.openRoadmInterfacesImpl221 = openRoadmInterfacesImpl221;
+        this.openRoadmInterfacesImpl710 = openRoadmInterfacesImpl710;
     }
 
     @Override
     public <T> void postInterface(String nodeId, T ifBuilder) throws OpenRoadmInterfaceException {
 
-        String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
-        if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
-            LOG.info("postInterface for 1.2.1 device {}", nodeId);
-            InterfaceBuilder ifBuilder121 = convertInstanceOfInterface(ifBuilder, InterfaceBuilder.class);
-            openRoadmInterfacesImpl121.postInterface(nodeId,ifBuilder121);
-        }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
-            LOG.info("postInterface for 2.2.1 device {}", nodeId);
-            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.rev181019.interfaces.grp.InterfaceBuilder.class);
-            openRoadmInterfacesImpl221.postInterface(nodeId,ifBuilder22);
+        switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
+            case OPENROADM_DEVICE_VERSION_1_2_1:
+                LOG.info("postInterface for 1.2.1 device {}", nodeId);
+                InterfaceBuilder ifBuilder121 = convertInstanceOfInterface(ifBuilder, InterfaceBuilder.class);
+                openRoadmInterfacesImpl121.postInterface(nodeId,ifBuilder121);
+                return;
+            case OPENROADM_DEVICE_VERSION_2_2_1:
+                LOG.info("postInterface for 2.2.1 device {}", nodeId);
+                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.rev181019.interfaces.grp.InterfaceBuilder.class);
+                openRoadmInterfacesImpl221.postInterface(nodeId,ifBuilder22);
+                return;
+            case OPENROADM_DEVICE_VERSION_7_1_0:
+                LOG.info("postInterface for 7.1.0 device {}", nodeId);
+                org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.interfaces.grp.InterfaceBuilder
+                    ifBuilder71 = convertInstanceOfInterface(ifBuilder, org.opendaylight.yang.gen.v1
+                            .http.org.openroadm.device.rev200529.interfaces.grp.InterfaceBuilder.class);
+                openRoadmInterfacesImpl710.postInterface(nodeId, ifBuilder71);
+                return;
+            default:
+                LOG.error("postInterface unknown ordm version error device {}", nodeId);
+                return;
         }
     }
 
@@ -58,16 +73,18 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
     public <T> Optional<T>  getInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException {
 
         String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
-        LOG.info("Interface get request received for node {} with version {}",nodeId,openRoadmVersion);
-        if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
-            LOG.info("getInterface for 1.2.1 device {}", nodeId);
-            return (Optional<T>) openRoadmInterfacesImpl121.getInterface(nodeId,interfaceName);
+        LOG.info("Interface get request received for node {} with version {}", nodeId, openRoadmVersion);
+        switch (openRoadmVersion) {
+            case OPENROADM_DEVICE_VERSION_1_2_1:
+                return (Optional<T>) openRoadmInterfacesImpl121.getInterface(nodeId,interfaceName);
+            case OPENROADM_DEVICE_VERSION_2_2_1:
+                return (Optional<T>) openRoadmInterfacesImpl221.getInterface(nodeId,interfaceName);
+            case OPENROADM_DEVICE_VERSION_7_1_0:
+                return (Optional<T>) openRoadmInterfacesImpl710.getInterface(nodeId,interfaceName);
+            default:
+                LOG.error("getInterface unknown ordm version error device {}", nodeId);
+                return Optional.empty();
         }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
-            LOG.info("getInterface for 2.2.1 device {}", nodeId);
-            return (Optional<T>) openRoadmInterfacesImpl221.getInterface(nodeId,interfaceName);
-        }
-        return Optional.empty();
     }
 
     @Override
@@ -75,44 +92,90 @@ public class OpenRoadmInterfacesImpl implements OpenRoadmInterfaces {
         throws OpenRoadmInterfaceException {
 
         String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
-        LOG.info("Interface delete request received for node {} with version {}",nodeId,openRoadmVersion);
-        if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
-            LOG.info("Device Version is 1.2.1");
-            openRoadmInterfacesImpl121.deleteInterface(nodeId,interfaceName);
-        }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
-            openRoadmInterfacesImpl221.deleteInterface(nodeId,interfaceName);
+        LOG.info("Interface delete request received for node {} with version {}", nodeId, openRoadmVersion);
+        switch (openRoadmVersion) {
+            case OPENROADM_DEVICE_VERSION_1_2_1:
+                openRoadmInterfacesImpl121.deleteInterface(nodeId,interfaceName);
+                return;
+            case OPENROADM_DEVICE_VERSION_2_2_1:
+                openRoadmInterfacesImpl221.deleteInterface(nodeId,interfaceName);
+                return;
+            case OPENROADM_DEVICE_VERSION_7_1_0:
+                openRoadmInterfacesImpl710.deleteInterface(nodeId,interfaceName);
+                return;
+            default:
+                LOG.error("deleteInterface unknown ordm version error device {}", nodeId);
+                return;
         }
     }
 
     @Override
     public void postEquipmentState(String nodeId, String circuitPackName, boolean activate)
         throws OpenRoadmInterfaceException {
-        String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
 
+        String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
         LOG.info("Request received for node {} with version {} to change equipment-state of cp {}.",
             nodeId,openRoadmVersion, circuitPackName);
-        if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
-            openRoadmInterfacesImpl121.postEquipmentState(nodeId, circuitPackName, activate);
-        }
-        else if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_2_2_1)) {
-            openRoadmInterfacesImpl221.postEquipmentState(nodeId, circuitPackName, activate);
+        switch (openRoadmVersion) {
+            case OPENROADM_DEVICE_VERSION_1_2_1:
+                openRoadmInterfacesImpl121.postEquipmentState(nodeId, circuitPackName, activate);
+                return;
+            case OPENROADM_DEVICE_VERSION_2_2_1:
+                openRoadmInterfacesImpl221.postEquipmentState(nodeId, circuitPackName, activate);
+                return;
+            case OPENROADM_DEVICE_VERSION_7_1_0:
+                openRoadmInterfacesImpl710.postEquipmentState(nodeId, circuitPackName, activate);
+                return;
+            default:
+                LOG.error("postEquipmentState unknown ordm version error device {}", nodeId);
+                return;
         }
-
     }
 
     @Override
-    public <T> void postOTNInterface(String nodeId, T ifBuilder) throws OpenRoadmInterfaceException {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder
-                ifBuilder22 = (org.opendaylight.yang.gen.v1.http.org.openroadm
-                .device.rev181019.interfaces.grp.InterfaceBuilder) ifBuilder;
-        openRoadmInterfacesImpl221.postInterface(nodeId,ifBuilder22);
+    public <T> void postOTNInterface(String nodeId, T ifBuilder)
+        throws OpenRoadmInterfaceException {
+
+        switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
+            case OPENROADM_DEVICE_VERSION_1_2_1:
+                LOG.error("postOTNInterface unsupported ordm version 1.2.1 error device {}", nodeId);
+                return;
+            case OPENROADM_DEVICE_VERSION_2_2_1:
+                org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder
+                    ifBuilder22 = (org.opendaylight.yang.gen.v1
+                            .http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder) ifBuilder;
+                openRoadmInterfacesImpl221.postInterface(nodeId, ifBuilder22);
+                return;
+            case OPENROADM_DEVICE_VERSION_7_1_0:
+                org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.interfaces.grp.InterfaceBuilder
+                    ifBuilder71 = (org.opendaylight.yang.gen.v1
+                            .http.org.openroadm.device.rev200529.interfaces.grp.InterfaceBuilder) ifBuilder;
+                openRoadmInterfacesImpl710.postInterface(nodeId, ifBuilder71);
+                return;
+            default:
+                LOG.error("postOTNInterface unknown ordm version error device {}", nodeId);
+                return;
+        }
     }
 
     @Override
     public void postOTNEquipmentState(String nodeId, String circuitPackName, boolean activate)
         throws OpenRoadmInterfaceException {
-        openRoadmInterfacesImpl221.postEquipmentState(nodeId, circuitPackName, activate);
+
+        switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
+            case OPENROADM_DEVICE_VERSION_1_2_1:
+                LOG.error("postOTNEquipmentState unsupported ordm version 1.2.1 error device {}", nodeId);
+                return;
+            case OPENROADM_DEVICE_VERSION_2_2_1:
+                openRoadmInterfacesImpl221.postEquipmentState(nodeId, circuitPackName, activate);
+                return;
+            case OPENROADM_DEVICE_VERSION_7_1_0:
+                openRoadmInterfacesImpl710.postEquipmentState(nodeId, circuitPackName, activate);
+                return;
+            default:
+                LOG.error("postOTNEquipmentState unknown ordm version error device {}", nodeId);
+                return;
+        }
     }
 
     private <T> T convertInstanceOfInterface(Object object, Class<T> classToCast) {