X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FAugmentationSchemaBuilderImpl.java;h=cdb751f81bed1a703a60991d1fb16693bc4b2d11;hb=b64d31500de4d9bd81a060432c3db20feb2e7dfa;hp=b534ba4f6013bb91056e30e1294486ec5b3e5086;hpb=154b5dde1af41aff2ae0cc6e08400153162a4a3c;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java index b534ba4f60..cdb751f81b 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java @@ -27,21 +27,20 @@ import org.opendaylight.controller.yang.model.api.TypeDefinition; import org.opendaylight.controller.yang.model.api.UnknownSchemaNode; import org.opendaylight.controller.yang.model.api.UsesNode; import org.opendaylight.controller.yang.model.util.RevisionAwareXPathImpl; +import org.opendaylight.controller.yang.parser.builder.api.AbstractDataNodeContainerBuilder; import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder; -import org.opendaylight.controller.yang.parser.builder.api.Builder; import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder; import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder; import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder; import org.opendaylight.controller.yang.parser.util.Comparators; -import org.opendaylight.controller.yang.parser.util.YangModelBuilderUtil; +import org.opendaylight.controller.yang.parser.util.ParserListenerUtils; import org.opendaylight.controller.yang.parser.util.YangParseException; -public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBuilder { +public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContainerBuilder implements + AugmentationSchemaBuilder { private boolean built; private final AugmentationSchemaImpl instance; - private final int line; - private Builder parent; private String whenCondition; private String description; @@ -52,50 +51,17 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu private SchemaPath dirtyAugmentTarget; private SchemaPath finalAugmentTarget; - private final Set childNodes = new HashSet(); - private final Set groupings = new HashSet(); private final Set usesNodes = new HashSet(); - private final List addedUnknownNodes = new ArrayList(); private boolean resolved; - AugmentationSchemaBuilderImpl(final int line, final String augmentTargetStr) { + AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr) { + super(moduleName, line, null); this.augmentTargetStr = augmentTargetStr; - this.line = line; - final SchemaPath targetPath = YangModelBuilderUtil.parseAugmentPath(augmentTargetStr); + final SchemaPath targetPath = ParserListenerUtils.parseAugmentPath(augmentTargetStr); dirtyAugmentTarget = targetPath; instance = new AugmentationSchemaImpl(targetPath); } - @Override - public int getLine() { - return line; - } - - @Override - public Builder getParent() { - return parent; - } - - @Override - public void setParent(final Builder parent) { - this.parent = parent; - } - - @Override - public void addChildNode(DataSchemaNodeBuilder childNode) { - childNodes.add(childNode); - } - - @Override - public Set getChildNodes() { - return Collections.emptySet(); - } - - @Override - public Set getChildNodeBuilders() { - return childNodes; - } - @Override public Set getGroupings() { return Collections.emptySet(); @@ -103,12 +69,12 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu @Override public Set getGroupingBuilders() { - return groupings; + return Collections.emptySet(); } @Override public void addGrouping(GroupingBuilder grouping) { - groupings.add(grouping); + throw new YangParseException(moduleName, line, "augment can not contains grouping statement"); } @Override @@ -116,14 +82,6 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu usesNodes.add(usesBuilder); } - /** - * Always returns null. - */ - @Override - public QName getQName() { - return null; - } - /** * Always returns null. */ @@ -150,19 +108,11 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu // CHILD NODES final Map childs = new TreeMap(Comparators.QNAME_COMP); - for (DataSchemaNodeBuilder node : childNodes) { + for (DataSchemaNodeBuilder node : addedChildNodes) { childs.put(node.getQName(), node.build()); } instance.setChildNodes(childs); - // GROUPINGS - final Set groupingDefinitions = new TreeSet( - Comparators.SCHEMA_NODE_COMP); - for (GroupingBuilder builder : groupings) { - groupingDefinitions.add(builder.build()); - } - instance.setGroupings(groupingDefinitions); - // USES final Set usesNodeDefinitions = new HashSet(); for (UsesNodeBuilder builder : usesNodes) { @@ -208,7 +158,7 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu @Override public void addTypedef(TypeDefinitionBuilder type) { - throw new YangParseException(line, "Augmentation can not contains typedef statement."); + throw new YangParseException(moduleName, line, "Augmentation can not contains typedef statement."); } @Override @@ -243,15 +193,6 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu return augmentTargetStr; } - public List getUnknownNodes() { - return addedUnknownNodes; - } - - @Override - public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) { - addedUnknownNodes.add(unknownNode); - } - @Override public int hashCode() { final int prime = 17; @@ -306,7 +247,6 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu private SchemaPath targetPath; private RevisionAwareXPath whenCondition; private Map childNodes = Collections.emptyMap(); - private Set groupings = Collections.emptySet(); private Set uses = Collections.emptySet(); private String description; private String reference; @@ -348,15 +288,13 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu } } + /** + * Always returns an empty set, because augment can not contains + * grouping statement. + */ @Override public Set getGroupings() { - return groupings; - } - - private void setGroupings(Set groupings) { - if (groupings != null) { - this.groupings = groupings; - } + return Collections.emptySet(); } @Override @@ -371,8 +309,8 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu } /** - * Always returns an empty set, because augmentation can not contains - * type definitions. + * Always returns an empty set, because augment can not contains type + * definitions. */ @Override public Set> getTypeDefinitions() {