X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fdom%2Fserializer%2Fimpl%2FIntermediateMapping.xtend;h=04b8674727ced600871d3e9c44b05657c95d6658;hb=616a88111ea9603f0d6f93c7462e6dab39644fcf;hp=d0b114e3c37930727146fa6c3cb7a1e191a2ef61;hpb=d490a11b531a724b9f46ca931b2c98e9527dde7f;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/dom/serializer/impl/IntermediateMapping.xtend b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/dom/serializer/impl/IntermediateMapping.xtend index d0b114e3c3..04b8674727 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/dom/serializer/impl/IntermediateMapping.xtend +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/dom/serializer/impl/IntermediateMapping.xtend @@ -13,7 +13,10 @@ class IntermediateMapping { - static def Node toNode(Map map) { + static def Node toNode(Map map) { + if(map instanceof Node) { + return map as Node; + } val nodeMap = map as Map; Preconditions.checkArgument(map.size == 1); val elem = nodeMap.entrySet.iterator.next; @@ -22,10 +25,15 @@ class IntermediateMapping { toNodeImpl(qname, value); } + static def dispatch Node toNodeImpl(QName name, List objects) { val values = new ArrayList>(objects.size); for (obj : objects) { - values.add(toNode(obj as Map)); + if(obj instanceof Node) { + values.add(obj as Node); + } else if(obj instanceof Map) { + values.add(toNode(obj as Map)); + } } return new CompositeNodeTOImpl(name, null, values); }