Fixed relative/absolute yang files directory resolving.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / model / parser / util / ParserUtils.java
index e7775ce73470b0435d62520be78d8e412504b190..8237da69b0d6fa04f1ae5be237fa4442352f0b2f 100644 (file)
@@ -16,6 +16,7 @@ import org.opendaylight.controller.yang.model.api.MustDefinition;
 import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.model.parser.builder.api.AugmentationSchemaBuilder;
+import org.opendaylight.controller.yang.model.parser.builder.api.ChildNodeBuilder;
 import org.opendaylight.controller.yang.model.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.model.parser.builder.api.GroupingBuilder;
 import org.opendaylight.controller.yang.model.parser.builder.api.TypeDefinitionBuilder;
@@ -59,7 +60,9 @@ public final class ParserUtils {
 
     /**
      * Parse uses path.
-     * @param usesPath as String
+     *
+     * @param usesPath
+     *            as String
      * @return SchemaPath from given String
      */
     public static SchemaPath parseUsesPath(final String usesPath) {
@@ -82,10 +85,25 @@ public final class ParserUtils {
         return new SchemaPath(path, absolute);
     }
 
+    /**
+     * Add all augment's child nodes to given target.
+     *
+     * @param augment
+     * @param target
+     */
+    public static void fillAugmentTarget(
+            final AugmentationSchemaBuilder augment,
+            final ChildNodeBuilder target) {
+        for (DataSchemaNodeBuilder builder : augment.getChildNodes()) {
+            builder.setAugmenting(true);
+            target.addChildNode(builder);
+        }
+    }
+
     public static LeafSchemaNodeBuilder copyLeafBuilder(
             final LeafSchemaNodeBuilder old) {
         final LeafSchemaNodeBuilder copy = new LeafSchemaNodeBuilder(
-                old.getQName());
+                old.getQName(), old.getLine());
         final TypeDefinition<?> type = old.getType();
 
         if (type == null) {
@@ -111,7 +129,7 @@ public final class ParserUtils {
     public static ContainerSchemaNodeBuilder copyContainerBuilder(
             final ContainerSchemaNodeBuilder old) {
         final ContainerSchemaNodeBuilder copy = new ContainerSchemaNodeBuilder(
-                old.getQName());
+                old.getQName(), old.getLine());
         copy.setPath(old.getPath());
         copyConstraints(old, copy);
         for (UnknownSchemaNodeBuilder unknown : old.getUnknownNodes()) {
@@ -147,7 +165,7 @@ public final class ParserUtils {
     public static ListSchemaNodeBuilder copyListBuilder(
             final ListSchemaNodeBuilder old) {
         final ListSchemaNodeBuilder copy = new ListSchemaNodeBuilder(
-                old.getQName());
+                old.getQName(), old.getLine());
         copy.setPath(old.getPath());
         copyConstraints(old, copy);
         for (UnknownSchemaNodeBuilder unknown : old.getUnknownNodes()) {
@@ -183,7 +201,7 @@ public final class ParserUtils {
     public static LeafListSchemaNodeBuilder copyLeafListBuilder(
             final LeafListSchemaNodeBuilder old) {
         final LeafListSchemaNodeBuilder copy = new LeafListSchemaNodeBuilder(
-                old.getQName());
+                old.getQName(), old.getLine());
         copy.setPath(old.getPath());
         copyConstraints(old, copy);
         final TypeDefinition<?> type = old.getType();
@@ -208,7 +226,7 @@ public final class ParserUtils {
     }
 
     public static ChoiceBuilder copyChoiceBuilder(final ChoiceBuilder old) {
-        final ChoiceBuilder copy = new ChoiceBuilder(old.getQName());
+        final ChoiceBuilder copy = new ChoiceBuilder(old.getQName(), old.getLine());
         copy.setPath(old.getPath());
         copyConstraints(old, copy);
         for (ChoiceCaseBuilder caseBuilder : old.getCases()) {
@@ -236,7 +254,7 @@ public final class ParserUtils {
     }
 
     public static AnyXmlBuilder copyAnyXmlBuilder(final AnyXmlBuilder old) {
-        final AnyXmlBuilder copy = new AnyXmlBuilder(old.getQName());
+        final AnyXmlBuilder copy = new AnyXmlBuilder(old.getQName(), old.getLine());
         copy.setPath(old.getPath());
         copyConstraints(old, copy);
         for (UnknownSchemaNodeBuilder unknown : old.getUnknownNodes()) {