Add new method in PortMapping interface
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / mapping / PortMapping.java
index 8b04bd5ca2cbd82aefc9fb16cc18fa8995b56065..ddf2e72d9ea92eba6c711d4621ae5f978f0d5d3b 100644 (file)
@@ -11,9 +11,9 @@ package org.opendaylight.transportpce.common.mapping;
 
 import java.util.List;
 import java.util.Map;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mc.capabilities.McCapabilities;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mc.capabilities.McCapabilities;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.network.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.org.openroadm.device.container.org.openroadm.device.OduSwitchingPools;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.org.openroadm.device.container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -22,6 +22,10 @@ import org.opendaylight.yangtools.yang.common.Uint16;
 
 public interface PortMapping {
 
+    PortMappingVersion221 getPortMappingVersion221();
+
+    PortMappingVersion710 getPortMappingVersion710();
+
     /**
      * This method creates logical to physical port mapping for a given device.
      * Instead of parsing all the circuit packs/ports in the device, this methods
@@ -56,13 +60,13 @@ public interface PortMapping {
     boolean createMappingData(String nodeId, String nodeVersion);
 
     /**
-     * This method removes mapping data from the datastore after disconnecting ODL
-     * from a Netconf device.
+     * This method removes all mapping data of a given node from the datastore
+     * after disconnecting ODL from a Netconf device.
      *
      * @param nodeId
      *            node ID
      */
-    void deleteMappingData(String nodeId);
+    void deletePortMappingNode(String nodeId);
 
     /**
      * This method for a given node's termination point returns the Mapping object
@@ -105,6 +109,18 @@ public interface PortMapping {
      */
     Mapping getMapping(String nodeId, String circuitPackName, String portName);
 
+    /**
+     * This method removes a given mapping data from the mapping list
+     * stored in the datastore while the Netconf device is already
+     * connected to the controller.
+     *
+     * @param nodeId
+     *            node ID
+     * @param logicalConnectionPoint
+     *            key of the mapping inside the mapping list
+     */
+    void deleteMapping(String nodeId, String logicalConnectionPoint);
+
     /**
      * This method, for a given node media channel-capabilities, returns the object
      * based on portmapping.yang model stored in the MD-SAL data store which is
@@ -180,4 +196,16 @@ public interface PortMapping {
      */
     boolean updatePortMappingWithOduSwitchingPools(String nodeId, InstanceIdentifier<OduSwitchingPools> ospIID,
         Map<Uint16, List<InstanceIdentifier<PortList>>> nbliidMap);
+
+    /**
+     * This method check the presence or not of a given node inside the PortMapping
+     * datastore.
+     *
+     * @param nodeId
+     *            Unique Identifier for the node of interest.
+     *
+     * @return Result true/false based on existance or not of a given node.
+     */
+    boolean isNodeExist(String nodeId);
+
 }