Moved parsing of unknown nodes from implementation to abstract classes.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / util / RefineUtils.java
index 8db4e8e6fd56e8656679926ff38433696740ee27..69c90caadf95178d15cfcb1d93008d485c010812 100644 (file)
@@ -30,6 +30,7 @@ import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.AnyXmlBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.ChoiceBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.ContainerSchemaNodeBuilder;
+import org.opendaylight.controller.yang.parser.builder.impl.GroupingBuilderImpl;
 import org.opendaylight.controller.yang.parser.builder.impl.LeafListSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.LeafSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.ListSchemaNodeBuilder;
@@ -66,21 +67,21 @@ public class RefineUtils {
         Builder result = null;
         final Builder lookedUpBuilder = findRefineTargetBuilder(targetGrouping, refine.getName());
         if (lookedUpBuilder instanceof LeafSchemaNodeBuilder) {
-            result = copyLeafBuilder((LeafSchemaNodeBuilder) lookedUpBuilder);
+            result = new LeafSchemaNodeBuilder((LeafSchemaNodeBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof ContainerSchemaNodeBuilder) {
-            result = copyContainerBuilder((ContainerSchemaNodeBuilder) lookedUpBuilder);
+            result = new ContainerSchemaNodeBuilder((ContainerSchemaNodeBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof ListSchemaNodeBuilder) {
-            result = copyListBuilder((ListSchemaNodeBuilder) lookedUpBuilder);
+            result = new ListSchemaNodeBuilder((ListSchemaNodeBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof LeafListSchemaNodeBuilder) {
-            result = copyLeafListBuilder((LeafListSchemaNodeBuilder) lookedUpBuilder);
+            result = new LeafListSchemaNodeBuilder((LeafListSchemaNodeBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof ChoiceBuilder) {
-            result = copyChoiceBuilder((ChoiceBuilder) lookedUpBuilder);
+            result = new ChoiceBuilder((ChoiceBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof AnyXmlBuilder) {
-            result = copyAnyXmlBuilder((AnyXmlBuilder) lookedUpBuilder);
+            result = new AnyXmlBuilder((AnyXmlBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof GroupingBuilder) {
-            result = copyGroupingBuilder((GroupingBuilder) lookedUpBuilder);
+            result = new GroupingBuilderImpl((GroupingBuilder) lookedUpBuilder);
         } else if (lookedUpBuilder instanceof TypeDefinitionBuilder) {
-            result = copyTypedefBuilder((TypeDefinitionBuilderImpl) lookedUpBuilder);
+            result = new TypeDefinitionBuilderImpl((TypeDefinitionBuilder) lookedUpBuilder);
         } else {
             throw new YangParseException(moduleName, refine.getLine(), "Target '" + refine.getName()
                     + "' can not be refined");
@@ -130,7 +131,7 @@ public class RefineUtils {
         String defaultStr = refine.getDefaultStr();
         Boolean mandatory = refine.isMandatory();
         MustDefinition must = refine.getMust();
-        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodes();
+        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodeBuilders();
 
         if (defaultStr != null && !("".equals(defaultStr))) {
             leaf.setDefaultStr(defaultStr);
@@ -143,7 +144,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                leaf.addUnknownSchemaNode(unknown);
+                leaf.addUnknownNodeBuilder(unknown);
             }
         }
     }
@@ -151,7 +152,7 @@ public class RefineUtils {
     public static void refineContainer(ContainerSchemaNodeBuilder container, RefineHolder refine, int line) {
         Boolean presence = refine.isPresence();
         MustDefinition must = refine.getMust();
-        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodes();
+        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodeBuilders();
 
         if (presence != null) {
             container.setPresence(presence);
@@ -161,7 +162,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                container.addUnknownSchemaNode(unknown);
+                container.addUnknownNodeBuilder(unknown);
             }
         }
     }
@@ -170,7 +171,7 @@ public class RefineUtils {
         MustDefinition must = refine.getMust();
         Integer min = refine.getMinElements();
         Integer max = refine.getMaxElements();
-        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodes();
+        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodeBuilders();
 
         if (must != null) {
             list.getConstraints().addMustDefinition(must);
@@ -183,7 +184,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                list.addUnknownSchemaNode(unknown);
+                list.addUnknownNodeBuilder(unknown);
             }
         }
     }
@@ -192,7 +193,7 @@ public class RefineUtils {
         MustDefinition must = refine.getMust();
         Integer min = refine.getMinElements();
         Integer max = refine.getMaxElements();
-        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodes();
+        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodeBuilders();
 
         if (must != null) {
             leafList.getConstraints().addMustDefinition(must);
@@ -205,7 +206,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                leafList.addUnknownSchemaNode(unknown);
+                leafList.addUnknownNodeBuilder(unknown);
             }
         }
     }
@@ -213,7 +214,7 @@ public class RefineUtils {
     public static void refineChoice(ChoiceBuilder choice, RefineHolder refine, int line) {
         String defaultStr = refine.getDefaultStr();
         Boolean mandatory = refine.isMandatory();
-        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodes();
+        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodeBuilders();
 
         if (defaultStr != null) {
             choice.setDefaultCase(defaultStr);
@@ -223,7 +224,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                choice.addUnknownSchemaNode(unknown);
+                choice.addUnknownNodeBuilder(unknown);
             }
         }
     }
@@ -231,7 +232,7 @@ public class RefineUtils {
     public static void refineAnyxml(AnyXmlBuilder anyXml, RefineHolder refine, int line) {
         Boolean mandatory = refine.isMandatory();
         MustDefinition must = refine.getMust();
-        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodes();
+        List<UnknownSchemaNodeBuilder> unknownNodes = refine.getUnknownNodeBuilders();
 
         if (mandatory != null) {
             anyXml.getConstraints().setMandatory(mandatory);
@@ -241,7 +242,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                anyXml.addUnknownSchemaNode(unknown);
+                anyXml.addUnknownNodeBuilder(unknown);
             }
         }
     }
@@ -368,10 +369,10 @@ public class RefineUtils {
             }
         }
 
-        Boolean config = refine.isConfig();
+        Boolean config = refine.isConfiguration();
         if (config != null) {
             try {
-                Method method = cls.getDeclaredMethod("setConfiguration", Boolean.TYPE);
+                Method method = cls.getDeclaredMethod("setConfiguration", Boolean.class);
                 method.invoke(node, config);
             } catch (Exception e) {
                 throw new YangParseException(line, "Cannot refine config in " + cls.getName(), e);