X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fyang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fdata%2Fimpl%2FCompositeNodeTOImpl.java;h=605b99c296ef0975998202740625cac4489b7e2b;hb=refs%2Fchanges%2F93%2F593%2F5;hp=f94163aa89245c690f5afa64015a51a75e6762c5;hpb=0406ea14a1a38fbb6ecec173ed42337d9f4ad62c;p=controller.git diff --git a/opendaylight/sal/yang-prototype/yang/yang-data-impl/src/main/java/org/opendaylight/controller/yang/data/impl/CompositeNodeTOImpl.java b/opendaylight/sal/yang-prototype/yang/yang-data-impl/src/main/java/org/opendaylight/controller/yang/data/impl/CompositeNodeTOImpl.java old mode 100755 new mode 100644 index f94163aa89..605b99c296 --- a/opendaylight/sal/yang-prototype/yang/yang-data-impl/src/main/java/org/opendaylight/controller/yang/data/impl/CompositeNodeTOImpl.java +++ b/opendaylight/sal/yang-prototype/yang/yang-data-impl/src/main/java/org/opendaylight/controller/yang/data/impl/CompositeNodeTOImpl.java @@ -13,6 +13,8 @@ import java.util.Map; import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.data.api.CompositeNode; +import org.opendaylight.controller.yang.data.api.ModifyAction; +import org.opendaylight.controller.yang.data.api.MutableCompositeNode; import org.opendaylight.controller.yang.data.api.Node; import org.opendaylight.controller.yang.data.api.SimpleNode; @@ -36,6 +38,19 @@ public class CompositeNodeTOImpl extends AbstractNodeTO>> if (value != null) { nodeMap = NodeUtils.buildNodeMap(getValue()); } + init(); + } + + /** + * @param qname + * @param parent use null to create top composite node (without parent) + * @param value + * @param modifyAction + */ + public CompositeNodeTOImpl(QName qname, CompositeNode parent, + List> value, ModifyAction modifyAction) { + super(qname, parent, value, modifyAction); + init(); } @@ -105,16 +120,34 @@ public class CompositeNodeTOImpl extends AbstractNodeTO>> @Override public List getCompositesByName(String children) { - return getCompositesByName(localQName(children)); + return getCompositesByName(new QName(getNodeType(), children)); } @Override public List> getSimpleNodesByName(String children) { - return getSimpleNodesByName(localQName(children)); + return getSimpleNodesByName(new QName(getNodeType(), children)); } - private QName localQName(String str) { - return new QName(getNodeType(), str); + /** + * @param value + */ + protected void init() { + if (getValue() != null) { + nodeMap = NodeUtils.buildNodeMap(getValue()); + } + } + + @Override + public MutableCompositeNode asMutable() { + throw new IllegalAccessError("cast to mutable is not supported - "+getClass().getSimpleName()); } + + @Override + public String toString() { + return super.toString() + ", children.size = " + + (getChildren() != null ? getChildren().size() : "n/a"); + } + + }