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.rev231221.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mc.capabilities.McCapabilities;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.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;
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
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
*/
Mapping getMapping(String nodeId, String circuitPackName, String portName);
+ /**
+ * This method for a given node's termination point returns the Mapping object
+ * based on portmapping.yang model stored in the MD-SAL data store which is
+ * created when the node is connected for the first time. The mapping object
+ * basically contains the following attributes of interest:
+ *
+ * <p>
+ * 1. Supporting circuit pack
+ *
+ * <p>
+ * 2. Supporting port
+ *
+ * <p>
+ * 3. Supporting OTS/OMS interface (if port on ROADM)
+ *
+ * @param nodeId
+ * Unique Identifier for the node of interest.
+ * @param interfName
+ * Name of the OTS interface
+ *
+ * @return Result Mapping object if success otherwise null.
+ */
+ Mapping getMappingFromOtsInterface(String nodeId, String interfName);
+
+ /**
+ * 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