Fixed yang grouping resolution.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / impl / UsesNodeBuilderImpl.java
index 0534f9def0d59c6699afb32d227910a85e20270f..6943b661564302f337e2a525a51678f60c6819e2 100644 (file)
@@ -25,16 +25,19 @@ import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder;\r
 import org.opendaylight.controller.yang.parser.util.RefineHolder;\r
 \r
-final class UsesNodeBuilderImpl implements UsesNodeBuilder {\r
+public final class UsesNodeBuilderImpl implements UsesNodeBuilder {\r
     private boolean built;\r
     private final UsesNodeImpl instance;\r
     private final int line;\r
+    private final String groupingPathStr;\r
     private final SchemaPath groupingPath;\r
+    private boolean augmenting;\r
     private final Set<AugmentationSchemaBuilder> addedAugments = new HashSet<AugmentationSchemaBuilder>();\r
     private List<SchemaNodeBuilder> refineBuilders = new ArrayList<SchemaNodeBuilder>();\r
     private List<RefineHolder> refines = new ArrayList<RefineHolder>();\r
 \r
-    UsesNodeBuilderImpl(final String groupingPathStr, final int line) {\r
+    public UsesNodeBuilderImpl(final String groupingPathStr, final int line) {\r
+        this.groupingPathStr = groupingPathStr;\r
         this.groupingPath = parseUsesPath(groupingPathStr);\r
         this.line = line;\r
         instance = new UsesNodeImpl(groupingPath);\r
@@ -42,7 +45,9 @@ final class UsesNodeBuilderImpl implements UsesNodeBuilder {
 \r
     @Override\r
     public UsesNode build() {\r
-        if(!built) {\r
+        if (!built) {\r
+            instance.setAugmenting(augmenting);\r
+\r
             // AUGMENTATIONS\r
             final Set<AugmentationSchema> augments = new HashSet<AugmentationSchema>();\r
             for (AugmentationSchemaBuilder builder : addedAugments) {\r
@@ -68,19 +73,39 @@ final class UsesNodeBuilderImpl implements UsesNodeBuilder {
         return line;\r
     }\r
 \r
+    @Override\r
+    public String getGroupingPathString() {\r
+        return groupingPathStr;\r
+    }\r
+\r
     @Override\r
     public SchemaPath getGroupingPath() {\r
         return groupingPath;\r
     }\r
 \r
+    @Override\r
+    public Set<AugmentationSchemaBuilder> getAugmentations() {\r
+        return addedAugments;\r
+    }\r
+\r
     @Override\r
     public void addAugment(final AugmentationSchemaBuilder augmentBuilder) {\r
         addedAugments.add(augmentBuilder);\r
     }\r
 \r
+    @Override\r
+    public boolean isAugmenting() {\r
+        return augmenting;\r
+    }\r
+\r
     @Override\r
     public void setAugmenting(final boolean augmenting) {\r
-        instance.setAugmenting(augmenting);\r
+        this.augmenting = augmenting;\r
+    }\r
+\r
+    @Override\r
+    public List<SchemaNodeBuilder> getRefineNodes() {\r
+        return refineBuilders;\r
     }\r
 \r
     @Override\r