Update otn-topology with otn-links
[transportpce.git] / networkmodel / src / main / java / org / opendaylight / transportpce / networkmodel / util / LinkIdUtil.java
index 940d41dd88244bb1d01504e41cf7ab9587735c26..22742cfe4d14bb5b362038ed4ea4c45a0d5af416 100644 (file)
@@ -8,9 +8,8 @@
 
 package org.opendaylight.transportpce.networkmodel.util;
 
-import java.text.MessageFormat;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.InitRoadmNodesInput;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.LinkId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
 
 
 public final class LinkIdUtil {
@@ -19,7 +18,8 @@ public final class LinkIdUtil {
     private static final String TRANSMIT = "-TX";
     private static final String RECEIVE = "-RX";
     private static final String BIDIRECTIONAL = "-TXRX";
-    private static final MessageFormat LINK_ID_FORMAT = new MessageFormat("{0}-{1}to{2}-{3}");
+    private static final String LINK_ID_FORMAT = "%1$s-%2$sto%3$s-%4$s";
+    private static final String OTN_LINK_ID_FORMAT = "%5$s-%1$s-%2$sto%3$s-%4$s";
 
     private LinkIdUtil() {
         // utility class
@@ -35,8 +35,22 @@ public final class LinkIdUtil {
      * @return {@link LinkId}
      */
     public static LinkId buildLinkId(String srcNode, String srcTp, String destNode, String destTp) {
-        return new LinkId(LINK_ID_FORMAT
-                .format(new Object[] {srcNode, srcTp, destNode, destTp}, new StringBuffer(), null).toString());
+        return new LinkId(String.format(LINK_ID_FORMAT, srcNode, srcTp, destNode, destTp));
+    }
+
+    /**
+     * Builds the OTN Link id in format {@link LinkIdUtil#OTN_LINK_ID_FORMAT}.
+     *
+     * @param srcNode source node id string
+     * @param srcTp source termination point
+     * @param destNode destination node id
+     * @param destTp destination termination point
+     * @param otnPrefix otn link type prefix
+     * @return {@link LinkId}
+     */
+    public static LinkId buildOtnLinkId(String srcNode, String srcTp, String destNode, String destTp,
+        String otnPrefix) {
+        return new LinkId(String.format(OTN_LINK_ID_FORMAT, srcNode, srcTp, destNode, destTp, otnPrefix));
     }
 
     /**
@@ -53,7 +67,7 @@ public final class LinkIdUtil {
 
         Object[] params = buildParams(srcNode, srcTp, destNode, destTp, false);
 
-        return new LinkId(LINK_ID_FORMAT.format(params, new StringBuffer(), null).toString());
+        return new LinkId(String.format(LINK_ID_FORMAT, params));
     }
 
     /**
@@ -83,7 +97,7 @@ public final class LinkIdUtil {
     public static LinkId getOppositeLinkId(String srcNode, String srcTp, String destNode, String destTp,
         boolean checkNode) {
         Object[] params = buildParams(srcNode, srcTp, destNode, destTp, checkNode);
-        return new LinkId(LINK_ID_FORMAT.format(params, new StringBuffer(), null).toString());
+        return new LinkId(String.format(LINK_ID_FORMAT, params));
     }
 
     private static Object[] buildParams(String srcNode, String srcTp, String destNode, String destTp,