Replace tpce-topology yang by existing ordmodels
[transportpce.git] / networkmodel / src / main / java / org / opendaylight / transportpce / networkmodel / service / NetworkModelService.java
index 3e8b342f54caab1bbac2c2a9ae0e64058f82f323..dbbf0aaaf0e3cbb4f5ad18408522a15ba398df94 100644 (file)
@@ -7,9 +7,10 @@
  */
 package org.opendaylight.transportpce.networkmodel.service;
 
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210618.renderer.rpc.result.sp.Link;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.OtnLinkType;
+import java.util.List;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
 import org.opendaylight.yangtools.yang.common.Uint32;
 
@@ -63,34 +64,32 @@ public interface NetworkModelService {
     /**
      * create new otn link in otn-topology.
      *
-     * @param nodeA
-     *     OpenROADM node ID for link termination point A
-     * @param tpA
-     *     OpenROADM tp id on nodeA for link termination point A
-     * @param nodeZ
-     *     OpenROADM node ID for link termination point Z
-     * @param tpZ
-     *     OpenROADM tp id on nodeZ for link termination point Z
+     * @param notifLink
+     *     Expressed by the means of a link, specifies the
+     *     termination points of the otn link to create.
+     * @param suppLinks
+     *     list of link-id supported the service (used when more than one supported link)
      * @param linkType
      *     OtnLinkType, as OTU4, ODTU, etc
      */
-    void createOtnLinks(String nodeA, String tpA, String nodeZ, String tpZ, OtnLinkType linkType);
+    void createOtnLinks(
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link
+        notifLink, List<String> suppLinks, OtnLinkType linkType);
 
     /**
      * delete otn links from otn-topology.
      *
-     * @param nodeA
-     *     OpenROADM node ID for link termination point A
-     * @param tpA
-     *     OpenROADM tp id on nodeA for link termination point A
-     * @param nodeZ
-     *     OpenROADM node ID for link termination point Z
-     * @param tpZ
-     *     OpenROADM tp id on nodeZ for link termination point Z
+     * @param notifLink
+     *     Expressed by the means of a link, specifies the
+     *     termination points of the otn link to create.
+     * @param suppLinks
+     *     list of link-id supported the service (used when more than one supported link)
      * @param linkType
      *     OtnLinkType, as OTU4, ODTU, etc
      */
-    void deleteOtnLinks(String nodeA, String tpA, String nodeZ, String tpZ, OtnLinkType linkType);
+    void deleteOtnLinks(
+        org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link
+        notifLink, List<String> suppLinks, OtnLinkType linkType);
 
     /**
      * Update otn links from otn-topology.
@@ -99,7 +98,11 @@ public interface NetworkModelService {
      * otu link.
      *
      * @param link
-     *     link containing termination points to be updated
+     *     link containing termination points to be updated (used for use
+     *     case with a single supported link)
+     * @param supportedLinks
+     *     list of link-id supported the service (used for use case with
+     *     several supported links)
      * @param serviceRate
      *     Service rate may be 1G, 10G, 100G or 400G
      * @param tribPortNb
@@ -109,20 +112,21 @@ public interface NetworkModelService {
      * @param maxTribSoltNb
      *     Last contiguous trib slot number allocated by the service
      * @param isDeletion
-     *       True indicates if the low-order otn service must be deleted
+     *     True indicates if the low-order otn service must be deleted
      */
-    void updateOtnLinks(Link link, Uint32 serviceRate, Short tribPortNb, Short minTribSoltNb, Short maxTribSoltNb,
-            boolean isDeletion);
+    void updateOtnLinks(Link link, List<String> supportedLinks, Uint32 serviceRate, Short tribPortNb,
+            Short minTribSoltNb, Short maxTribSoltNb, boolean isDeletion);
 
     /**
      * Update otn links from otn-topology.
      * For services using directly a high-order odu, updates bandwidth parameters
      * of the direct parent otu link.
      *
-     * @param link
-     *     link containing termination points to be updated
+     * @param supportedLinks
+     *     list of link-id supported the service (used for use case with
+     *     several supported links)
      * @param isDeletion
-     *       True indicates if the low-order otn service must be deleted
+     *     True indicates if the low-order otn service must be deleted
      */
-    void updateOtnLinks(Link link, boolean isDeletion);
+    void updateOtnLinks(List<String> supportedLinks, boolean isDeletion);
 }