X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcore%2FNode.java;h=5a71ab8a692fce503c7dddb6d3fc768ec25723f4;hp=4c7f278209096e16c857f57c6f49d9da7ea94c9f;hb=7e82c13539bf01ba2c00989ced01a96cb7a0214e;hpb=7a985431a47d1dcee82fc77e2afcfec5f322476c diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Node.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Node.java index 4c7f278209..5a71ab8a69 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Node.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Node.java @@ -228,8 +228,13 @@ public class Node implements Serializable { } else if (typeStr.equals(NodeIDType.PRODUCTION)) { this.nodeID = IDStr; } else { - // We need to lookup via OSGi service registry for an - // handler for this + //Use plugin's method to get appropriate conversion from IDStr to nodeID + INodeFactory f = (INodeFactory) ServiceHelper + .getGlobalInstance(INodeFactory.class, new Node(), "(protocolName="+typeStr+")"); + if(f!=null){ + Node n = f.fromString(typeStr, IDStr); + this.nodeID = n.nodeID; + } } } @@ -445,7 +450,7 @@ public class Node implements Serializable { .getGlobalInstance(INodeFactory.class, new Node(), "(protocolName="+typeStr+")"); if(f==null) return null; - return f.fromString(IDStr, typeStr); + return f.fromString(typeStr, IDStr); } } }