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%2FUsesNodeBuilderImpl.java;h=850938161bf4c25cc30fd5d7e7270d0056d9f596;hb=ff1b4a79cca00743a00c3b0b1100bd0ab2b2fb31;hp=0534f9def0d59c6699afb32d227910a85e20270f;hpb=9090a5876e0540b12d30e4cdf29f8be25208b489;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/UsesNodeBuilderImpl.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java index 0534f9def0..850938161b 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java @@ -15,7 +15,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.model.api.AugmentationSchema; import org.opendaylight.controller.yang.model.api.SchemaNode; import org.opendaylight.controller.yang.model.api.SchemaPath; @@ -25,24 +24,29 @@ import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder; import org.opendaylight.controller.yang.parser.util.RefineHolder; -final class UsesNodeBuilderImpl implements UsesNodeBuilder { - private boolean built; - private final UsesNodeImpl instance; +public final class UsesNodeBuilderImpl implements UsesNodeBuilder { + private boolean isBuilt; + private UsesNodeImpl instance; private final int line; - private final SchemaPath groupingPath; + private SchemaPath schemaPath; + private final String groupingName; + private SchemaPath groupingPath; + private boolean augmenting; private final Set addedAugments = new HashSet(); private List refineBuilders = new ArrayList(); private List refines = new ArrayList(); - UsesNodeBuilderImpl(final String groupingPathStr, final int line) { - this.groupingPath = parseUsesPath(groupingPathStr); + public UsesNodeBuilderImpl(final String groupingName, final int line) { + this.groupingName = groupingName; this.line = line; - instance = new UsesNodeImpl(groupingPath); } @Override public UsesNode build() { - if(!built) { + if (!isBuilt) { + instance = new UsesNodeImpl(groupingPath); + instance.setAugmenting(augmenting); + // AUGMENTATIONS final Set augments = new HashSet(); for (AugmentationSchemaBuilder builder : addedAugments) { @@ -58,7 +62,7 @@ final class UsesNodeBuilderImpl implements UsesNodeBuilder { } instance.setRefines(refineNodes); - built = true; + isBuilt = true; } return instance; } @@ -69,8 +73,28 @@ final class UsesNodeBuilderImpl implements UsesNodeBuilder { } @Override - public SchemaPath getGroupingPath() { - return groupingPath; + public void setGroupingPath(SchemaPath groupingPath) { + this.groupingPath = groupingPath; + } + + @Override + public SchemaPath getPath() { + return schemaPath; + } + + @Override + public void setPath(SchemaPath path) { + this.schemaPath = path; + } + + @Override + public String getGroupingName() { + return groupingName; + } + + @Override + public Set getAugmentations() { + return addedAugments; } @Override @@ -78,9 +102,19 @@ final class UsesNodeBuilderImpl implements UsesNodeBuilder { addedAugments.add(augmentBuilder); } + @Override + public boolean isAugmenting() { + return augmenting; + } + @Override public void setAugmenting(final boolean augmenting) { - instance.setAugmenting(augmenting); + this.augmenting = augmenting; + } + + @Override + public List getRefineNodes() { + return refineBuilders; } @Override @@ -98,23 +132,6 @@ final class UsesNodeBuilderImpl implements UsesNodeBuilder { refines.add(refine); } - private SchemaPath parseUsesPath(final String groupingPathStr) { - final String[] splittedPath = groupingPathStr.split("/"); - final List path = new ArrayList(); - QName name; - for (String pathElement : splittedPath) { - final String[] splittedElement = pathElement.split(":"); - if (splittedElement.length == 1) { - name = new QName(null, null, null, splittedElement[0]); - } else { - name = new QName(null, null, splittedElement[0], - splittedElement[1]); - } - path.add(name); - } - final boolean absolute = groupingPathStr.startsWith("/"); - return new SchemaPath(path, absolute); - } private final class UsesNodeImpl implements UsesNode { private final SchemaPath groupingPath;