Added fix for InstanceIdentifier breakage in SAL-Compatibility 15/2715/2
authorTony Tkacik <ttkacik@cisco.com>
Wed, 13 Nov 2013 17:58:40 +0000 (18:58 +0100)
committerTony Tkacik <ttkacik@cisco.com>
Wed, 13 Nov 2013 18:40:43 +0000 (19:40 +0100)
Change-Id: Ib2ac2f87c34c22a08094b085aa20d44121755751
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/NodeMapping.xtend
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/connect/dom/BindingMapping.xtend

index b180d86c32900ae0c558bc4e0f51366526738ef4..4c9a9e6658145c481c153e9747434ef65b395443 100644 (file)
@@ -50,14 +50,15 @@ public class NodeMapping {
     public static def toNodeRef(Node node) {
         checkArgument(MD_SAL_TYPE.equals(node.getType()));
         val nodeKey = node.ID.checkInstanceOf(NodeKey);
-        val nodePath = InstanceIdentifier.builder().node(Nodes).node(NODE_CLASS, nodeKey).toInstance();
+        val nodePath = InstanceIdentifier.builder().node(Nodes).child(NODE_CLASS, nodeKey).toInstance();
         return new NodeRef(nodePath);
     }
 
     public static def toNodeConnectorRef(NodeConnector nodeConnector) {
         val node = nodeConnector.node.toNodeRef();
+        val nodePath = node.getValue() as InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node>
         val connectorKey = nodeConnector.ID.checkInstanceOf(NodeConnectorKey);
-        val path = InstanceIdentifier.builder(node.getValue()).node(NODECONNECTOR_CLASS, connectorKey).toInstance();
+        val path = InstanceIdentifier.builder(nodePath).child(NODECONNECTOR_CLASS, connectorKey).toInstance();
         return new NodeConnectorRef(path);
     }
 
index 9a6330ea0f1ff999ff329bde76e2d8ca71f86c03..0a8a7df41ccd320d43083006e9d2bd3833443f88 100644 (file)
@@ -324,7 +324,10 @@ class BindingMapping {
         val keyType = type.keyTypeProperties;
         val args = new ArrayList();
         for (key : schema.keyDefinition) {
-            val keyProperty = keyType.get(BindingGeneratorUtil.parseToClassName(key.localName));
+            var keyProperty = keyType.get(BindingGeneratorUtil.parseToClassName(key.localName));
+            if (keyProperty == null) {
+                keyProperty = keyType.get(BindingGeneratorUtil.parseToValidParamName(key.localName));
+            }
             val domKeyValue = node.getFirstSimpleByName(key);
             val keyValue = domKeyValue.deserializeSimpleValue(loader, keyProperty.returnType,
                 schema.getDataChildByName(key));