Refactored parsing of uses and augment statements.
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / impl / AugmentationSchemaBuilderImpl.java
index 2cc67615c6d31a21fa311d0ffc94f9fbb7180db4..8dd0d15035aec5208619aa5872a6ded202f6adb8 100644 (file)
@@ -56,7 +56,7 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContain
 
     private final static SchemaPath path = new SchemaPath(Collections.<QName> emptyList(), true);
 
-    AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr) {
+    public AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr) {
         super(moduleName, line, null);
         this.augmentTargetStr = augmentTargetStr;
         final SchemaPath targetPath = ParserUtils.parseXPathString(augmentTargetStr);
@@ -79,6 +79,11 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContain
         throw new YangParseException(moduleName, line, "augment can not contains grouping statement");
     }
 
+    @Override
+    public Set<UsesNodeBuilder> getUsesNodes() {
+        return usesNodes;
+    }
+
     @Override
     public void addUsesNode(UsesNodeBuilder usesBuilder) {
         usesNodes.add(usesBuilder);
@@ -92,12 +97,6 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContain
     @Override
     public AugmentationSchema build() {
         if (!built) {
-            // process uses
-            for (UsesNodeBuilder use : usesNodes) {
-                addedChildNodes.addAll(use.getTargetChildren());
-                addedUnknownNodes.addAll(use.getTargetUnknownNodes());
-            }
-
             instance.setDescription(description);
             instance.setReference(reference);
             instance.setStatus(status);
@@ -166,16 +165,31 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContain
         throw new YangParseException(moduleName, line, "Augmentation can not contains typedef statement.");
     }
 
+    @Override
+    public String getDescription() {
+        return description;
+    }
+
     @Override
     public void setDescription(String description) {
         this.description = description;
     }
 
+    @Override
+    public String getReference() {
+        return reference;
+    }
+
     @Override
     public void setReference(String reference) {
         this.reference = reference;
     }
 
+    @Override
+    public Status getStatus() {
+        return status;
+    }
+
     @Override
     public void setStatus(Status status) {
         if (status != null) {