Distinguish available SRG for uni/bi-direction
[transportpce.git] / pce / src / main / java / org / opendaylight / transportpce / pce / networkanalyzer / PceOpticalNode.java
index c2254c40147aed10467a5a019336eb9b9e35ce83..62afca641ba609ffb59fef53f633bcc58ff53d10 100644 (file)
@@ -311,7 +311,7 @@ public class PceOpticalNode implements PceNode {
     }
 
     @Override
-    public String getRdmSrgClient(String tp) {
+    public String getRdmSrgClient(String tp, String direction) {
         LOG.info("getRdmSrgClient: Getting PP client for tp '{}' on node : {}", tp, this.nodeId);
         OpenroadmTpType srgType = null;
         OpenroadmTpType cpType = this.availableSrgCp.get(tp);
@@ -322,7 +322,16 @@ public class PceOpticalNode implements PceNode {
         switch (cpType) {
             case SRGTXRXCP:
                 LOG.info("getRdmSrgClient: Getting BI Directional PP port ...");
-                srgType = OpenroadmTpType.SRGTXRXPP;
+                // Take the first-element in the available PP key set
+                if (availableSrgPp.entrySet().iterator().next().getKey()
+                        // and check if the port is bidirectional
+                        .contains("TXRX")) {
+                    srgType = OpenroadmTpType.SRGTXRXPP;
+                } else if (direction.equalsIgnoreCase("aToz")) {
+                    srgType = OpenroadmTpType.SRGRXPP;
+                } else {
+                    srgType = OpenroadmTpType.SRGTXPP;
+                }
                 break;
             case SRGTXCP:
                 LOG.info("getRdmSrgClient: Getting UNI Rx PP port ...");