X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fmapping%2FPortMapping.java;h=799af027251dd5c911d31e2c998b6bcdb5e1b83a;hb=63ac411af040169c3f9908c57aff8d9e8aed2abf;hp=a1a6b1d0e85176f4eb85f57dc157ccaca0885b87;hpb=8cc8c5da2ffb9d7aa705b17aec0c346227f512a0;p=transportpce.git diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMapping.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMapping.java index a1a6b1d0e..799af0272 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMapping.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMapping.java @@ -8,9 +8,17 @@ package org.opendaylight.transportpce.common.mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.mapping.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.mc.capabilities.McCapabilities; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.network.Nodes; + +import java.util.List; +import java.util.Map; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mc.capabilities.McCapabilities; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.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; +import org.opendaylight.yangtools.yang.common.Uint16; + public interface PortMapping { @@ -48,13 +56,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 @@ -97,6 +105,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 @@ -151,4 +171,37 @@ public interface PortMapping { * @return node data if success otherwise null. */ Nodes getNode(String nodeId); + + /** + * This method allows to update a port-mapping node with odu-connection-map data. + * This method is used for an otn xponder in version 7.1, when a device sends a + * change-notification advertising controller that odu-switching-pools containers + * have been populated inside its configuration + * (appears after creation of an OTSI-Group interface). + * + * @param nodeId + * Unique Identifier for the node of interest. + * @param ospIID + * Instance Identifier of the odu-switching-pools. + * @param nbliidMap + * Map containing the non-blocking-list number as key, + * and the list of Instance Identifier corresponding to each port-list + * as value. + * + * @return Result true/false based on status of operation. + */ + boolean updatePortMappingWithOduSwitchingPools(String nodeId, InstanceIdentifier ospIID, + Map>> 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); + }