Moved parsing of unknown nodes from implementation to abstract classes. 92/592/1
authorMartin Vitez <mvitez@cisco.com>
Thu, 11 Jul 2013 12:05:33 +0000 (14:05 +0200)
committerMartin Vitez <mvitez@cisco.com>
Thu, 11 Jul 2013 12:05:33 +0000 (14:05 +0200)
Added more javadocs. Removed unnecessary ConfigNode interface.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
40 files changed:
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationSchemaBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/Builder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/ConfigNode.java [deleted file]
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataSchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingMember.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/SchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeAwareBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeDefinitionBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AnyXmlBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceCaseBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ConstraintsBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/GroupingBuilderImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafSchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ListSchemaNodeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnionTypeBuilder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserListenerUtils.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineHolder.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineUtils.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java

index 091bfc72337e8037a1d823f81f352990d00126ec..df85c5cbf09fe166630da10f8ae5f3347cabd055 100644 (file)
@@ -7,15 +7,22 @@
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.DataSchemaNode;
 import org.opendaylight.controller.yang.model.api.GroupingDefinition;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.DataSchemaNode;
 import org.opendaylight.controller.yang.model.api.GroupingDefinition;
+import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
+import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.util.YangParseException;
 
 import org.opendaylight.controller.yang.parser.util.YangParseException;
 
+/**
+ * Basic implementation of DataNodeContainerBuilder.
+ */
 public abstract class AbstractDataNodeContainerBuilder implements DataNodeContainerBuilder {
     protected final int line;
     protected final QName qname;
 public abstract class AbstractDataNodeContainerBuilder implements DataNodeContainerBuilder {
     protected final int line;
     protected final QName qname;
@@ -27,6 +34,9 @@ public abstract class AbstractDataNodeContainerBuilder implements DataNodeContai
     protected Set<GroupingDefinition> groupings;
     protected final Set<GroupingBuilder> addedGroupings = new HashSet<GroupingBuilder>();
 
     protected Set<GroupingDefinition> groupings;
     protected final Set<GroupingBuilder> addedGroupings = new HashSet<GroupingBuilder>();
 
+    protected List<UnknownSchemaNode> unknownNodes;
+    protected final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
+
     protected AbstractDataNodeContainerBuilder(final int line, final QName qname) {
         this.line = line;
         this.qname = qname;
     protected AbstractDataNodeContainerBuilder(final int line, final QName qname) {
         this.line = line;
         this.qname = qname;
@@ -115,4 +125,18 @@ public abstract class AbstractDataNodeContainerBuilder implements DataNodeContai
         addedGroupings.add(groupingBuilder);
     }
 
         addedGroupings.add(groupingBuilder);
     }
 
+    @Override
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
+        return addedUnknownNodes;
+    }
+
+    @Override
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {
+        addedUnknownNodes.add(unknownNode);
+    }
+
+    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
+        this.unknownNodes = unknownNodes;
+    }
+
 }
 }
index 8659cac1fa4d4c09853769cb3f08215880d3b75e..a786cd9ad754c954803937df3b8890d4afa47c05 100644 (file)
@@ -97,7 +97,12 @@ public abstract class AbstractSchemaNodeBuilder implements SchemaNodeBuilder {
     }\r
 \r
     @Override\r
     }\r
 \r
     @Override\r
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {\r
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {\r
+        return addedUnknownNodes;\r
+    }\r
+\r
+    @Override\r
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {\r
         addedUnknownNodes.add(unknownNode);\r
     }\r
 \r
         addedUnknownNodes.add(unknownNode);\r
     }\r
 \r
index caf71ecc7b28c892c1bd43a84b9849de4db080fb..3e8dc6c8b09f6c817c568e90f969789be1c99592 100644 (file)
@@ -7,8 +7,13 @@
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
+import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
+import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 
 /**
  * Basic implementation for TypeAwareBuilder builders.
 
 /**
  * Basic implementation for TypeAwareBuilder builders.
@@ -19,6 +24,8 @@ public abstract class AbstractTypeAwareBuilder implements TypeAwareBuilder {
     protected Builder parent;
     protected TypeDefinition<?> type;
     protected TypeDefinitionBuilder typedef;
     protected Builder parent;
     protected TypeDefinition<?> type;
     protected TypeDefinitionBuilder typedef;
+    protected List<UnknownSchemaNode> unknownNodes;
+    protected final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
 
     public AbstractTypeAwareBuilder(final int line, final QName qname) {
         this.line = line;
 
     public AbstractTypeAwareBuilder(final int line, final QName qname) {
         this.line = line;
@@ -67,4 +74,18 @@ public abstract class AbstractTypeAwareBuilder implements TypeAwareBuilder {
         this.type = null;
     }
 
         this.type = null;
     }
 
+    @Override
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
+        return addedUnknownNodes;
+    }
+
+    @Override
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {
+        addedUnknownNodes.add(unknownNode);
+    }
+
+    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
+        this.unknownNodes = unknownNodes;
+    }
+
 }
 }
index 76fe19f79413e180aa1b25d6bd1d0c71eb13fd61..98cdb67e3ee97b0d5afd8d45120f23a1def69acb 100644 (file)
@@ -16,8 +16,6 @@ import org.opendaylight.controller.yang.model.api.Status;
  */
 public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
 
  */
 public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
 
-    Builder getParent();
-
     String getWhenCondition();
 
     void addWhenCondition(String whenCondition);
     String getWhenCondition();
 
     void addWhenCondition(String whenCondition);
index 4500b130f16f085dda7d7af54d18d6163e915007..eb23eaba106e68888c754ea3ca87f5d121929d27 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
+import java.util.List;
+
 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 
 /**
 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 
 /**
@@ -36,6 +38,20 @@ public interface Builder {
      */
     void setParent(Builder parent);
 
      */
     void setParent(Builder parent);
 
+    /**
+     * Add unknown node to this builder.
+     *
+     * @param unknownNode
+     */
+    void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode);
+
+    /**
+     * Get builders of unknown nodes defined in this node.
+     *
+     * @return collection of UnknownSchemaNodeBuilder objects
+     */
+    List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders();
+
     /**
      * Build YANG data model node.
      *
     /**
      * Build YANG data model node.
      *
@@ -47,6 +63,4 @@ public interface Builder {
      */
     Object build();
 
      */
     Object build();
 
-    void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode);
-
 }
 }
diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/ConfigNode.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/ConfigNode.java
deleted file mode 100644 (file)
index 85f6b07..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.yang.parser.builder.api;
-
-/**
- * Interface for all nodes which can have 'config' statement.
- * [container, leaf, leaf-list, list, choice, anyxml, deviate]
- *
- */
-public interface ConfigNode {
-
-    Boolean isConfiguration();
-
-    void setConfiguration(Boolean config);
-
-}
index 4271776d63f4bca6dd11d5f1cff262abdfeebb55..7a5f80de9cd62546f3e72d8550a94bcecd0d8e40 100644 (file)
@@ -20,28 +20,90 @@ import org.opendaylight.controller.yang.model.api.SchemaPath;
  */
 public interface DataNodeContainerBuilder extends Builder {
 
  */
 public interface DataNodeContainerBuilder extends Builder {
 
+    /**
+     * Get qname of this node.
+     *
+     * @return QName of this node
+     */
     QName getQName();
 
     QName getQName();
 
+    /**
+     * Get schema path of this node.
+     *
+     * @return SchemaPath of this node
+     */
     SchemaPath getPath();
 
     SchemaPath getPath();
 
+    /**
+     * Get already built child nodes.
+     *
+     * @return collection of child nodes
+     */
     Set<DataSchemaNode> getChildNodes();
 
     Set<DataSchemaNode> getChildNodes();
 
+    /**
+     * Get builders of child nodes.
+     *
+     * @return collection child nodes builders
+     */
     Set<DataSchemaNodeBuilder> getChildNodeBuilders();
 
     Set<DataSchemaNodeBuilder> getChildNodeBuilders();
 
+    /**
+     * Get child node by name.
+     *
+     * @param name
+     *            name of child to seek
+     * @return child node with given name if present, null otherwise
+     */
     DataSchemaNodeBuilder getDataChildByName(String name);
 
     DataSchemaNodeBuilder getDataChildByName(String name);
 
+    /**
+     * Add builder of child node to this node.
+     *
+     * @param childNode
+     */
     void addChildNode(DataSchemaNodeBuilder childNode);
 
     void addChildNode(DataSchemaNodeBuilder childNode);
 
+    /**
+     * Get already built groupings defined in this node.
+     *
+     * @return collection of GroupingDefinition objects
+     */
     Set<GroupingDefinition> getGroupings();
 
     Set<GroupingDefinition> getGroupings();
 
+    /**
+     * Get builders of groupings defined in this node.
+     *
+     * @return collection of grouping builders
+     */
     Set<GroupingBuilder> getGroupingBuilders();
 
     Set<GroupingBuilder> getGroupingBuilders();
 
+    /**
+     * Add builder of grouping statement to this node.
+     *
+     * @param groupingBuilder
+     */
     void addGrouping(GroupingBuilder groupingBuilder);
 
     void addGrouping(GroupingBuilder groupingBuilder);
 
+    /**
+     * Add builder of uses statement to this node.
+     *
+     * @param usesBuilder
+     */
     void addUsesNode(UsesNodeBuilder usesBuilder);
 
     void addUsesNode(UsesNodeBuilder usesBuilder);
 
+    /**
+     * Get builders of typedef statement defined in this node.
+     *
+     * @return
+     */
     Set<TypeDefinitionBuilder> getTypeDefinitionBuilders();
 
     Set<TypeDefinitionBuilder> getTypeDefinitionBuilders();
 
+    /**
+     * Add typedef builder to this node.
+     *
+     * @param typedefBuilder
+     */
     void addTypedef(TypeDefinitionBuilder typedefBuilder);
 
 }
     void addTypedef(TypeDefinitionBuilder typedefBuilder);
 
 }
index bf96a82a14ea41f667a665d635c2b98804d3dfda..a21775068d53eb4252b151da9cc461be0d0c38c8 100644 (file)
@@ -16,12 +16,43 @@ import org.opendaylight.controller.yang.parser.builder.impl.ConstraintsBuilder;
  */
 public interface DataSchemaNodeBuilder extends SchemaNodeBuilder {
 
  */
 public interface DataSchemaNodeBuilder extends SchemaNodeBuilder {
 
+    /**
+     * Build DataSchemaNode object from this builder.
+     */
     DataSchemaNode build();
 
     DataSchemaNode build();
 
+    /**
+     *
+     * @return true, if this node is added by augmentation, false otherwise
+     */
     boolean isAugmenting();
 
     boolean isAugmenting();
 
+    /**
+     * Set if this node is added by augmentation.
+     *
+     * @param augmenting
+     */
     void setAugmenting(boolean augmenting);
 
     void setAugmenting(boolean augmenting);
 
+    /**
+     * Get value of config statement.
+     *
+     * @return value of config statement
+     */
+    Boolean isConfiguration();
+
+    /**
+     * Set config statement.
+     *
+     * @param config
+     */
+    void setConfiguration(Boolean config);
+
+    /**
+     * Get constraints of this builder.
+     *
+     * @return constraints of this builder
+     */
     ConstraintsBuilder getConstraints();
 
 }
     ConstraintsBuilder getConstraints();
 
 }
index 2806994c3da9c6c4c8e6bc31640d71b6e79fa697..74ee330c2eddc10322c6bf7b885c6b9bd89891fd 100644 (file)
@@ -7,23 +7,25 @@
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
  */
 package org.opendaylight.controller.yang.parser.builder.api;
 
-import java.util.List;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.model.api.GroupingDefinition;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.model.api.GroupingDefinition;
-import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 
 /**
  * Interface for builders of 'grouping' statement.
  */
 public interface GroupingBuilder extends DataNodeContainerBuilder, SchemaNodeBuilder, GroupingMember {
 
 
 /**
  * Interface for builders of 'grouping' statement.
  */
 public interface GroupingBuilder extends DataNodeContainerBuilder, SchemaNodeBuilder, GroupingMember {
 
+    /**
+     * Build GroupingDefinition object from this builder.
+     */
     GroupingDefinition build();
 
     GroupingDefinition build();
 
-    DataSchemaNodeBuilder getChildNode(String name);
-
-    List<UnknownSchemaNodeBuilder> getUnknownNodes();
-
+    /**
+     * Get uses statement defined in this builder
+     *
+     * @return collection of builders of uses statements
+     */
     Set<UsesNodeBuilder> getUses();
 
 }
     Set<UsesNodeBuilder> getUses();
 
 }
index bcdc07782e79147304055ed6410484a619738f20..c074f60a10d801ffb23e2009f7240c2d2410fbd6 100644 (file)
@@ -13,8 +13,17 @@ package org.opendaylight.controller.yang.parser.builder.api;
  */
 public interface GroupingMember extends Builder {
 
  */
 public interface GroupingMember extends Builder {
 
+    /**
+     *
+     * @return true, if this node is added by uses statement, false otherwise
+     */
     boolean isAddedByUses();
 
     boolean isAddedByUses();
 
+    /**
+     * Set if this node is added by uses.
+     *
+     * @param addedByUses
+     */
     void setAddedByUses(boolean addedByUses);
 
 }
     void setAddedByUses(boolean addedByUses);
 
 }
index 6e872b3d1f90bf4d99ed3b94f6c0c25c0e4b521a..13c96d3a22768bafcf2c12ae8d68ddfad6b52f66 100644 (file)
@@ -11,33 +11,78 @@ import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.SchemaNode;\r
 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
 import org.opendaylight.controller.yang.model.api.Status;\r
 import org.opendaylight.controller.yang.model.api.SchemaNode;\r
 import org.opendaylight.controller.yang.model.api.SchemaPath;\r
 import org.opendaylight.controller.yang.model.api.Status;\r
-import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;\r
 \r
 /**\r
  * Interface for all builders of SchemaNode nodes.\r
  */\r
 public interface SchemaNodeBuilder extends Builder {\r
 \r
 \r
 /**\r
  * Interface for all builders of SchemaNode nodes.\r
  */\r
 public interface SchemaNodeBuilder extends Builder {\r
 \r
+    /**\r
+     * Get qname of this node.\r
+     *\r
+     * @return QName of this node\r
+     */\r
     QName getQName();\r
 \r
     QName getQName();\r
 \r
+    /**\r
+     * Get schema path of this node.\r
+     *\r
+     * @return SchemaPath of this node\r
+     */\r
     SchemaPath getPath();\r
 \r
     SchemaPath getPath();\r
 \r
+    /**\r
+     * Set schema path to this node.\r
+     *\r
+     * @param schemaPath\r
+     */\r
     void setPath(SchemaPath schemaPath);\r
 \r
     void setPath(SchemaPath schemaPath);\r
 \r
+    /**\r
+     * Get description of this node.\r
+     *\r
+     * @return description statement\r
+     */\r
     String getDescription();\r
 \r
     String getDescription();\r
 \r
+    /**\r
+     * Set description to this node.\r
+     *\r
+     * @param description\r
+     */\r
     void setDescription(String description);\r
 \r
     void setDescription(String description);\r
 \r
+    /**\r
+     * Get reference of this node.\r
+     *\r
+     * @return reference statement\r
+     */\r
     String getReference();\r
 \r
     String getReference();\r
 \r
+    /**\r
+     * Set reference to this node.\r
+     *\r
+     * @param reference\r
+     */\r
     void setReference(String reference);\r
 \r
     void setReference(String reference);\r
 \r
+    /**\r
+     * Get status of this node.\r
+     *\r
+     * @return status statement\r
+     */\r
     Status getStatus();\r
 \r
     Status getStatus();\r
 \r
+    /**\r
+     * Set status to this node.\r
+     *\r
+     * @param status\r
+     */\r
     void setStatus(Status status);\r
 \r
     void setStatus(Status status);\r
 \r
-    void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode);\r
-\r
+    /**\r
+     * Build SchemaNode object from this builder.\r
+     */\r
     SchemaNode build();\r
 \r
 }\r
     SchemaNode build();\r
 \r
 }\r
index ad92b22f54e17ed26ee8a79d57b2611f88d26515..8b2e669f98753f02d4212d48797440e6ffc57856 100644 (file)
@@ -12,21 +12,54 @@ import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 
 /**
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 
 /**
- * Builders of all nodes, which can have 'type' statement must implement this interface.
- * [typedef, type, leaf, leaf-list, deviate]
+ * Builders of all nodes, which can have 'type' statement must implement this
+ * interface. [typedef, type, leaf, leaf-list, deviate]
  */
 public interface TypeAwareBuilder extends Builder {
 
  */
 public interface TypeAwareBuilder extends Builder {
 
+    /**
+     * Get qname of this node.
+     *
+     * @return QName of this node
+     */
     QName getQName();
 
     QName getQName();
 
+    /**
+     * Get schema path of this node.
+     *
+     * @return SchemaPath of this node
+     */
     SchemaPath getPath();
 
     SchemaPath getPath();
 
+    /**
+     * Get resolved type of this node.
+     *
+     * @return type of this node if it is already resolved, null otherwise
+     */
     TypeDefinition<?> getType();
 
     TypeDefinition<?> getType();
 
+    /**
+     * Get builder of type of this node.
+     *
+     * @return builder of type of this node or null of this builder has already
+     *         resolved type
+     */
     TypeDefinitionBuilder getTypedef();
 
     TypeDefinitionBuilder getTypedef();
 
+    /**
+     * Set resolved type to this node.
+     *
+     * @param type
+     *            type to set
+     */
     void setType(TypeDefinition<?> type);
 
     void setType(TypeDefinition<?> type);
 
+    /**
+     * Set builder of type to this node.
+     *
+     * @param typedef
+     *            builder of type to set
+     */
     void setTypedef(TypeDefinitionBuilder typedef);
 
 }
     void setTypedef(TypeDefinitionBuilder typedef);
 
 }
index 289dcfe9881ab0950a210914bd0b730245245da4..87c7b3c836e564c0b6bde2e46276010e1ba21942 100644 (file)
@@ -14,7 +14,6 @@ import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.model.api.type.LengthConstraint;\r
 import org.opendaylight.controller.yang.model.api.type.PatternConstraint;\r
 import org.opendaylight.controller.yang.model.api.type.RangeConstraint;\r
 import org.opendaylight.controller.yang.model.api.type.LengthConstraint;\r
 import org.opendaylight.controller.yang.model.api.type.PatternConstraint;\r
 import org.opendaylight.controller.yang.model.api.type.RangeConstraint;\r
-import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;\r
 \r
 /**\r
  * Interface for builders of 'typedef' statement.\r
 \r
 /**\r
  * Interface for builders of 'typedef' statement.\r
@@ -41,8 +40,6 @@ public interface TypeDefinitionBuilder extends TypeAwareBuilder, SchemaNodeBuild
 \r
     List<UnknownSchemaNode> getUnknownNodes();\r
 \r
 \r
     List<UnknownSchemaNode> getUnknownNodes();\r
 \r
-    List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders();\r
-\r
     Object getDefaultValue();\r
 \r
     void setDefaultValue(Object defaultValue);\r
     Object getDefaultValue();\r
 \r
     void setDefaultValue(Object defaultValue);\r
index a2dacc24a401491717cf64bee9ad303140ab5aa7..42f714b8fcc33d741e8ea508f138f2479da3c17f 100644 (file)
@@ -18,13 +18,11 @@ import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.Status;
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractSchemaNodeBuilder;
 import org.opendaylight.controller.yang.model.api.Status;
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractSchemaNodeBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
-public final class AnyXmlBuilder extends AbstractSchemaNodeBuilder implements DataSchemaNodeBuilder, GroupingMember,
-        ConfigNode {
+public final class AnyXmlBuilder extends AbstractSchemaNodeBuilder implements DataSchemaNodeBuilder, GroupingMember {
     private boolean built;
     private final AnyXmlSchemaNodeImpl instance;
     private final ConstraintsBuilder constraints;
     private boolean built;
     private final AnyXmlSchemaNodeImpl instance;
     private final ConstraintsBuilder constraints;
index 7fcee2ef52aff579ce707673d31c8c34171482bc..6d8b78919bb7d9689d98bc5ecb04e8658e4b1bf6 100644 (file)
@@ -52,7 +52,6 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContain
     private SchemaPath finalAugmentTarget;
 
     private final Set<UsesNodeBuilder> usesNodes = new HashSet<UsesNodeBuilder>();
     private SchemaPath finalAugmentTarget;
 
     private final Set<UsesNodeBuilder> usesNodes = new HashSet<UsesNodeBuilder>();
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     private boolean resolved;
 
     AugmentationSchemaBuilderImpl(final int line, final String augmentTargetStr) {
     private boolean resolved;
 
     AugmentationSchemaBuilderImpl(final int line, final String augmentTargetStr) {
@@ -194,15 +193,6 @@ public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContain
         return augmentTargetStr;
     }
 
         return augmentTargetStr;
     }
 
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
-        return addedUnknownNodes;
-    }
-
-    @Override
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
     @Override
     public int hashCode() {
         final int prime = 17;
     @Override
     public int hashCode() {
         final int prime = 17;
index 7ed47bf4239e7558eaf0e258713f36e5e74939d1..0fcfd339a583f95eb9fa7570404f3651922e0f58 100644 (file)
@@ -25,14 +25,13 @@ import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 import org.opendaylight.controller.yang.parser.util.ParserUtils;
 
 public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements DataSchemaNodeBuilder,
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 import org.opendaylight.controller.yang.parser.util.ParserUtils;
 
 public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements DataSchemaNodeBuilder,
-        AugmentationTargetBuilder, GroupingMember, ConfigNode {
+        AugmentationTargetBuilder, GroupingMember {
     private boolean isBuilt;
     private final ChoiceNodeImpl instance;
     // DataSchemaNode args
     private boolean isBuilt;
     private final ChoiceNodeImpl instance;
     // DataSchemaNode args
@@ -130,7 +129,7 @@ public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements Da
     public void addChildNode(DataSchemaNodeBuilder childNode) {
         if (!(childNode instanceof ChoiceCaseBuilder)) {
             ChoiceCaseBuilder caseBuilder = new ChoiceCaseBuilder(childNode.getLine(), childNode.getQName());
     public void addChildNode(DataSchemaNodeBuilder childNode) {
         if (!(childNode instanceof ChoiceCaseBuilder)) {
             ChoiceCaseBuilder caseBuilder = new ChoiceCaseBuilder(childNode.getLine(), childNode.getQName());
-            if(childNode.isAugmenting()) {
+            if (childNode.isAugmenting()) {
                 caseBuilder.setAugmenting(true);
                 childNode.setAugmenting(false);
             }
                 caseBuilder.setAugmenting(true);
                 childNode.setAugmenting(false);
             }
index e6c81ab7aa5399b21ac92040ffaa46b69f47b4cb..46821b2e10cfc0bf3301144092665e6600f0b445 100644 (file)
@@ -37,7 +37,6 @@ public final class ChoiceCaseBuilder extends AbstractDataNodeContainerBuilder im
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     // DataSchemaNode args
     private boolean augmenting;
     private final ConstraintsBuilder constraints;
     // DataSchemaNode args
     private boolean augmenting;
     private final ConstraintsBuilder constraints;
@@ -150,15 +149,6 @@ public final class ChoiceCaseBuilder extends AbstractDataNodeContainerBuilder im
         this.augmenting = augmenting;
     }
 
         this.augmenting = augmenting;
     }
 
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
-        return addedUnknownNodes;
-    }
-
-    @Override
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
     public Set<UsesNodeBuilder> getUsesNodes() {
         return addedUsesNodes;
     }
     public Set<UsesNodeBuilder> getUsesNodes() {
         return addedUsesNodes;
     }
@@ -178,6 +168,16 @@ public final class ChoiceCaseBuilder extends AbstractDataNodeContainerBuilder im
         throw new YangParseException(line, "Can not add type definition to choice case.");
     }
 
         throw new YangParseException(line, "Can not add type definition to choice case.");
     }
 
+    @Override
+    public Boolean isConfiguration() {
+        return false;
+    }
+
+    @Override
+    public void setConfiguration(final Boolean configuration) {
+        throw new YangParseException(line, "Can not add config statement to choice case.");
+    }
+
     @Override
     public ConstraintsBuilder getConstraints() {
         return constraints;
     @Override
     public ConstraintsBuilder getConstraints() {
         return constraints;
index 1351f56b4c97f8f5dd68cb9538032ebf2da5e246..5ec825b382072ac642c32a466a040b5ac8ae4030 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.controller.yang.parser.builder.impl;
 
 import java.util.Collections;
 import java.util.HashSet;
 
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.model.api.ConstraintDefinition;
 import java.util.Set;
 
 import org.opendaylight.controller.yang.model.api.ConstraintDefinition;
@@ -66,10 +67,15 @@ public final class ConstraintsBuilder implements Builder {
     }
 
     @Override
     }
 
     @Override
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {
         throw new YangParseException(line, "Can not add unknown node to constraints.");
     }
 
         throw new YangParseException(line, "Can not add unknown node to constraints.");
     }
 
+    @Override
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
+        return Collections.emptyList();
+    }
+
     public Integer getMinElements() {
         return min;
     }
     public Integer getMinElements() {
         return min;
     }
index 545abead89c473e9a27c4d79600a3536a68048c9..c85c12fcd5f6bcbdd6c593749c9c226bc4c3050c 100644 (file)
@@ -30,7 +30,6 @@ import org.opendaylight.controller.yang.model.api.UsesNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractDataNodeContainerBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractDataNodeContainerBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
@@ -39,7 +38,7 @@ import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class ContainerSchemaNodeBuilder extends AbstractDataNodeContainerBuilder implements
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class ContainerSchemaNodeBuilder extends AbstractDataNodeContainerBuilder implements
-        AugmentationTargetBuilder, DataSchemaNodeBuilder, GroupingMember, ConfigNode {
+        AugmentationTargetBuilder, DataSchemaNodeBuilder, GroupingMember {
     private boolean isBuilt;
     private final ContainerSchemaNodeImpl instance;
 
     private boolean isBuilt;
     private final ContainerSchemaNodeImpl instance;
 
@@ -48,8 +47,6 @@ public final class ContainerSchemaNodeBuilder extends AbstractDataNodeContainerB
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
-    private List<UnknownSchemaNode> unknownNodes;
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
@@ -96,7 +93,7 @@ public final class ContainerSchemaNodeBuilder extends AbstractDataNodeContainerB
         augmentations = b.augmentations;
         addedAugmentations.addAll(b.getAugmentations());
         unknownNodes = b.unknownNodes;
         augmentations = b.augmentations;
         addedAugmentations.addAll(b.getAugmentations());
         unknownNodes = b.unknownNodes;
-        addedUnknownNodes.addAll(b.getUnknownNodes());
+        addedUnknownNodes.addAll(b.getUnknownNodeBuilders());
     }
 
     @Override
     }
 
     @Override
@@ -314,19 +311,6 @@ public final class ContainerSchemaNodeBuilder extends AbstractDataNodeContainerB
         this.presence = presence;
     }
 
         this.presence = presence;
     }
 
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
-        return addedUnknownNodes;
-    }
-
-    @Override
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
-    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
-        this.unknownNodes = unknownNodes;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;
     @Override
     public int hashCode() {
         final int prime = 31;
index afc0e3b4fd2701b530ab541a6b1f5133b9de4296..42347cbba364b35f1129fe8bfa6e52eac1404864 100644 (file)
@@ -22,6 +22,7 @@ import org.opendaylight.controller.yang.parser.util.YangParseException;
 
 public final class DeviationBuilder implements Builder {
     private final int line;
 
 public final class DeviationBuilder implements Builder {
     private final int line;
+    private final String targetPathStr;
     private Builder parent;
     private boolean isBuilt;
     private final DeviationImpl instance;
     private Builder parent;
     private boolean isBuilt;
     private final DeviationImpl instance;
@@ -35,6 +36,7 @@ public final class DeviationBuilder implements Builder {
             throw new YangParseException(line, "Deviation argument string must be an absolute schema node identifier.");
         }
         this.line = line;
             throw new YangParseException(line, "Deviation argument string must be an absolute schema node identifier.");
         }
         this.line = line;
+        this.targetPathStr = targetPathStr;
         this.targetPath = ParserListenerUtils.parseAugmentPath(targetPathStr);
         instance = new DeviationImpl();
     }
         this.targetPath = ParserListenerUtils.parseAugmentPath(targetPathStr);
         instance = new DeviationImpl();
     }
@@ -79,7 +81,12 @@ public final class DeviationBuilder implements Builder {
     }
 
     @Override
     }
 
     @Override
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
+        return addedUnknownNodes;
+    }
+
+    @Override
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {
         addedUnknownNodes.add(unknownNode);
     }
 
         addedUnknownNodes.add(unknownNode);
     }
 
@@ -110,6 +117,11 @@ public final class DeviationBuilder implements Builder {
         this.reference = reference;
     }
 
         this.reference = reference;
     }
 
+    @Override
+    public String toString() {
+        return "deviation " + targetPathStr;
+    }
+
     private final class DeviationImpl implements Deviation {
         private SchemaPath targetPath;
         private Deviate deviate;
     private final class DeviationImpl implements Deviation {
         private SchemaPath targetPath;
         private Deviate deviate;
index 764d2bf8dba0b445bdb95978d562653b68a0584e..fbd55ab7d9fda8249b963b654be0bf03bab6aa84 100644 (file)
@@ -60,6 +60,11 @@ public final class ExtensionBuilder extends AbstractSchemaNodeBuilder {
         instance.setArgument(argument);
     }
 
         instance.setArgument(argument);
     }
 
+    @Override
+    public String toString() {
+        return "extension " + qname.getLocalName();
+    }
+
     private final class ExtensionDefinitionImpl implements ExtensionDefinition {
         private final QName qname;
         private String argument;
     private final class ExtensionDefinitionImpl implements ExtensionDefinition {
         private final QName qname;
         private String argument;
index 4d5ce9703f052d36dbd80b36de91774ac539d538..53129f100b8622515d759728cd278ef7801d397a 100644 (file)
@@ -51,6 +51,11 @@ public final class FeatureBuilder extends AbstractSchemaNodeBuilder {
         return instance;
     }
 
         return instance;
     }
 
+    @Override
+    public String toString() {
+        return "feature " + qname.getLocalName();
+    }
+
     private final class FeatureDefinitionImpl implements FeatureDefinition {
         private final QName qname;
         private SchemaPath path;
     private final class FeatureDefinitionImpl implements FeatureDefinition {
         private final QName qname;
         private SchemaPath path;
index 0099b4f54b0d8b44a882d496039f04436190b424..20503488ce9802e019c99bd8e46f82e929d7f695 100644 (file)
@@ -79,7 +79,7 @@ public final class GroupingBuilderImpl implements GroupingBuilder {
         groupings = builder.getGroupings();
         addedGroupings.addAll(builder.getGroupingBuilders());
         addedUsesNodes.addAll(builder.getUses());
         groupings = builder.getGroupings();
         addedGroupings.addAll(builder.getGroupingBuilders());
         addedUsesNodes.addAll(builder.getUses());
-        addedUnknownNodes.addAll(builder.getUnknownNodes());
+        addedUnknownNodes.addAll(builder.getUnknownNodeBuilders());
     }
 
     @Override
     }
 
     @Override
@@ -231,18 +231,6 @@ public final class GroupingBuilderImpl implements GroupingBuilder {
         this.addedByUses = addedByUses;
     }
 
         this.addedByUses = addedByUses;
     }
 
-    @Override
-    public DataSchemaNodeBuilder getChildNode(String name) {
-        DataSchemaNodeBuilder result = null;
-        for (DataSchemaNodeBuilder node : addedChildNodes) {
-            if (node.getQName().getLocalName().equals(name)) {
-                result = node;
-                break;
-            }
-        }
-        return result;
-    }
-
     @Override
     public Set<DataSchemaNode> getChildNodes() {
         return childNodes;
     @Override
     public Set<DataSchemaNode> getChildNodes() {
         return childNodes;
@@ -306,12 +294,12 @@ public final class GroupingBuilderImpl implements GroupingBuilder {
     }
 
     @Override
     }
 
     @Override
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
         return addedUnknownNodes;
     }
 
     @Override
         return addedUnknownNodes;
     }
 
     @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
+    public void addUnknownNodeBuilder(final UnknownSchemaNodeBuilder unknownNode) {
         addedUnknownNodes.add(unknownNode);
     }
 
         addedUnknownNodes.add(unknownNode);
     }
 
@@ -319,6 +307,11 @@ public final class GroupingBuilderImpl implements GroupingBuilder {
         this.unknownNodes = unknownNodes;
     }
 
         this.unknownNodes = unknownNodes;
     }
 
+    @Override
+    public String toString() {
+        return "grouping " + qname.getLocalName();
+    }
+
     private final class GroupingDefinitionImpl implements GroupingDefinition {
         private final QName qname;
         private SchemaPath path;
     private final class GroupingDefinitionImpl implements GroupingDefinition {
         private final QName qname;
         private SchemaPath path;
index 96b4bd4dd89826176af584cce712f47504a9b8ee..61ad3a74dd264459761537e308acf8c7ebed89e4 100644 (file)
@@ -79,6 +79,11 @@ public final class IdentitySchemaNodeBuilder extends AbstractSchemaNodeBuilder {
         this.baseIdentity = baseType;
     }
 
         this.baseIdentity = baseType;
     }
 
+    @Override
+    public String toString() {
+        return "identity " + qname.getLocalName();
+    }
+
     private final class IdentitySchemaNodeImpl implements IdentitySchemaNode {
         private final QName qname;
         private IdentitySchemaNode baseIdentity;
     private final class IdentitySchemaNodeImpl implements IdentitySchemaNode {
         private final QName qname;
         private IdentitySchemaNode baseIdentity;
index 3b505966f6859fbf0d455e94ad4a2a5030296fde..43922fa71e80e1080c8f1356bda8dc450e26d781 100644 (file)
@@ -111,7 +111,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple
     }
 
     @Override
     }
 
     @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
+    public void addUnknownNodeBuilder(final UnknownSchemaNodeBuilder unknownNode) {
         throw new YangParseException(line, "Can not add unknown node to " + NAME);
     }
 
         throw new YangParseException(line, "Can not add unknown node to " + NAME);
     }
 
index 555a326c92775a0481aed2e592ae6ca75195c154..dcbe1dd432a7a1576af19899d60004268cac1f12 100644 (file)
@@ -19,13 +19,12 @@ import org.opendaylight.controller.yang.model.api.Status;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuilder;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder,
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder,
-        GroupingMember, ConfigNode {
+        GroupingMember {
     private boolean isBuilt;
     private final LeafListSchemaNodeImpl instance;
     // SchemaNode args
     private boolean isBuilt;
     private final LeafListSchemaNodeImpl instance;
     // SchemaNode args
@@ -33,8 +32,6 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
-    private List<UnknownSchemaNode> unknownNodes;
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
@@ -67,7 +64,7 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im
         configuration = b.isConfiguration();
         userOrdered = b.isUserOrdered();
         unknownNodes = b.unknownNodes;
         configuration = b.isConfiguration();
         userOrdered = b.isUserOrdered();
         unknownNodes = b.unknownNodes;
-        addedUnknownNodes.addAll(b.getUnknownNodes());
+        addedUnknownNodes.addAll(b.getUnknownNodeBuilders());
     }
 
     @Override
     }
 
     @Override
@@ -183,19 +180,6 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im
         this.userOrdered = userOrdered;
     }
 
         this.userOrdered = userOrdered;
     }
 
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
-        return addedUnknownNodes;
-    }
-
-    @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
-    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
-        this.unknownNodes = unknownNodes;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;
     @Override
     public int hashCode() {
         final int prime = 31;
index 071447b9c93f0f58ea7d8a8eb20969d4cbddb505..2ab6407f256a59cec2e9314f0b3f4f3228532cb9 100644 (file)
@@ -19,13 +19,12 @@ import org.opendaylight.controller.yang.model.api.Status;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuilder;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder,
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder,
-        GroupingMember, ConfigNode {
+        GroupingMember {
     private boolean isBuilt;
     private final LeafSchemaNodeImpl instance;
     // SchemaNode args
     private boolean isBuilt;
     private final LeafSchemaNodeImpl instance;
     // SchemaNode args
@@ -33,8 +32,6 @@ public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implem
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
-    private List<UnknownSchemaNode> unknownNodes;
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
@@ -67,7 +64,7 @@ public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implem
         addedByUses = b.isAddedByUses();
         configuration = b.isConfiguration();
         unknownNodes = b.unknownNodes;
         addedByUses = b.isAddedByUses();
         configuration = b.isConfiguration();
         unknownNodes = b.unknownNodes;
-        addedUnknownNodes.addAll(b.getUnknownNodes());
+        addedUnknownNodes.addAll(b.getUnknownNodeBuilders());
 
         defaultStr = b.getDefaultStr();
         unitsStr = b.getUnits();
 
         defaultStr = b.getDefaultStr();
         unitsStr = b.getUnits();
@@ -123,19 +120,6 @@ public final class LeafSchemaNodeBuilder extends AbstractTypeAwareBuilder implem
         return constraints;
     }
 
         return constraints;
     }
 
-    @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
-        return addedUnknownNodes;
-    }
-
-    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
-        this.unknownNodes = unknownNodes;
-    }
-
     public String getDescription() {
         return description;
     }
     public String getDescription() {
         return description;
     }
index a99e6a7406e45bfbe6d7ded27f33c3a2ab2912f9..9fc297e2ba1ce4367034ee13acd0973c5c618d11 100644 (file)
@@ -30,7 +30,6 @@ import org.opendaylight.controller.yang.model.api.UsesNode;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractDataNodeContainerBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractDataNodeContainerBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationSchemaBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
 import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.GroupingMember;
@@ -39,7 +38,7 @@ import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder;
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilder implements DataSchemaNodeBuilder,
 import org.opendaylight.controller.yang.parser.util.Comparators;
 
 public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilder implements DataSchemaNodeBuilder,
-        AugmentationTargetBuilder, GroupingMember, ConfigNode {
+        AugmentationTargetBuilder, GroupingMember {
     private boolean isBuilt;
     private final ListSchemaNodeImpl instance;
     // SchemaNode args
     private boolean isBuilt;
     private final ListSchemaNodeImpl instance;
     // SchemaNode args
@@ -47,8 +46,6 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
     private String description;
     private String reference;
     private Status status = Status.CURRENT;
-    private List<UnknownSchemaNode> unknownNodes;
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
     // DataSchemaNode args
     private boolean augmenting;
     private boolean addedByUses;
@@ -97,7 +94,7 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
         augmentations = b.augmentations;
         addedAugmentations.addAll(b.getAugmentations());
         unknownNodes = b.unknownNodes;
         augmentations = b.augmentations;
         addedAugmentations.addAll(b.getAugmentations());
         unknownNodes = b.unknownNodes;
-        addedUnknownNodes.addAll(b.getUnknownNodes());
+        addedUnknownNodes.addAll(b.getUnknownNodeBuilders());
     }
 
     @Override
     }
 
     @Override
@@ -315,19 +312,6 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
         this.userOrdered = userOrdered;
     }
 
         this.userOrdered = userOrdered;
     }
 
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
-        return addedUnknownNodes;
-    }
-
-    @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
-    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
-        this.unknownNodes = unknownNodes;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;
     @Override
     public int hashCode() {
         final int prime = 31;
index 47f1fbc2f16dee262e7117b7f0d6f7da1dbf77b8..a3409c5b77c0e64616437ac532512db7f1af6133 100644 (file)
@@ -79,7 +79,6 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder {
     private final Set<DeviationBuilder> addedDeviations = new HashSet<DeviationBuilder>();
     private final Set<TypeDefinitionBuilder> addedTypedefs = new HashSet<TypeDefinitionBuilder>();
     private final List<ExtensionBuilder> addedExtensions = new ArrayList<ExtensionBuilder>();
     private final Set<DeviationBuilder> addedDeviations = new HashSet<DeviationBuilder>();
     private final Set<TypeDefinitionBuilder> addedTypedefs = new HashSet<TypeDefinitionBuilder>();
     private final List<ExtensionBuilder> addedExtensions = new ArrayList<ExtensionBuilder>();
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     private final List<UnknownSchemaNodeBuilder> allUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
 
     public ModuleBuilder(final String name) {
     private final List<UnknownSchemaNodeBuilder> allUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
 
     public ModuleBuilder(final String name) {
@@ -709,7 +708,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder {
     }
 
     @Override
     }
 
     @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder builder) {
+    public void addUnknownNodeBuilder(final UnknownSchemaNodeBuilder builder) {
         addedUnknownNodes.add(builder);
         allUnknownNodes.add(builder);
     }
         addedUnknownNodes.add(builder);
         allUnknownNodes.add(builder);
     }
@@ -724,11 +723,11 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder {
             addedUnknownNodes.add(builder);
         } else {
             if (parent instanceof SchemaNodeBuilder) {
             addedUnknownNodes.add(builder);
         } else {
             if (parent instanceof SchemaNodeBuilder) {
-                ((SchemaNodeBuilder) parent).addUnknownSchemaNode(builder);
+                ((SchemaNodeBuilder) parent).addUnknownNodeBuilder(builder);
             } else if (parent instanceof DataNodeContainerBuilder) {
             } else if (parent instanceof DataNodeContainerBuilder) {
-                ((DataNodeContainerBuilder) parent).addUnknownSchemaNode(builder);
+                ((DataNodeContainerBuilder) parent).addUnknownNodeBuilder(builder);
             } else if (parent instanceof RefineHolder) {
             } else if (parent instanceof RefineHolder) {
-                ((RefineHolder) parent).addUnknownSchemaNode(builder);
+                ((RefineHolder) parent).addUnknownNodeBuilder(builder);
             } else {
                 throw new YangParseException(name, line, "Unresolved parent of unknown node '" + qname.getLocalName()
                         + "'");
             } else {
                 throw new YangParseException(name, line, "Unresolved parent of unknown node '" + qname.getLocalName()
                         + "'");
index 1c4962835d399993f0273f6f51b63b0c2b48a02f..14b701fe9eb9dd412a76665bdad0d471e45df1db 100644 (file)
@@ -48,7 +48,6 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder
     private final Set<UsesNodeBuilder> addedUsesNodes = new HashSet<UsesNodeBuilder>();
     private Set<AugmentationSchema> augmentations;
     private final Set<AugmentationSchemaBuilder> addedAugmentations = new HashSet<AugmentationSchemaBuilder>();
     private final Set<UsesNodeBuilder> addedUsesNodes = new HashSet<UsesNodeBuilder>();
     private Set<AugmentationSchema> augmentations;
     private final Set<AugmentationSchemaBuilder> addedAugmentations = new HashSet<AugmentationSchemaBuilder>();
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
 
     NotificationBuilder(final int line, final QName qname) {
         super(line, qname);
 
     NotificationBuilder(final int line, final QName qname) {
         super(line, qname);
@@ -190,11 +189,6 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder
         this.augmentations = augmentations;
     }
 
         this.augmentations = augmentations;
     }
 
-    @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
     @Override
     public String toString() {
         return "notification " + getQName().getLocalName();
     @Override
     public String toString() {
         return "notification " + getQName().getLocalName();
index 1d1d24b6add76f10a1c15a29a02e6dd7eae9c382..7ff78477637ef2757fc75c28ccd59167d7c5baaa 100644 (file)
@@ -28,8 +28,6 @@ import org.opendaylight.controller.yang.parser.util.YangParseException;
 
 public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder {
     private SchemaPath schemaPath;
 
 public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder {
     private SchemaPath schemaPath;
-    private List<UnknownSchemaNode> unknownNodes;
-    private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
     private List<RangeConstraint> ranges = Collections.emptyList();
     private List<LengthConstraint> lengths = Collections.emptyList();
     private List<PatternConstraint> patterns = Collections.emptyList();
     private List<RangeConstraint> ranges = Collections.emptyList();
     private List<LengthConstraint> lengths = Collections.emptyList();
     private List<PatternConstraint> patterns = Collections.emptyList();
@@ -183,20 +181,6 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im
         return Collections.emptyList();
     }
 
         return Collections.emptyList();
     }
 
-    @Override
-    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
-        return addedUnknownNodes;
-    }
-
-    @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
-        addedUnknownNodes.add(unknownNode);
-    }
-
-    public void setUnknownNodes(List<UnknownSchemaNode> unknownNodes) {
-        this.unknownNodes = unknownNodes;
-    }
-
     @Override
     public List<RangeConstraint> getRanges() {
         return ranges;
     @Override
     public List<RangeConstraint> getRanges() {
         return ranges;
index 33a51d6cd322d1201e0caf0452c0d1f79a97655b..fac500194407563d0c1cf623f415c4ac0b6a5ec8 100644 (file)
@@ -122,7 +122,7 @@ public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements
     }
 
     @Override
     }
 
     @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
+    public void addUnknownNodeBuilder(final UnknownSchemaNodeBuilder unknownNode) {
         // not yet supported
     }
 
         // not yet supported
     }
 
index ecbc1c54fd0f9a0edaf0367f8008eaade0da99dd..3b1eb33d3940b86187848d9cd2cd08397ecae963 100644 (file)
@@ -176,12 +176,13 @@ public final class UsesNodeBuilderImpl implements UsesNodeBuilder {
         refines.add(refine);\r
     }\r
 \r
         refines.add(refine);\r
     }\r
 \r
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {\r
+    @Override\r
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {\r
         return addedUnknownNodes;\r
     }\r
 \r
     @Override\r
         return addedUnknownNodes;\r
     }\r
 \r
     @Override\r
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {\r
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {\r
         addedUnknownNodes.add(unknownNode);\r
     }\r
 \r
         addedUnknownNodes.add(unknownNode);\r
     }\r
 \r
index 5850abeb8129caace7573f5a6ede985674dc3995..7d64b944219d122ad84d157cd383eb054bb02b10 100644 (file)
@@ -98,7 +98,7 @@ import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 
 public final class YangParserImpl implements YangModelParser {
 import com.google.common.collect.Sets;
 
 public final class YangParserImpl implements YangModelParser {
-    private static final Logger logger = LoggerFactory.getLogger(YangParserImpl.class);
+    private static final Logger LOG = LoggerFactory.getLogger(YangParserImpl.class);
 
     @Override
     public Set<Module> parseYangModels(final List<File> yangFiles) {
 
     @Override
     public Set<Module> parseYangModels(final List<File> yangFiles) {
@@ -114,7 +114,7 @@ public final class YangParserImpl implements YangModelParser {
                 try {
                     inputStreams.put(new FileInputStream(yangFile), yangFile);
                 } catch (FileNotFoundException e) {
                 try {
                     inputStreams.put(new FileInputStream(yangFile), yangFile);
                 } catch (FileNotFoundException e) {
-                    logger.warn("Exception while reading yang file: " + yangFile.getName(), e);
+                    LOG.warn("Exception while reading yang file: " + yangFile.getName(), e);
                 }
             }
 
                 }
             }
 
@@ -127,7 +127,7 @@ public final class YangParserImpl implements YangModelParser {
                 try {
                     is.close();
                 } catch (IOException e) {
                 try {
                     is.close();
                 } catch (IOException e) {
-                    logger.debug("Failed to close stream.");
+                    LOG.debug("Failed to close stream.");
                 }
             }
 
                 }
             }
 
@@ -161,7 +161,7 @@ public final class YangParserImpl implements YangModelParser {
                 try {
                     inputStreams.put(new FileInputStream(yangFile), yangFile);
                 } catch (FileNotFoundException e) {
                 try {
                     inputStreams.put(new FileInputStream(yangFile), yangFile);
                 } catch (FileNotFoundException e) {
-                    logger.warn("Exception while reading yang file: " + yangFile.getName(), e);
+                    LOG.warn("Exception while reading yang file: " + yangFile.getName(), e);
                 }
             }
 
                 }
             }
 
@@ -173,7 +173,7 @@ public final class YangParserImpl implements YangModelParser {
                 try {
                     is.close();
                 } catch (IOException e) {
                 try {
                     is.close();
                 } catch (IOException e) {
-                    logger.debug("Failed to close stream.");
+                    LOG.debug("Failed to close stream.");
                 }
             }
 
                 }
             }
 
@@ -294,7 +294,7 @@ public final class YangParserImpl implements YangModelParser {
 
             result = parser.yang();
         } catch (IOException e) {
 
             result = parser.yang();
         } catch (IOException e) {
-            logger.warn("Exception while reading yang file: " + yangStream, e);
+            LOG.warn("Exception while reading yang file: " + yangStream, e);
         }
         return result;
     }
         }
         return result;
     }
@@ -1118,11 +1118,11 @@ public final class YangParserImpl implements YangModelParser {
             // uses has not path
             parent.addUsesNode(newUses);
         }
             // uses has not path
             parent.addUsesNode(newUses);
         }
-        for (UnknownSchemaNodeBuilder un : targetGrouping.getUnknownNodes()) {
+        for (UnknownSchemaNodeBuilder un : targetGrouping.getUnknownNodeBuilders()) {
             UnknownSchemaNodeBuilder newUn = new UnknownSchemaNodeBuilder(un);
             newUn.setAddedByUses(true);
             newUn.setPath(createSchemaPath(parentPath, un.getQName().getLocalName()));
             UnknownSchemaNodeBuilder newUn = new UnknownSchemaNodeBuilder(un);
             newUn.setAddedByUses(true);
             newUn.setPath(createSchemaPath(parentPath, un.getQName().getLocalName()));
-            parent.addUnknownSchemaNode(newUn);
+            parent.addUnknownNodeBuilder(newUn);
         }
     }
 
         }
     }
 
@@ -1192,7 +1192,7 @@ public final class YangParserImpl implements YangModelParser {
             UnknownSchemaNodeBuilder newNode = createUnknownSchemaNode(un, line);
             newNode.setAddedByUses(true);
             newNode.setPath(createSchemaPath(parentPath, un.getQName().getLocalName()));
             UnknownSchemaNodeBuilder newNode = createUnknownSchemaNode(un, line);
             newNode.setAddedByUses(true);
             newNode.setPath(createSchemaPath(parentPath, un.getQName().getLocalName()));
-            parent.addUnknownSchemaNode(newNode);
+            parent.addUnknownNodeBuilder(newNode);
         }
     }
 
         }
     }
 
@@ -1227,7 +1227,7 @@ public final class YangParserImpl implements YangModelParser {
                             nodeType.getPrefix(), nodeType.getLocalName());
                     usnb.setNodeType(newNodeType);
                 } catch (YangParseException e) {
                             nodeType.getPrefix(), nodeType.getLocalName());
                     usnb.setNodeType(newNodeType);
                 } catch (YangParseException e) {
-                    logger.debug(module.getName(), usnb.getLine(), "Failed to find unknown node type: " + nodeType);
+                    LOG.debug(module.getName(), usnb.getLine(), "Failed to find unknown node type: " + nodeType);
                 }
             }
         }
                 }
             }
         }
@@ -1255,7 +1255,7 @@ public final class YangParserImpl implements YangModelParser {
 
                     unknownNodeBuilder.setNodeType(newNodeType);
                 } catch (YangParseException e) {
 
                     unknownNodeBuilder.setNodeType(newNodeType);
                 } catch (YangParseException e) {
-                    logger.debug(module.getName(), unknownNodeBuilder.getLine(), "Failed to find unknown node type: "
+                    LOG.debug(module.getName(), unknownNodeBuilder.getLine(), "Failed to find unknown node type: "
                             + nodeType);
                 }
             }
                             + nodeType);
                 }
             }
index eb0fc21d37a326c03549ecba6782f11a25a790df..155deced668e9bb19462c64eab3c752fd7ee1acb 100644 (file)
@@ -379,7 +379,7 @@ public final class YangParserListenerImpl extends YangParserBaseListener {
                 }
             }
         } else {
                 }
             }
         } else {
-            type = parseUnknownTypeWithBody(typeQName, typeBody, actualPath, namespace, revision, yangModelPrefix,
+            type = parseUnknownTypeWithBody(moduleName, typeQName, typeBody, actualPath, namespace, revision, yangModelPrefix,
                     moduleBuilder.getActualNode());
             // add parent node of this type statement to dirty nodes
             moduleBuilder.markActualNodeDirty();
                     moduleBuilder.getActualNode());
             // add parent node of this type statement to dirty nodes
             moduleBuilder.markActualNodeDirty();
index f139af8e3f406e57bc0ad86abbd80b6abbe063ea..5f291d74a3d0325e9d00994e635bbe4418e6e105 100644 (file)
@@ -31,6 +31,7 @@ import org.opendaylight.controller.antlrv4.code.gen.YangParser.Error_app_tag_stm
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Error_message_stmtContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Fraction_digits_stmtContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Identityref_specificationContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Error_message_stmtContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Fraction_digits_stmtContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Identityref_specificationContext;
+import org.opendaylight.controller.antlrv4.code.gen.YangParser.Instance_identifier_specificationContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Leafref_specificationContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Length_stmtContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Mandatory_argContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Leafref_specificationContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Length_stmtContext;
 import org.opendaylight.controller.antlrv4.code.gen.YangParser.Mandatory_argContext;
@@ -108,7 +109,7 @@ import org.opendaylight.controller.yang.model.util.Uint64;
 import org.opendaylight.controller.yang.model.util.Uint8;
 import org.opendaylight.controller.yang.model.util.UnknownType;
 import org.opendaylight.controller.yang.parser.builder.api.Builder;
 import org.opendaylight.controller.yang.model.util.Uint8;
 import org.opendaylight.controller.yang.model.util.UnknownType;
 import org.opendaylight.controller.yang.parser.builder.api.Builder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
+import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.ChoiceBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder;
 import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder;
 import org.opendaylight.controller.yang.parser.builder.impl.ChoiceBuilder;
@@ -119,7 +120,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public final class ParserListenerUtils {
 import org.slf4j.LoggerFactory;
 
 public final class ParserListenerUtils {
-    private static final Logger logger = LoggerFactory.getLogger(ParserListenerUtils.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ParserListenerUtils.class);
 
     private ParserListenerUtils() {
     }
 
     private ParserListenerUtils() {
     }
@@ -189,7 +190,7 @@ public final class ParserListenerUtils {
                 } else if ("obsolete".equals(statusArgStr)) {
                     result = Status.OBSOLETE;
                 } else {
                 } else if ("obsolete".equals(statusArgStr)) {
                     result = Status.OBSOLETE;
                 } else {
-                    logger.warn("Invalid 'status' statement: " + statusArgStr);
+                    LOG.warn("Invalid 'status' statement: " + statusArgStr);
                 }
             }
         }
                 }
             }
         }
@@ -334,12 +335,12 @@ public final class ParserListenerUtils {
             final List<String> path, final URI namespace, final Date revision, final String prefix) {
         List<EnumTypeDefinition.EnumPair> enumConstants = new ArrayList<EnumTypeDefinition.EnumPair>();
 
             final List<String> path, final URI namespace, final Date revision, final String prefix) {
         List<EnumTypeDefinition.EnumPair> enumConstants = new ArrayList<EnumTypeDefinition.EnumPair>();
 
-        for (int j = 0; j < ctx.getChildCount(); j++) {
-            ParseTree enumSpecChild = ctx.getChild(j);
+        for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree enumSpecChild = ctx.getChild(i);
             if (enumSpecChild instanceof Enum_specificationContext) {
                 int highestValue = -1;
             if (enumSpecChild instanceof Enum_specificationContext) {
                 int highestValue = -1;
-                for (int k = 0; k < enumSpecChild.getChildCount(); k++) {
-                    ParseTree enumChild = enumSpecChild.getChild(k);
+                for (int j = 0; j < enumSpecChild.getChildCount(); j++) {
+                    ParseTree enumChild = enumSpecChild.getChild(j);
                     if (enumChild instanceof Enum_stmtContext) {
                         EnumPair enumPair = createEnumPair((Enum_stmtContext) enumChild, highestValue, path, namespace,
                                 revision, prefix);
                     if (enumChild instanceof Enum_stmtContext) {
                         EnumPair enumPair = createEnumPair((Enum_stmtContext) enumChild, highestValue, path, namespace,
                                 revision, prefix);
@@ -423,7 +424,7 @@ public final class ParserListenerUtils {
         private String description;
         private String reference;
         private Status status;
         private String description;
         private String reference;
         private Status status;
-        private List<UnknownSchemaNode> extensionSchemaNodes = Collections.emptyList();
+        private List<UnknownSchemaNode> unknownNodes = Collections.emptyList();
         private String name;
         private Integer value;
 
         private String name;
         private Integer value;
 
@@ -454,7 +455,7 @@ public final class ParserListenerUtils {
 
         @Override
         public List<UnknownSchemaNode> getUnknownSchemaNodes() {
 
         @Override
         public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-            return extensionSchemaNodes;
+            return unknownNodes;
         }
 
         @Override
         }
 
         @Override
@@ -473,7 +474,7 @@ public final class ParserListenerUtils {
             int result = 1;
             result = prime * result + ((qname == null) ? 0 : qname.hashCode());
             result = prime * result + ((path == null) ? 0 : path.hashCode());
             int result = 1;
             result = prime * result + ((qname == null) ? 0 : qname.hashCode());
             result = prime * result + ((path == null) ? 0 : path.hashCode());
-            result = prime * result + ((extensionSchemaNodes == null) ? 0 : extensionSchemaNodes.hashCode());
+            result = prime * result + ((unknownNodes == null) ? 0 : unknownNodes.hashCode());
             result = prime * result + ((name == null) ? 0 : name.hashCode());
             result = prime * result + ((value == null) ? 0 : value.hashCode());
             return result;
             result = prime * result + ((name == null) ? 0 : name.hashCode());
             result = prime * result + ((value == null) ? 0 : value.hashCode());
             return result;
@@ -505,11 +506,11 @@ public final class ParserListenerUtils {
             } else if (!path.equals(other.path)) {
                 return false;
             }
             } else if (!path.equals(other.path)) {
                 return false;
             }
-            if (extensionSchemaNodes == null) {
-                if (other.extensionSchemaNodes != null) {
+            if (unknownNodes == null) {
+                if (other.unknownNodes != null) {
                     return false;
                 }
                     return false;
                 }
-            } else if (!extensionSchemaNodes.equals(other.extensionSchemaNodes)) {
+            } else if (!unknownNodes.equals(other.unknownNodes)) {
                 return false;
             }
             if (name == null) {
                 return false;
             }
             if (name == null) {
@@ -544,11 +545,11 @@ public final class ParserListenerUtils {
      */
     private static List<RangeConstraint> getRangeConstraints(final Type_body_stmtsContext ctx) {
         List<RangeConstraint> rangeConstraints = Collections.emptyList();
      */
     private static List<RangeConstraint> getRangeConstraints(final Type_body_stmtsContext ctx) {
         List<RangeConstraint> rangeConstraints = Collections.emptyList();
-        outer: for (int j = 0; j < ctx.getChildCount(); j++) {
-            ParseTree numRestrChild = ctx.getChild(j);
+        outer: for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree numRestrChild = ctx.getChild(i);
             if (numRestrChild instanceof Numerical_restrictionsContext) {
             if (numRestrChild instanceof Numerical_restrictionsContext) {
-                for (int k = 0; k < numRestrChild.getChildCount(); k++) {
-                    ParseTree rangeChild = numRestrChild.getChild(k);
+                for (int j = 0; j < numRestrChild.getChildCount(); j++) {
+                    ParseTree rangeChild = numRestrChild.getChild(j);
                     if (rangeChild instanceof Range_stmtContext) {
                         rangeConstraints = parseRangeConstraints((Range_stmtContext) rangeChild);
                         break outer;
                     if (rangeChild instanceof Range_stmtContext) {
                         rangeConstraints = parseRangeConstraints((Range_stmtContext) rangeChild);
                         break outer;
@@ -610,11 +611,11 @@ public final class ParserListenerUtils {
      */
     private static List<LengthConstraint> getLengthConstraints(final Type_body_stmtsContext ctx) {
         List<LengthConstraint> lengthConstraints = Collections.emptyList();
      */
     private static List<LengthConstraint> getLengthConstraints(final Type_body_stmtsContext ctx) {
         List<LengthConstraint> lengthConstraints = Collections.emptyList();
-        outer: for (int j = 0; j < ctx.getChildCount(); j++) {
-            ParseTree stringRestrChild = ctx.getChild(j);
+        outer: for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree stringRestrChild = ctx.getChild(i);
             if (stringRestrChild instanceof String_restrictionsContext) {
             if (stringRestrChild instanceof String_restrictionsContext) {
-                for (int k = 0; k < stringRestrChild.getChildCount(); k++) {
-                    ParseTree lengthChild = stringRestrChild.getChild(k);
+                for (int j = 0; j < stringRestrChild.getChildCount(); j++) {
+                    ParseTree lengthChild = stringRestrChild.getChild(j);
                     if (lengthChild instanceof Length_stmtContext) {
                         lengthConstraints = parseLengthConstraints((Length_stmtContext) lengthChild);
                         break outer;
                     if (lengthChild instanceof Length_stmtContext) {
                         lengthConstraints = parseLengthConstraints((Length_stmtContext) lengthChild);
                         break outer;
@@ -697,11 +698,11 @@ public final class ParserListenerUtils {
     private static List<PatternConstraint> getPatternConstraint(final Type_body_stmtsContext ctx) {
         List<PatternConstraint> patterns = new ArrayList<PatternConstraint>();
 
     private static List<PatternConstraint> getPatternConstraint(final Type_body_stmtsContext ctx) {
         List<PatternConstraint> patterns = new ArrayList<PatternConstraint>();
 
-        for (int j = 0; j < ctx.getChildCount(); j++) {
-            ParseTree stringRestrChild = ctx.getChild(j);
+        for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree stringRestrChild = ctx.getChild(i);
             if (stringRestrChild instanceof String_restrictionsContext) {
             if (stringRestrChild instanceof String_restrictionsContext) {
-                for (int k = 0; k < stringRestrChild.getChildCount(); k++) {
-                    ParseTree lengthChild = stringRestrChild.getChild(k);
+                for (int j = 0; j < stringRestrChild.getChildCount(); j++) {
+                    ParseTree lengthChild = stringRestrChild.getChild(j);
                     if (lengthChild instanceof Pattern_stmtContext) {
                         patterns.add(parsePatternConstraint((Pattern_stmtContext) lengthChild));
                     }
                     if (lengthChild instanceof Pattern_stmtContext) {
                         patterns.add(parsePatternConstraint((Pattern_stmtContext) lengthChild));
                     }
@@ -761,15 +762,17 @@ public final class ParserListenerUtils {
      *
      * @param ctx
      *            type body context to parse
      *
      * @param ctx
      *            type body context to parse
+     * @param moduleName
+     *            name of current module
      * @return 'fraction-digits' value if present in given context, null
      *         otherwise
      */
      * @return 'fraction-digits' value if present in given context, null
      *         otherwise
      */
-    private static Integer getFractionDigits(Type_body_stmtsContext ctx) {
+    private static Integer getFractionDigits(Type_body_stmtsContext ctx, String moduleName) {
         Integer result = null;
         Integer result = null;
-        for (int j = 0; j < ctx.getChildCount(); j++) {
-            ParseTree dec64specChild = ctx.getChild(j);
+        for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree dec64specChild = ctx.getChild(i);
             if (dec64specChild instanceof Decimal64_specificationContext) {
             if (dec64specChild instanceof Decimal64_specificationContext) {
-                result = parseFractionDigits((Decimal64_specificationContext) dec64specChild);
+                result = parseFractionDigits((Decimal64_specificationContext) dec64specChild, moduleName);
             }
         }
         return result;
             }
         }
         return result;
@@ -780,19 +783,21 @@ public final class ParserListenerUtils {
      *
      * @param ctx
      *            decimal64 context
      *
      * @param ctx
      *            decimal64 context
+     * @param moduleName
+     *            name of current module
      * @return fraction-digits value as Integer
      */
      * @return fraction-digits value as Integer
      */
-    private static Integer parseFractionDigits(Decimal64_specificationContext ctx) {
+    private static Integer parseFractionDigits(Decimal64_specificationContext ctx, String moduleName) {
         Integer result = null;
         Integer result = null;
-        for (int k = 0; k < ctx.getChildCount(); k++) {
-            ParseTree fdChild = ctx.getChild(k);
+        for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree fdChild = ctx.getChild(i);
             if (fdChild instanceof Fraction_digits_stmtContext) {
                 String value = stringFromNode(fdChild);
                 try {
                     result = Integer.valueOf(value);
                 } catch (NumberFormatException e) {
             if (fdChild instanceof Fraction_digits_stmtContext) {
                 String value = stringFromNode(fdChild);
                 try {
                     result = Integer.valueOf(value);
                 } catch (NumberFormatException e) {
-                    throw new YangParseException(ctx.getStart().getLine(), "Unable to parse fraction digits value '"
-                            + value + "'.", e);
+                    throw new YangParseException(moduleName, ctx.getStart().getLine(),
+                            "Unable to parse fraction digits value '" + value + "'.", e);
                 }
             }
         }
                 }
             }
         }
@@ -898,14 +903,14 @@ public final class ParserListenerUtils {
      * list are determined by the user or the system. The argument is one of the
      * strings "system" or "user". If not present, order defaults to "system".
      *
      * list are determined by the user or the system. The argument is one of the
      * strings "system" or "user". If not present, order defaults to "system".
      *
-     * @param childNode
+     * @param ctx
      *            Ordered_by_stmtContext
      * @return true, if ordered-by contains value 'user', false otherwise
      */
      *            Ordered_by_stmtContext
      * @return true, if ordered-by contains value 'user', false otherwise
      */
-    public static boolean parseUserOrdered(Ordered_by_stmtContext childNode) {
+    public static boolean parseUserOrdered(Ordered_by_stmtContext ctx) {
         boolean result = false;
         boolean result = false;
-        for (int j = 0; j < childNode.getChildCount(); j++) {
-            ParseTree orderArg = childNode.getChild(j);
+        for (int j = 0; j < ctx.getChildCount(); j++) {
+            ParseTree orderArg = ctx.getChild(j);
             if (orderArg instanceof Ordered_by_argContext) {
                 String orderStr = stringFromNode(orderArg);
                 if ("system".equals(orderStr)) {
             if (orderArg instanceof Ordered_by_argContext) {
                 String orderStr = stringFromNode(orderArg);
                 if ("system".equals(orderStr)) {
@@ -913,30 +918,44 @@ public final class ParserListenerUtils {
                 } else if ("user".equals(orderStr)) {
                     result = true;
                 } else {
                 } else if ("user".equals(orderStr)) {
                     result = true;
                 } else {
-                    logger.warn("Invalid 'orderedby' statement.");
+                    LOG.warn("Invalid 'ordered-by' statement.");
                 }
             }
         }
         return result;
     }
 
                 }
             }
         }
         return result;
     }
 
+    /**
+     * Get config statement from given context. If there is no config statement,
+     * return config value of parent
+     *
+     * @param ctx
+     *            context to parse
+     * @param parent
+     *            parent node
+     * @param moduleName
+     *            name of current module
+     * @param line
+     *            line in current module
+     * @return config statement parsed from given context
+     */
     public static Boolean getConfig(final ParseTree ctx, final Builder parent, final String moduleName, final int line) {
         Boolean result = null;
         // parse configuration statement
     public static Boolean getConfig(final ParseTree ctx, final Builder parent, final String moduleName, final int line) {
         Boolean result = null;
         // parse configuration statement
-        Boolean configuration = null;
+        Boolean config = null;
         for (int i = 0; i < ctx.getChildCount(); i++) {
             ParseTree child = ctx.getChild(i);
             if (child instanceof Config_stmtContext) {
         for (int i = 0; i < ctx.getChildCount(); i++) {
             ParseTree child = ctx.getChild(i);
             if (child instanceof Config_stmtContext) {
-                configuration = parseConfig((Config_stmtContext) child);
+                config = parseConfig((Config_stmtContext) child);
                 break;
             }
         }
 
         // If 'config' is not specified, the default is the same as the parent
         // schema node's 'config' value
                 break;
             }
         }
 
         // If 'config' is not specified, the default is the same as the parent
         // schema node's 'config' value
-        if (configuration == null) {
-            if (parent instanceof ConfigNode) {
-                Boolean parentConfig = ((ConfigNode) parent).isConfiguration();
+        if (config == null) {
+            if (parent instanceof DataSchemaNodeBuilder) {
+                Boolean parentConfig = ((DataSchemaNodeBuilder) parent).isConfiguration();
                 // If the parent node is a rpc input or output, it can has
                 // config set to null
                 result = parentConfig == null ? true : parentConfig;
                 // If the parent node is a rpc input or output, it can has
                 // config set to null
                 result = parentConfig == null ? true : parentConfig;
@@ -958,14 +977,14 @@ public final class ParserListenerUtils {
         } else {
             // Check first: if a node has 'config' set to 'false', no node
             // underneath it can have 'config' set to 'true'
         } else {
             // Check first: if a node has 'config' set to 'false', no node
             // underneath it can have 'config' set to 'true'
-            if (parent instanceof ConfigNode) {
-                Boolean parentConfig = ((ConfigNode) parent).isConfiguration();
-                if (parentConfig == false && configuration == true) {
+            if (parent instanceof DataSchemaNodeBuilder && !(parent instanceof ChoiceCaseBuilder)) {
+                Boolean parentConfig = ((DataSchemaNodeBuilder) parent).isConfiguration();
+                if (!parentConfig && config) {
                     throw new YangParseException(moduleName, line,
                             "Can not set 'config' to 'true' if parent node has 'config' set to 'false'");
                 }
             }
                     throw new YangParseException(moduleName, line,
                             "Can not set 'config' to 'true' if parent node has 'config' set to 'false'");
                 }
             }
-            result = configuration;
+            result = config;
         }
 
         return result;
         }
 
         return result;
@@ -1004,6 +1023,8 @@ public final class ParserListenerUtils {
     /**
      * Parse type body and create UnknownType definition.
      *
     /**
      * Parse type body and create UnknownType definition.
      *
+     * @param moduleName
+     *            name of current module
      * @param typedefQName
      *            qname of current type
      * @param ctx
      * @param typedefQName
      *            qname of current type
      * @param ctx
@@ -1015,7 +1036,7 @@ public final class ParserListenerUtils {
      * @param parent
      * @return UnknownType object with constraints from parsed type body
      */
      * @param parent
      * @return UnknownType object with constraints from parsed type body
      */
-    public static TypeDefinition<?> parseUnknownTypeWithBody(final QName typedefQName,
+    public static TypeDefinition<?> parseUnknownTypeWithBody(final String moduleName, final QName typedefQName,
             final Type_body_stmtsContext ctx, final List<String> actualPath, final URI namespace, final Date revision,
             final String prefix, final Builder parent) {
         String typeName = typedefQName.getLocalName();
             final Type_body_stmtsContext ctx, final List<String> actualPath, final URI namespace, final Date revision,
             final String prefix, final Builder parent) {
         String typeName = typedefQName.getLocalName();
@@ -1026,7 +1047,7 @@ public final class ParserListenerUtils {
             List<RangeConstraint> rangeStatements = getRangeConstraints(ctx);
             List<LengthConstraint> lengthStatements = getLengthConstraints(ctx);
             List<PatternConstraint> patternStatements = getPatternConstraint(ctx);
             List<RangeConstraint> rangeStatements = getRangeConstraints(ctx);
             List<LengthConstraint> lengthStatements = getLengthConstraints(ctx);
             List<PatternConstraint> patternStatements = getPatternConstraint(ctx);
-            Integer fractionDigits = getFractionDigits(ctx);
+            Integer fractionDigits = getFractionDigits(ctx, moduleName);
 
             if (parent instanceof TypeDefinitionBuilder) {
                 TypeDefinitionBuilder typedef = (TypeDefinitionBuilder) parent;
 
             if (parent instanceof TypeDefinitionBuilder) {
                 TypeDefinitionBuilder typedef = (TypeDefinitionBuilder) parent;
@@ -1083,7 +1104,7 @@ public final class ParserListenerUtils {
         final int line = typeBody.getStart().getLine();
         TypeDefinition<?> baseType = null;
 
         final int line = typeBody.getStart().getLine();
         TypeDefinition<?> baseType = null;
 
-        Integer fractionDigits = getFractionDigits(typeBody);
+        Integer fractionDigits = getFractionDigits(typeBody, moduleName);
         List<LengthConstraint> lengthStatements = getLengthConstraints(typeBody);
         List<PatternConstraint> patternStatements = getPatternConstraint(typeBody);
         List<RangeConstraint> rangeStatements = getRangeConstraints(typeBody);
         List<LengthConstraint> lengthStatements = getLengthConstraints(typeBody);
         List<PatternConstraint> patternStatements = getPatternConstraint(typeBody);
         List<RangeConstraint> rangeStatements = getRangeConstraints(typeBody);
@@ -1116,8 +1137,8 @@ public final class ParserListenerUtils {
             } else if ("int64".equals(typeName)) {
                 intType = new Int64(baseTypePath);
             }
             } else if ("int64".equals(typeName)) {
                 intType = new Int64(baseTypePath);
             }
-            if(intType == null) {
-                throw new YangParseException(moduleName, line, "Unknown yang type "+ typeName);
+            if (intType == null) {
+                throw new YangParseException(moduleName, line, "Unknown yang type " + typeName);
             }
             constraints.addRanges(intType.getRangeStatements());
             baseType = intType;
             }
             constraints.addRanges(intType.getRangeStatements());
             baseType = intType;
@@ -1132,8 +1153,8 @@ public final class ParserListenerUtils {
             } else if ("uint64".equals(typeName)) {
                 uintType = new Uint64(baseTypePath);
             }
             } else if ("uint64".equals(typeName)) {
                 uintType = new Uint64(baseTypePath);
             }
-            if(uintType == null) {
-                throw new YangParseException(moduleName, line, "Unknown yang type "+ typeName);
+            if (uintType == null) {
+                throw new YangParseException(moduleName, line, "Unknown yang type " + typeName);
             }
             constraints.addRanges(uintType.getRangeStatements());
             baseType = uintType;
             }
             constraints.addRanges(uintType.getRangeStatements());
             baseType = uintType;
@@ -1158,7 +1179,7 @@ public final class ParserListenerUtils {
             baseType = binaryType;
         } else if ("instance-identifier".equals(typeName)) {
             boolean requireInstance = isRequireInstance(typeBody);
             baseType = binaryType;
         } else if ("instance-identifier".equals(typeName)) {
             boolean requireInstance = isRequireInstance(typeBody);
-            baseType = new InstanceIdentifier(baseTypePath, null, requireInstance);
+            return new InstanceIdentifier(baseTypePath, null, requireInstance);
         }
 
         if (parent instanceof TypeDefinitionBuilder && !(parent instanceof UnionTypeBuilder)) {
         }
 
         if (parent instanceof TypeDefinitionBuilder && !(parent instanceof UnionTypeBuilder)) {
@@ -1261,16 +1282,21 @@ public final class ParserListenerUtils {
     private static boolean isRequireInstance(Type_body_stmtsContext ctx) {
         for (int i = 0; i < ctx.getChildCount(); i++) {
             ParseTree child = ctx.getChild(i);
     private static boolean isRequireInstance(Type_body_stmtsContext ctx) {
         for (int i = 0; i < ctx.getChildCount(); i++) {
             ParseTree child = ctx.getChild(i);
-            if (child instanceof Require_instance_stmtContext) {
+            if (child instanceof Instance_identifier_specificationContext) {
                 for (int j = 0; j < child.getChildCount(); j++) {
                 for (int j = 0; j < child.getChildCount(); j++) {
-                    ParseTree reqArg = child.getChild(j);
-                    if (reqArg instanceof Require_instance_argContext) {
-                        return Boolean.valueOf(stringFromNode(reqArg));
+                    ParseTree reqStmt = child.getChild(j);
+                    if (reqStmt instanceof Require_instance_stmtContext) {
+                        for (int k = 0; k < reqStmt.getChildCount(); k++) {
+                            ParseTree reqArg = reqStmt.getChild(k);
+                            if (reqArg instanceof Require_instance_argContext) {
+                                return Boolean.valueOf(stringFromNode(reqArg));
+                            }
+                        }
                     }
                 }
             }
         }
                     }
                 }
             }
         }
-        return false;
+        return true;
     }
 
     /**
     }
 
     /**
@@ -1381,8 +1407,8 @@ public final class ParserListenerUtils {
     private static Integer parseMinElements(Min_elements_stmtContext ctx) {
         Integer result = null;
         try {
     private static Integer parseMinElements(Min_elements_stmtContext ctx) {
         Integer result = null;
         try {
-            for (int j = 0; j < ctx.getChildCount(); j++) {
-                ParseTree minArg = ctx.getChild(j);
+            for (int i = 0; i < ctx.getChildCount(); i++) {
+                ParseTree minArg = ctx.getChild(i);
                 if (minArg instanceof Min_value_argContext) {
                     result = Integer.valueOf(stringFromNode(minArg));
                 }
                 if (minArg instanceof Min_value_argContext) {
                     result = Integer.valueOf(stringFromNode(minArg));
                 }
@@ -1399,8 +1425,8 @@ public final class ParserListenerUtils {
     private static Integer parseMaxElements(Max_elements_stmtContext ctx) {
         Integer result = null;
         try {
     private static Integer parseMaxElements(Max_elements_stmtContext ctx) {
         Integer result = null;
         try {
-            for (int j = 0; j < ctx.getChildCount(); j++) {
-                ParseTree maxArg = ctx.getChild(j);
+            for (int i = 0; i < ctx.getChildCount(); i++) {
+                ParseTree maxArg = ctx.getChild(i);
                 if (maxArg instanceof Max_value_argContext) {
                     result = Integer.valueOf(stringFromNode(maxArg));
                 }
                 if (maxArg instanceof Max_value_argContext) {
                     result = Integer.valueOf(stringFromNode(maxArg));
                 }
@@ -1423,11 +1449,11 @@ public final class ParserListenerUtils {
      */
     public static boolean parseYinValue(Argument_stmtContext ctx) {
         boolean yinValue = false;
      */
     public static boolean parseYinValue(Argument_stmtContext ctx) {
         boolean yinValue = false;
-        outer: for (int j = 0; j < ctx.getChildCount(); j++) {
-            ParseTree yin = ctx.getChild(j);
+        outer: for (int i = 0; i < ctx.getChildCount(); i++) {
+            ParseTree yin = ctx.getChild(i);
             if (yin instanceof Yin_element_stmtContext) {
             if (yin instanceof Yin_element_stmtContext) {
-                for (int k = 0; k < yin.getChildCount(); k++) {
-                    ParseTree yinArg = yin.getChild(k);
+                for (int j = 0; j < yin.getChildCount(); j++) {
+                    ParseTree yinArg = yin.getChild(j);
                     if (yinArg instanceof Yin_element_argContext) {
                         String yinString = stringFromNode(yinArg);
                         if ("true".equals(yinString)) {
                     if (yinArg instanceof Yin_element_argContext) {
                         String yinString = stringFromNode(yinArg);
                         if ("true".equals(yinString)) {
@@ -1478,18 +1504,16 @@ public final class ParserListenerUtils {
      *
      * @param refineCtx
      *            refine statement
      *
      * @param refineCtx
      *            refine statement
-     * @param line
-     *            current line in yang model
      * @return RefineHolder object representing this refine statement
      */
     public static RefineHolder parseRefine(Refine_stmtContext refineCtx) {
         final String refineTarget = stringFromNode(refineCtx);
         final RefineHolder refine = new RefineHolder(refineCtx.getStart().getLine(), refineTarget);
      * @return RefineHolder object representing this refine statement
      */
     public static RefineHolder parseRefine(Refine_stmtContext refineCtx) {
         final String refineTarget = stringFromNode(refineCtx);
         final RefineHolder refine = new RefineHolder(refineCtx.getStart().getLine(), refineTarget);
-        for (int j = 0; j < refineCtx.getChildCount(); j++) {
-            ParseTree refinePom = refineCtx.getChild(j);
+        for (int i = 0; i < refineCtx.getChildCount(); i++) {
+            ParseTree refinePom = refineCtx.getChild(i);
             if (refinePom instanceof Refine_pomContext) {
             if (refinePom instanceof Refine_pomContext) {
-                for (int k = 0; k < refinePom.getChildCount(); k++) {
-                    ParseTree refineStmt = refinePom.getChild(k);
+                for (int j = 0; j < refinePom.getChildCount(); j++) {
+                    ParseTree refineStmt = refinePom.getChild(j);
                     parseRefineDefault(refine, refineStmt);
 
                     if (refineStmt instanceof Refine_leaf_stmtsContext) {
                     parseRefineDefault(refine, refineStmt);
 
                     if (refineStmt instanceof Refine_leaf_stmtsContext) {
@@ -1551,8 +1575,8 @@ public final class ParserListenerUtils {
     }
 
     private static RefineHolder parseRefine(RefineHolder refine, Refine_container_stmtsContext refineStmt) {
     }
 
     private static RefineHolder parseRefine(RefineHolder refine, Refine_container_stmtsContext refineStmt) {
-        for (int m = 0; m < refineStmt.getChildCount(); m++) {
-            ParseTree refineArg = refineStmt.getChild(m);
+        for (int i = 0; i < refineStmt.getChildCount(); i++) {
+            ParseTree refineArg = refineStmt.getChild(i);
             if (refineArg instanceof Must_stmtContext) {
                 MustDefinition must = parseMust((Must_stmtContext) refineArg);
                 refine.setMust(must);
             if (refineArg instanceof Must_stmtContext) {
                 MustDefinition must = parseMust((Must_stmtContext) refineArg);
                 refine.setMust(must);
@@ -1564,8 +1588,8 @@ public final class ParserListenerUtils {
     }
 
     private static RefineHolder parseRefine(RefineHolder refine, Refine_list_stmtsContext refineStmt) {
     }
 
     private static RefineHolder parseRefine(RefineHolder refine, Refine_list_stmtsContext refineStmt) {
-        for (int m = 0; m < refineStmt.getChildCount(); m++) {
-            ParseTree refineArg = refineStmt.getChild(m);
+        for (int i = 0; i < refineStmt.getChildCount(); i++) {
+            ParseTree refineArg = refineStmt.getChild(i);
             if (refineArg instanceof Must_stmtContext) {
                 MustDefinition must = parseMust((Must_stmtContext) refineArg);
                 refine.setMust(must);
             if (refineArg instanceof Must_stmtContext) {
                 MustDefinition must = parseMust((Must_stmtContext) refineArg);
                 refine.setMust(must);
@@ -1581,8 +1605,8 @@ public final class ParserListenerUtils {
     }
 
     private static RefineHolder parseRefine(RefineHolder refine, Refine_leaf_list_stmtsContext refineStmt) {
     }
 
     private static RefineHolder parseRefine(RefineHolder refine, Refine_leaf_list_stmtsContext refineStmt) {
-        for (int m = 0; m < refineStmt.getChildCount(); m++) {
-            ParseTree refineArg = refineStmt.getChild(m);
+        for (int i = 0; i < refineStmt.getChildCount(); i++) {
+            ParseTree refineArg = refineStmt.getChild(i);
             if (refineArg instanceof Must_stmtContext) {
                 MustDefinition must = parseMust((Must_stmtContext) refineArg);
                 refine.setMust(must);
             if (refineArg instanceof Must_stmtContext) {
                 MustDefinition must = parseMust((Must_stmtContext) refineArg);
                 refine.setMust(must);
index 87075e212205210dbb1da423bf2585cc9bea4fb6..587c8bed4ef19272ce420e92d0ffca1b6aef0a1f 100644 (file)
@@ -386,7 +386,7 @@ public final class ParserUtils {
      */
     public static Builder findRefineTargetBuilder(final GroupingBuilder grouping, final String refineNodeName) {
         // search child nodes
      */
     public static Builder findRefineTargetBuilder(final GroupingBuilder grouping, final String refineNodeName) {
         // search child nodes
-        Builder result = grouping.getChildNode(refineNodeName);
+        Builder result = grouping.getDataChildByName(refineNodeName);
         // search groupings
         if (result == null) {
             Set<GroupingBuilder> grps = grouping.getGroupingBuilders();
         // search groupings
         if (result == null) {
             Set<GroupingBuilder> grps = grouping.getGroupingBuilders();
index 1f5e2945d41b4ed7219ba690cb67dc3e97f76f77..44bb56be1c1e9b51e986661ba74b9527d6ed5abf 100644 (file)
@@ -12,10 +12,9 @@ import java.util.List;
 
 import org.opendaylight.controller.yang.model.api.MustDefinition;
 import org.opendaylight.controller.yang.parser.builder.api.Builder;
 
 import org.opendaylight.controller.yang.model.api.MustDefinition;
 import org.opendaylight.controller.yang.parser.builder.api.Builder;
-import org.opendaylight.controller.yang.parser.builder.api.ConfigNode;
 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 
 import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
 
-public final class RefineHolder implements Builder, ConfigNode {
+public final class RefineHolder implements Builder {
     private Builder parent;
     private final int line;
     private final String name;
     private Builder parent;
     private final int line;
     private final String name;
@@ -74,12 +73,10 @@ public final class RefineHolder implements Builder, ConfigNode {
         this.reference = reference;
     }
 
         this.reference = reference;
     }
 
-    @Override
     public Boolean isConfiguration() {
         return config;
     }
 
     public Boolean isConfiguration() {
         return config;
     }
 
-    @Override
     public void setConfiguration(final Boolean config) {
         this.config = config;
     }
     public void setConfiguration(final Boolean config) {
         this.config = config;
     }
@@ -128,11 +125,13 @@ public final class RefineHolder implements Builder, ConfigNode {
         return name;
     }
 
         return name;
     }
 
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
+    @Override
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
         return addedUnknownNodes;
     }
 
         return addedUnknownNodes;
     }
 
-    public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) {
+    @Override
+    public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) {
         addedUnknownNodes.add(unknownNode);
     }
 
         addedUnknownNodes.add(unknownNode);
     }
 
index 73acebf71798ce1fb5fb858b21c17bf1093c6915..69c90caadf95178d15cfcb1d93008d485c010812 100644 (file)
@@ -131,7 +131,7 @@ public class RefineUtils {
         String defaultStr = refine.getDefaultStr();
         Boolean mandatory = refine.isMandatory();
         MustDefinition must = refine.getMust();
         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);
 
         if (defaultStr != null && !("".equals(defaultStr))) {
             leaf.setDefaultStr(defaultStr);
@@ -144,7 +144,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                leaf.addUnknownSchemaNode(unknown);
+                leaf.addUnknownNodeBuilder(unknown);
             }
         }
     }
             }
         }
     }
@@ -152,7 +152,7 @@ public class RefineUtils {
     public static void refineContainer(ContainerSchemaNodeBuilder container, RefineHolder refine, int line) {
         Boolean presence = refine.isPresence();
         MustDefinition must = refine.getMust();
     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);
 
         if (presence != null) {
             container.setPresence(presence);
@@ -162,7 +162,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                container.addUnknownSchemaNode(unknown);
+                container.addUnknownNodeBuilder(unknown);
             }
         }
     }
             }
         }
     }
@@ -171,7 +171,7 @@ public class RefineUtils {
         MustDefinition must = refine.getMust();
         Integer min = refine.getMinElements();
         Integer max = refine.getMaxElements();
         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);
 
         if (must != null) {
             list.getConstraints().addMustDefinition(must);
@@ -184,7 +184,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                list.addUnknownSchemaNode(unknown);
+                list.addUnknownNodeBuilder(unknown);
             }
         }
     }
             }
         }
     }
@@ -193,7 +193,7 @@ public class RefineUtils {
         MustDefinition must = refine.getMust();
         Integer min = refine.getMinElements();
         Integer max = refine.getMaxElements();
         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);
 
         if (must != null) {
             leafList.getConstraints().addMustDefinition(must);
@@ -206,7 +206,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                leafList.addUnknownSchemaNode(unknown);
+                leafList.addUnknownNodeBuilder(unknown);
             }
         }
     }
             }
         }
     }
@@ -214,7 +214,7 @@ public class RefineUtils {
     public static void refineChoice(ChoiceBuilder choice, RefineHolder refine, int line) {
         String defaultStr = refine.getDefaultStr();
         Boolean mandatory = refine.isMandatory();
     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);
 
         if (defaultStr != null) {
             choice.setDefaultCase(defaultStr);
@@ -224,7 +224,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                choice.addUnknownSchemaNode(unknown);
+                choice.addUnknownNodeBuilder(unknown);
             }
         }
     }
             }
         }
     }
@@ -232,7 +232,7 @@ public class RefineUtils {
     public static void refineAnyxml(AnyXmlBuilder anyXml, RefineHolder refine, int line) {
         Boolean mandatory = refine.isMandatory();
         MustDefinition must = refine.getMust();
     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);
 
         if (mandatory != null) {
             anyXml.getConstraints().setMandatory(mandatory);
@@ -242,7 +242,7 @@ public class RefineUtils {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
         }
         if (unknownNodes != null) {
             for (UnknownSchemaNodeBuilder unknown : unknownNodes) {
-                anyXml.addUnknownSchemaNode(unknown);
+                anyXml.addUnknownNodeBuilder(unknown);
             }
         }
     }
             }
         }
     }
index 2c910ce3f69affe70d54adce8222a9f82ee4aeac..8f49fecc8e473f735a5d59d9b53db927493fa628 100644 (file)
@@ -39,8 +39,7 @@ public class TypesResolutionTest {
 
     @Before
     public void init() throws FileNotFoundException {
 
     @Before
     public void init() throws FileNotFoundException {
-        testedModules = TestUtils.loadModules(getClass().getResource
-                ("/types").getPath());
+        testedModules = TestUtils.loadModules(getClass().getResource("/types").getPath());
     }
 
     @Test
     }
 
     @Test
@@ -50,10 +49,8 @@ public class TypesResolutionTest {
         assertEquals(14, typedefs.size());
 
         TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
         assertEquals(14, typedefs.size());
 
         TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
-        assertTrue(type.getDescription().contains(
-                "This value represents the version of the IP protocol."));
-        assertTrue(type.getReference().contains(
-                "RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"));
+        assertTrue(type.getDescription().contains("This value represents the version of the IP protocol."));
+        assertTrue(type.getReference().contains("RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"));
 
         EnumerationType enumType = (EnumerationType) type.getBaseType();
         List<EnumPair> values = enumType.getValues();
 
         EnumerationType enumType = (EnumerationType) type.getBaseType();
         List<EnumPair> values = enumType.getValues();
@@ -62,27 +59,22 @@ public class TypesResolutionTest {
         EnumPair value0 = values.get(0);
         assertEquals("unknown", value0.getName());
         assertEquals(0, (int) value0.getValue());
         EnumPair value0 = values.get(0);
         assertEquals("unknown", value0.getName());
         assertEquals(0, (int) value0.getValue());
-        assertEquals(
-                "An unknown or unspecified version of the Internet protocol.",
-                value0.getDescription());
+        assertEquals("An unknown or unspecified version of the Internet protocol.", value0.getDescription());
 
         EnumPair value1 = values.get(1);
         assertEquals("ipv4", value1.getName());
         assertEquals(1, (int) value1.getValue());
 
         EnumPair value1 = values.get(1);
         assertEquals("ipv4", value1.getName());
         assertEquals(1, (int) value1.getValue());
-        assertEquals("The IPv4 protocol as defined in RFC 791.",
-                value1.getDescription());
+        assertEquals("The IPv4 protocol as defined in RFC 791.", value1.getDescription());
 
         EnumPair value2 = values.get(2);
         assertEquals("ipv6", value2.getName());
         assertEquals(2, (int) value2.getValue());
 
         EnumPair value2 = values.get(2);
         assertEquals("ipv6", value2.getName());
         assertEquals(2, (int) value2.getValue());
-        assertEquals("The IPv6 protocol as defined in RFC 2460.",
-                value2.getDescription());
+        assertEquals("The IPv6 protocol as defined in RFC 2460.", value2.getDescription());
     }
 
     @Test
     public void testEnumeration() {
     }
 
     @Test
     public void testEnumeration() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
 
         TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
 
         TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
@@ -93,21 +85,17 @@ public class TypesResolutionTest {
         EnumPair value0 = values.get(0);
         assertEquals("unknown", value0.getName());
         assertEquals(0, (int) value0.getValue());
         EnumPair value0 = values.get(0);
         assertEquals("unknown", value0.getName());
         assertEquals(0, (int) value0.getValue());
-        assertEquals(
-                "An unknown or unspecified version of the Internet protocol.",
-                value0.getDescription());
+        assertEquals("An unknown or unspecified version of the Internet protocol.", value0.getDescription());
 
         EnumPair value1 = values.get(1);
         assertEquals("ipv4", value1.getName());
         assertEquals(19, (int) value1.getValue());
 
         EnumPair value1 = values.get(1);
         assertEquals("ipv4", value1.getName());
         assertEquals(19, (int) value1.getValue());
-        assertEquals("The IPv4 protocol as defined in RFC 791.",
-                value1.getDescription());
+        assertEquals("The IPv4 protocol as defined in RFC 791.", value1.getDescription());
 
         EnumPair value2 = values.get(2);
         assertEquals("ipv6", value2.getName());
         assertEquals(7, (int) value2.getValue());
 
         EnumPair value2 = values.get(2);
         assertEquals("ipv6", value2.getName());
         assertEquals(7, (int) value2.getValue());
-        assertEquals("The IPv6 protocol as defined in RFC 2460.",
-                value2.getDescription());
+        assertEquals("The IPv6 protocol as defined in RFC 2460.", value2.getDescription());
 
         EnumPair value3 = values.get(3);
         assertEquals("default", value3.getName());
 
         EnumPair value3 = values.get(3);
         assertEquals("default", value3.getName());
@@ -126,10 +114,8 @@ public class TypesResolutionTest {
         ExtendedType ipv4 = (ExtendedType) unionTypes.get(0);
         assertTrue(ipv4.getBaseType() instanceof StringTypeDefinition);
         String expectedPattern = "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}"
         ExtendedType ipv4 = (ExtendedType) unionTypes.get(0);
         assertTrue(ipv4.getBaseType() instanceof StringTypeDefinition);
         String expectedPattern = "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}"
-                + "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
-                + "(%[\\p{N}\\p{L}]+)?";
-        assertEquals(expectedPattern, ipv4.getPatterns().get(0)
-                .getRegularExpression());
+                + "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" + "(%[\\p{N}\\p{L}]+)?";
+        assertEquals(expectedPattern, ipv4.getPatterns().get(0).getRegularExpression());
 
         TypeDefinition<?> ipv4Address = TestUtils.findTypedef(typedefs, "ipv4-address");
         assertEquals(ipv4Address, ipv4);
 
         TypeDefinition<?> ipv4Address = TestUtils.findTypedef(typedefs, "ipv4-address");
         assertEquals(ipv4Address, ipv4);
@@ -138,33 +124,28 @@ public class TypesResolutionTest {
         assertTrue(ipv6.getBaseType() instanceof StringTypeDefinition);
         List<PatternConstraint> ipv6Patterns = ipv6.getPatterns();
         expectedPattern = "((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}"
         assertTrue(ipv6.getBaseType() instanceof StringTypeDefinition);
         List<PatternConstraint> ipv6Patterns = ipv6.getPatterns();
         expectedPattern = "((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}"
-                + "((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|"
-                + "(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}"
-                + "(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))"
-                + "(%[\\p{N}\\p{L}]+)?";
-        assertEquals(expectedPattern, ipv6Patterns.get(0)
-                .getRegularExpression());
+                + "((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|" + "(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}"
+                + "(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))" + "(%[\\p{N}\\p{L}]+)?";
+        assertEquals(expectedPattern, ipv6Patterns.get(0).getRegularExpression());
 
         TypeDefinition<?> ipv6Address = TestUtils.findTypedef(typedefs, "ipv6-address");
         assertEquals(ipv6Address, ipv6);
 
 
         TypeDefinition<?> ipv6Address = TestUtils.findTypedef(typedefs, "ipv6-address");
         assertEquals(ipv6Address, ipv6);
 
-        expectedPattern = "(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|"
-                + "((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)" + "(%.+)?";
-        assertEquals(expectedPattern, ipv6Patterns.get(1)
-                .getRegularExpression());
+        expectedPattern = "(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|" + "((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)"
+                + "(%.+)?";
+        assertEquals(expectedPattern, ipv6Patterns.get(1).getRegularExpression());
     }
 
     @Test
     public void testDomainName() {
         Module tested = TestUtils.findModule(testedModules, "ietf-inet-types");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
     }
 
     @Test
     public void testDomainName() {
         Module tested = TestUtils.findModule(testedModules, "ietf-inet-types");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        ExtendedType type = (ExtendedType)TestUtils.findTypedef(typedefs, "domain-name");
+        ExtendedType type = (ExtendedType) TestUtils.findTypedef(typedefs, "domain-name");
         assertTrue(type.getBaseType() instanceof StringTypeDefinition);
         List<PatternConstraint> patterns = type.getPatterns();
         assertEquals(1, patterns.size());
         String expectedPattern = "((([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.)*"
         assertTrue(type.getBaseType() instanceof StringTypeDefinition);
         List<PatternConstraint> patterns = type.getPatterns();
         assertEquals(1, patterns.size());
         String expectedPattern = "((([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.)*"
-                + "([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.?)"
-                + "|\\.";
+                + "([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.?)" + "|\\.";
         assertEquals(expectedPattern, patterns.get(0).getRegularExpression());
 
         List<LengthConstraint> lengths = type.getLengths();
         assertEquals(expectedPattern, patterns.get(0).getRegularExpression());
 
         List<LengthConstraint> lengths = type.getLengths();
@@ -176,38 +157,30 @@ public class TypesResolutionTest {
 
     @Test
     public void testInstanceIdentifier1() {
 
     @Test
     public void testInstanceIdentifier1() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
-        LeafSchemaNode leaf = (LeafSchemaNode) tested
-                .getDataChildByName("inst-id-leaf1");
-        ExtendedType leafType = (ExtendedType) leaf.getType();
-        InstanceIdentifier leafTypeBase = (InstanceIdentifier) leafType
-                .getBaseType();
-        assertFalse(leafTypeBase.requireInstance());
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
+        LeafSchemaNode leaf = (LeafSchemaNode) tested.getDataChildByName("inst-id-leaf1");
+        InstanceIdentifier leafType = (InstanceIdentifier) leaf.getType();
+        assertFalse(leafType.requireInstance());
     }
 
     @Test
     public void testInstanceIdentifier2() {
     }
 
     @Test
     public void testInstanceIdentifier2() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
-        LeafSchemaNode leaf = (LeafSchemaNode) tested
-                .getDataChildByName("inst-id-leaf2");
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
+        LeafSchemaNode leaf = (LeafSchemaNode) tested.getDataChildByName("inst-id-leaf2");
         InstanceIdentifier leafType = (InstanceIdentifier) leaf.getType();
         assertTrue(leafType.requireInstance());
     }
 
     @Test
     public void testIdentity() {
         InstanceIdentifier leafType = (InstanceIdentifier) leaf.getType();
         assertTrue(leafType.requireInstance());
     }
 
     @Test
     public void testIdentity() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
         Set<IdentitySchemaNode> identities = tested.getIdentities();
         IdentitySchemaNode testedIdentity = null;
         for (IdentitySchemaNode id : identities) {
             if (id.getQName().getLocalName().equals("crypto-alg")) {
                 testedIdentity = id;
                 IdentitySchemaNode baseIdentity = id.getBaseIdentity();
         Set<IdentitySchemaNode> identities = tested.getIdentities();
         IdentitySchemaNode testedIdentity = null;
         for (IdentitySchemaNode id : identities) {
             if (id.getQName().getLocalName().equals("crypto-alg")) {
                 testedIdentity = id;
                 IdentitySchemaNode baseIdentity = id.getBaseIdentity();
-                assertEquals("crypto-base", baseIdentity.getQName()
-                        .getLocalName());
+                assertEquals("crypto-base", baseIdentity.getQName().getLocalName());
                 assertNull(baseIdentity.getBaseIdentity());
             }
         }
                 assertNull(baseIdentity.getBaseIdentity());
             }
         }
@@ -216,10 +189,8 @@ public class TypesResolutionTest {
 
     @Test
     public void testBitsType1() {
 
     @Test
     public void testBitsType1() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
-        LeafSchemaNode leaf = (LeafSchemaNode) tested
-                .getDataChildByName("mybits");
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
+        LeafSchemaNode leaf = (LeafSchemaNode) tested.getDataChildByName("mybits");
         BitsType leafType = (BitsType) leaf.getType();
         List<Bit> bits = leafType.getBits();
         assertEquals(3, bits.size());
         BitsType leafType = (BitsType) leaf.getType();
         List<Bit> bits = leafType.getBits();
         assertEquals(3, bits.size());
@@ -239,11 +210,9 @@ public class TypesResolutionTest {
 
     @Test
     public void testBitsType2() {
 
     @Test
     public void testBitsType2() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs,
-                "access-operations-type");
+        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "access-operations-type");
 
         BitsType bitsType = (BitsType) testedType.getBaseType();
         List<Bit> bits = bitsType.getBits();
 
         BitsType bitsType = (BitsType) testedType.getBaseType();
         List<Bit> bits = bitsType.getBits();
@@ -269,8 +238,7 @@ public class TypesResolutionTest {
     public void testIanaTimezones() {
         Module tested = TestUtils.findModule(testedModules, "iana-timezones");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
     public void testIanaTimezones() {
         Module tested = TestUtils.findModule(testedModules, "iana-timezones");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs,
-                "iana-timezone");
+        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "iana-timezone");
 
         String expectedDesc = "A timezone location as defined by the IANA timezone";
         assertTrue(testedType.getDescription().contains(expectedDesc));
 
         String expectedDesc = "A timezone location as defined by the IANA timezone";
         assertTrue(testedType.getDescription().contains(expectedDesc));
@@ -278,10 +246,8 @@ public class TypesResolutionTest {
         assertEquals(Status.CURRENT, testedType.getStatus());
 
         QName testedTypeQName = testedType.getQName();
         assertEquals(Status.CURRENT, testedType.getStatus());
 
         QName testedTypeQName = testedType.getQName();
-        assertEquals(URI.create("urn:ietf:params:xml:ns:yang:iana-timezones"),
-                testedTypeQName.getNamespace());
-        assertEquals(TestUtils.createDate("2012-07-09"),
-                testedTypeQName.getRevision());
+        assertEquals(URI.create("urn:ietf:params:xml:ns:yang:iana-timezones"), testedTypeQName.getNamespace());
+        assertEquals(TestUtils.createDate("2012-07-09"), testedTypeQName.getRevision());
         assertEquals("ianatz", testedTypeQName.getPrefix());
         assertEquals("iana-timezone", testedTypeQName.getLocalName());
 
         assertEquals("ianatz", testedTypeQName.getPrefix());
         assertEquals("iana-timezone", testedTypeQName.getLocalName());
 
@@ -292,22 +258,19 @@ public class TypesResolutionTest {
         EnumPair enum168 = values.get(168);
         assertEquals("America/Danmarkshavn", enum168.getName());
         assertEquals(168, (int) enum168.getValue());
         EnumPair enum168 = values.get(168);
         assertEquals("America/Danmarkshavn", enum168.getName());
         assertEquals(168, (int) enum168.getValue());
-        assertEquals("east coast, north of Scoresbysund",
-                enum168.getDescription());
+        assertEquals("east coast, north of Scoresbysund", enum168.getDescription());
 
         EnumPair enum374 = values.get(374);
         assertEquals("America/Indiana/Winamac", enum374.getName());
         assertEquals(374, (int) enum374.getValue());
 
         EnumPair enum374 = values.get(374);
         assertEquals("America/Indiana/Winamac", enum374.getName());
         assertEquals(374, (int) enum374.getValue());
-        assertEquals("Eastern Time - Indiana - Pulaski County",
-                enum374.getDescription());
+        assertEquals("Eastern Time - Indiana - Pulaski County", enum374.getDescription());
     }
 
     @Test
     public void testObjectId128() {
         Module tested = TestUtils.findModule(testedModules, "ietf-yang-types");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
     }
 
     @Test
     public void testObjectId128() {
         Module tested = TestUtils.findModule(testedModules, "ietf-yang-types");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        ExtendedType testedType = (ExtendedType) TestUtils.findTypedef(
-                typedefs, "object-identifier-128");
+        ExtendedType testedType = (ExtendedType) TestUtils.findTypedef(typedefs, "object-identifier-128");
 
         List<PatternConstraint> patterns = testedType.getPatterns();
         assertEquals(1, patterns.size());
 
         List<PatternConstraint> patterns = testedType.getPatterns();
         assertEquals(1, patterns.size());
@@ -315,10 +278,8 @@ public class TypesResolutionTest {
         assertEquals("\\d*(\\.\\d*){1,127}", pattern.getRegularExpression());
 
         QName testedTypeQName = testedType.getQName();
         assertEquals("\\d*(\\.\\d*){1,127}", pattern.getRegularExpression());
 
         QName testedTypeQName = testedType.getQName();
-        assertEquals(URI.create("urn:ietf:params:xml:ns:yang:ietf-yang-types"),
-                testedTypeQName.getNamespace());
-        assertEquals(TestUtils.createDate("2010-09-24"),
-                testedTypeQName.getRevision());
+        assertEquals(URI.create("urn:ietf:params:xml:ns:yang:ietf-yang-types"), testedTypeQName.getNamespace());
+        assertEquals(TestUtils.createDate("2010-09-24"), testedTypeQName.getRevision());
         assertEquals("yang", testedTypeQName.getPrefix());
         assertEquals("object-identifier-128", testedTypeQName.getLocalName());
 
         assertEquals("yang", testedTypeQName.getPrefix());
         assertEquals("object-identifier-128", testedTypeQName.getLocalName());
 
@@ -327,30 +288,24 @@ public class TypesResolutionTest {
         assertEquals(1, patterns.size());
 
         pattern = patterns.get(0);
         assertEquals(1, patterns.size());
 
         pattern = patterns.get(0);
-        assertEquals(
-                "(([0-1](\\.[1-3]?[0-9]))|(2\\.(0|([1-9]\\d*))))(\\.(0|([1-9]\\d*)))*",
+        assertEquals("(([0-1](\\.[1-3]?[0-9]))|(2\\.(0|([1-9]\\d*))))(\\.(0|([1-9]\\d*)))*",
                 pattern.getRegularExpression());
 
         QName testedTypeBaseQName = testedTypeBase.getQName();
                 pattern.getRegularExpression());
 
         QName testedTypeBaseQName = testedTypeBase.getQName();
-        assertEquals(URI.create("urn:ietf:params:xml:ns:yang:ietf-yang-types"),
-                testedTypeBaseQName.getNamespace());
-        assertEquals(TestUtils.createDate("2010-09-24"),
-                testedTypeBaseQName.getRevision());
+        assertEquals(URI.create("urn:ietf:params:xml:ns:yang:ietf-yang-types"), testedTypeBaseQName.getNamespace());
+        assertEquals(TestUtils.createDate("2010-09-24"), testedTypeBaseQName.getRevision());
         assertEquals("yang", testedTypeBaseQName.getPrefix());
         assertEquals("object-identifier", testedTypeBaseQName.getLocalName());
     }
 
     @Test
     public void testIdentityref() {
         assertEquals("yang", testedTypeBaseQName.getPrefix());
         assertEquals("object-identifier", testedTypeBaseQName.getLocalName());
     }
 
     @Test
     public void testIdentityref() {
-        Module tested = TestUtils
-                .findModule(testedModules, "custom-types-test");
+        Module tested = TestUtils.findModule(testedModules, "custom-types-test");
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
         Set<TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs,
-                "service-type-ref");
+        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "service-type-ref");
         IdentityrefType baseType = (IdentityrefType) testedType.getBaseType();
         QName identity = baseType.getIdentity();
         IdentityrefType baseType = (IdentityrefType) testedType.getBaseType();
         QName identity = baseType.getIdentity();
-        assertEquals(URI.create("urn:simple.container.demo"),
-                identity.getNamespace());
+        assertEquals(URI.create("urn:simple.container.demo"), identity.getNamespace());
         assertEquals(TestUtils.createDate("2012-04-16"), identity.getRevision());
         assertEquals("iit", identity.getPrefix());
         assertEquals("service-type", identity.getLocalName());
         assertEquals(TestUtils.createDate("2012-04-16"), identity.getRevision());
         assertEquals("iit", identity.getPrefix());
         assertEquals("service-type", identity.getLocalName());