Merge from development repository. 42/642/1
authorTony Tkacik <ttkacik@cisco.com>
Mon, 25 Mar 2013 13:25:07 +0000 (14:25 +0100)
committerMartin Vitez <mvitez@cisco.com>
Wed, 24 Jul 2013 08:59:57 +0000 (10:59 +0200)
See commit log bellow for more details.

    commit d3f7ff74377f55c106ca28a43c936ef4d3bcb5e2
    Author: mvitez <mvitez@cisco.com>
    Date:   Mon Mar 25 10:15:36 2013 +0100

        improve some code

    commit a0bec74e277e7afcc0f6867ba2d7527d4e25db60
    Author: mvitez <mvitez@cisco.com>
    Date:   Mon Mar 25 09:26:59 2013 +0100

        added typedef and augment resolving, added tests

    commit 32fff33187321463bb27b5c11b63a71d8dbc104e
    Merge: 562dbeb e6b3057
    Author: lsedlak <lsedlak@cisco.com>
    Date:   Fri Mar 22 15:27:59 2013 +0100

        Merge branch 'binding-api'

    commit e6b30574b2598c289ea90be6588151dc7cb7b0fa
    Author: lsedlak <lsedlak@cisco.com>
    Date:   Fri Mar 22 15:16:12 2013 +0100

        Added Implementation of getPathStatement into Identityref.java;

    commit ef70678b2127fd56d062d99a20a02de401262b29
    Author: lsedlak <lsedlak@cisco.com>
    Date:   Fri Mar 22 15:14:28 2013 +0100

        Added RevisionAwareXPath into interface definition;

    commit 78cb3c64716f7cf2788dfaf61906a07481bcd9df
    Author: mvitez <mvitez@cisco.com>
    Date:   Fri Mar 22 13:40:05 2013 +0100

        added implementation of SchemaContext

    commit 45769c7721eb9832cd43c04a020f1ca7f52172ef
    Author: lsedlak <lsedlak@cisco.com>
    Date:   Fri Mar 22 13:55:26 2013 +0100

        Changed parameter in generateTypes from Module to SchemaContext;
        Implemented changes in generatedTypes in BindingGeneratorImpl.java;
        Implemented changes in GeneratedTypesTest.java;

    commit 562dbebbbbfec341c98885ad80b87f3d8d05c3f7
    Author: mvitez <mvitez@cisco.com>
    Date:   Fri Mar 22 13:40:05 2013 +0100

        added implementation of SchemaContext

    commit c4ea91257946fa1f3cd44a148af7a44e254b661f
    Author: lsedlak <lsedlak@cisco.com>
    Date:   Fri Mar 22 11:09:50 2013 +0100

        Added definition: getExtensions into SchemaContext.java;

    commit 8b239e3fb4a322baa36867d4ce41f2c142a8ef76
    Author: mvitez <mvitez@cisco.com>
    Date:   Fri Mar 22 10:46:27 2013 +0100

        fix Demo, GeneratedTypesTest

    commit 6564270ea304905ccb91718066c7aa65b5430ecb
    Author: mvitez <mvitez@cisco.com>
    Date:   Fri Mar 22 10:33:26 2013 +0100

        rename packages

    commit f3326c65f7de3ce77137b0c972aff32aa5d6f6c6
    Author: mvitez <mvitez@cisco.com>
    Date:   Thu Mar 21 17:45:24 2013 +0100

        renamed YangModelParserImpl-> YangModelParserListenerImpl

    commit 26fa647a676f9c466a010536e9d972486adbb904
    Author: Anton Tkacik <ttkacik@cisco.com>
    Date:   Thu Mar 21 15:49:55 2013 +0100

        Added SAL Binding SPI

    commit e60fb750ef193d8456cb1196b4d13f12f44ad276
    Author: lsedlak <lsedlak@cisco.com>
    Date:   Thu Mar 21 17:27:05 2013 +0100

        Added yang-model-parser-api module into pom definition;

    commit c7023e3f2ae7defeadba319c40011ed4f90bfb4f
    Author: Anton Tkacik <ttkacik@cisco.com>
    Date:   Thu Mar 21 11:22:50 2013 +0100

        Renamed Controller architecture to OpenDayLightController SAL

    commit 985d3e66977876be83db6cba92753ef3ade3edf2
    Merge: 9c9c027 39c8c01
    Author: mvitez <mvitez@cisco.com>
    Date:   Thu Mar 21 15:31:53 2013 +0100

        more progress on yang java model

    commit 9c9c0271a4b7b35177164e94e1677dabecd88ca8
    Author: mvitez <mvitez@cisco.com>
    Date:   Thu Mar 21 13:58:59 2013 +0100

        more progress on yang java model

    commit 5609186d6b22a89f8d0568962bb8d0657818cee4
    Merge: c26cf1d 5adfb70
    Author: mvitez <mvitez@cisco.com>
    Date:   Wed Mar 20 18:14:34 2013 +0100

        getExtensionSchemaNodes changed to getUnknownSchemaNodes;
        Whole package org.opendaylight.controller.model.parser.builder
        refactored accordingly;

    commit 820716ed377f4a7878a1f6373095053eb4ababd0
    Author: mvitez <mvitez@cisco.com>
    Date:   Thu Mar 21 10:04:44 2013 +0100

        added equals, hashCode

    commit c26cf1d917811ab0d5473342d253314f62d6e0a1
    Author: mvitez <mvitez@cisco.com>
    Date:   Wed Mar 20 18:13:56 2013 +0100

        more progress on yang java model

    commit 32e3b9dbef20ab6d8e40d9eded3c452a7f23fdc2
    Author: mvitez <mvitez@cisco.com>
    Date:   Wed Mar 20 15:44:10 2013 +0100

        Changed getLengthConstraint to getLengthConstraints and
        changed return value from LengthConstraint to Set of LengthConstraints;
        Updated BinaryType implementation accordingly;

    commit e8419305c2b7b3197734c8d89d77be25f2d78440
    Author: mvitez <mvitez@cisco.com>
    Date:   Wed Mar 20 15:44:10 2013 +0100

        more progress on yang java model

    commit 6b0283f178366831306456d59431b5747f6c038b
    Author: mvitez <mvitez@cisco.com>
    Date:   Wed Mar 20 12:08:31 2013 +0100

        Added method definitions for RevisionAwareXPath interface;

    commit 463884e9e9e21ff03a3b89b590d0b08d9dd2d9b7
    Author: mvitez <mvitez@cisco.com>
    Date:   Wed Mar 20 12:08:31 2013 +0100

        rework augment parsing

    commit b2fe0c91d7cf184252e2516ad15cdd50e01130a7
    Author: mvitez <mvitez@cisco.com>
    Date:   Tue Mar 19 18:18:28 2013 +0100

        fix test

    commit cd388c2f7fd0460ca068270035ab0acdaa9e5e79
    Author: mvitez <mvitez@cisco.com>
    Date:   Tue Mar 19 18:16:33 2013 +0100

        more progress on yang java model

    commit 638c43548ca83c739131118a404c7b1d454055db
    Merge: 2b0fb2c 36f2f95
    Author: mvitez <mvitez@cisco.com>
    Date:   Tue Mar 19 15:21:27 2013 +0100

        GeneratedType changed to Type in return value of
        generateTypes method;
        Implemented composite key resolving through GeneratedTOBuilder;
        Added test cases for composite key generation;
        Added list-composite-key.yang file for testing purposes;

Change-Id: I9145a87945cc4638ff454f268eb37dd1bf8b3142
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
30 files changed:
yang-binding/src/main/java/org/opendaylight/controller/yang/binding/DataObject.java [new file with mode: 0644]
yang-binding/src/main/java/org/opendaylight/controller/yang/binding/Notification.java
yang-model-api/src/main/java/org/opendaylight/controller/model/api/type/BinaryTypeDefinition.java
yang-model-api/src/main/java/org/opendaylight/controller/model/api/type/IdentityrefTypeDefinition.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/ContainerSchemaNode.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/Deviation.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/LeafListSchemaNode.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/LeafSchemaNode.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/Module.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/RevisionAwareXPath.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/SchemaContext.java [new file with mode: 0644]
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/SchemaNode.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/Status.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/UnknownSchemaNode.java [new file with mode: 0644]
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/UsesNode.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/AbstractInteger.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/BinaryType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/BitsType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/BooleanType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/Decimal64.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/EnumerationType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/ExtendedType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/IdentityType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/Identityref.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/InstanceIdentifier.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/Leafref.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/RevisionAwareXPathImpl.java [new file with mode: 0644]
yang-model-util/src/main/java/org/opendaylight/controller/model/util/StringType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/UnknownType.java
yang-model-util/src/main/java/org/opendaylight/controller/model/util/YangTypesConverter.java

diff --git a/yang-binding/src/main/java/org/opendaylight/controller/yang/binding/DataObject.java b/yang-binding/src/main/java/org/opendaylight/controller/yang/binding/DataObject.java
new file mode 100644 (file)
index 0000000..02a013e
--- /dev/null
@@ -0,0 +1,5 @@
+package org.opendaylight.controller.yang.binding;
+
+public interface DataObject {
+
+}
index 9b8c1cff02895de04e910541ecb145de0ba9a66e..ae568baa43753c2bf71423965b78982fa1d9ed4b 100644 (file)
@@ -12,6 +12,7 @@ package org.opendaylight.controller.yang.binding;
  * \r
  * \r
  */\r
-public interface Notification {\r
+public interface Notification extends DataObject {\r
 \r
 }\r
+
index babceb24d5ff96c8aaae85d5362fac97545263c2..e99bbb14c66cecbc76f04ee78e1d60a2afd771cd 100644 (file)
@@ -7,6 +7,8 @@
  */\r
 package org.opendaylight.controller.model.api.type;\r
 \r
+import java.util.List;\r
+\r
 import org.opendaylight.controller.yang.model.api.TypeDefinition;\r
 \r
 /**\r
@@ -18,16 +20,16 @@ import org.opendaylight.controller.yang.model.api.TypeDefinition;
  * 4</a>). <br>\r
  * The canonical form of a binary value follows the rules in <a\r
  * href="https://tools.ietf.org/html/rfc4648">[RFC4648]</a>.\r
- * \r
- * \r
+ *\r
+ *\r
  */\r
 public interface BinaryTypeDefinition extends\r
         TypeDefinition<BinaryTypeDefinition> {\r
 \r
     /**\r
-     * Returns the number of octets it that binary value contains.\r
-     * \r
-     * @return the number of octets it that binary value contains.\r
+     * Returns List of number of octets that binary value contains.\r
+     *\r
+     * @return List of number of octets that binary value contains.\r
      */\r
-    public LengthConstraint getLengthConstraint();\r
+    public List<LengthConstraint> getLengthConstraints();\r
 }\r
index 050802019f7919000cb0eb34c5be57059208b6f3..1b11cd3d13b82e4cd3e1e0c760a64b69a54c2b59 100644 (file)
@@ -7,10 +7,13 @@
  */\r
 package org.opendaylight.controller.model.api.type;\r
 \r
+import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;\r
 import org.opendaylight.controller.yang.model.api.TypeDefinition;\r
 \r
 public interface IdentityrefTypeDefinition extends\r
         TypeDefinition<IdentityTypeDefinition> {\r
-\r
+    \r
+    public RevisionAwareXPath getPathStatement();\r
+    \r
     public IdentityTypeDefinition getIdentity();\r
 }\r
index 27711c96f4cc7553ad5497b4d33663c72e6d20d5..f8674176cf646bf4104babfb2c7ecac7911baaf7 100644 (file)
@@ -16,6 +16,4 @@ public interface ContainerSchemaNode extends DataNodeContainer,
 \r
     boolean isPresenceContainer();\r
 \r
-    MustDefinition getMustDefinition();\r
-\r
 }\r
index 83510bac0f35e33f99ea3c6b8a349af886af5860..b3b2c06caa03502c904351d27e1d90a9b4d1e1fa 100644 (file)
@@ -9,8 +9,6 @@ package org.opendaylight.controller.yang.model.api;
 \r
 public interface Deviation {\r
 \r
-    MustDefinition getMustDefinition();\r
-\r
     enum Deviate {\r
         NOT_SUPPORTED, ADD, REPLACE, DELETE\r
     }\r
index 2c41e19a27278c1e6126bc6bc9c89167a8452f46..1d7287f0f7333ad8f6cdf2eed15ea0cbf27f99c2 100644 (file)
@@ -13,6 +13,4 @@ public interface LeafListSchemaNode extends DataSchemaNode {
 \r
     boolean isUserOrdered();\r
 \r
-    MustDefinition getMustDefinition();\r
-\r
 }\r
index ccb075f7a5494719aab83543101306a165f58056..3ad047f3b96e345cf3b9cd12af0db8edb2fbd613 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.controller.yang.model.api;\r
 \r
 public interface LeafSchemaNode extends DataSchemaNode {\r
-    TypeDefinition getType();\r
 \r
-    MustDefinition getMustDefinition();\r
+    TypeDefinition<?> getType();\r
+\r
 }\r
index 6731844a5be1000a13f6c3955c2565bc9c08816c..7dda61ec7e76a05684da5ce55a56ee1368c6afbd 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.controller.yang.model.api;
 \r
 import java.net.URI;\r
 import java.util.Date;\r
+import java.util.List;\r
 import java.util.Set;\r
 \r
 public interface Module extends DataNodeContainer {\r
@@ -43,4 +44,6 @@ public interface Module extends DataNodeContainer {
 \r
     Set<Deviation> getDeviations();\r
 \r
+    List<ExtensionDefinition> getExtensionSchemaNodes();\r
+\r
 }\r
index df360eb43c98e7e47ac7ab34d392b19383785f45..a3364d625f4fd194bd45ad2b297a63b15c75e3ea 100644 (file)
@@ -8,5 +8,21 @@
 package org.opendaylight.controller.yang.model.api;\r
 \r
 public interface RevisionAwareXPath {\r
-\r
+    \r
+    \r
+    /**\r
+     * Returns <code>true</code> if the XPapth starts in root of Yang model, otherwise returns <code>false</cdoe>.\r
+     * \r
+     * @return <code>true</code> if the XPapth starts in root of Yang model, otherwise returns <code>false</cdoe>\r
+     */\r
+    public boolean isAbsolute();\r
+    \r
+    /**\r
+     * Returns the XPath formatted string as is defined in model. \r
+     * <br>\r
+     * For example: /prefix:container/prefix:container::cond[when()=foo]/prefix:leaf\r
+     * \r
+     * @return the XPath formatted string as is defined in model.\r
+     */\r
+    public String toString();\r
 }\r
diff --git a/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/SchemaContext.java b/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/SchemaContext.java
new file mode 100644 (file)
index 0000000..c497c3d
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * 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.model.api;
+
+import java.util.Set;
+
+
+
+/**
+ * 
+ */
+public interface SchemaContext {
+
+    Set<DataSchemaNode> getDataDefinitions();
+
+    Set<Module> getModules();
+
+    Set<NotificationDefinition> getNotifications();
+
+    Set<RpcDefinition> getOperations();
+    
+    Set<ExtensionDefinition> getExtensions();
+}
index 97ca6a9585e8b07bebebcfe14f46ebbf24249933..4d3c48654db23dfc6bb7fe53887c002c2bbb03b2 100644 (file)
@@ -23,5 +23,5 @@ public interface SchemaNode {
 \r
     public Status getStatus();\r
 \r
-    public List<ExtensionDefinition> getExtensionSchemaNodes();\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes();\r
 }\r
index 0cb3f141490b417d04f4760e79fcce61437626b6..9a49d79d323a686d05e91a037c56c68c861e927b 100644 (file)
@@ -8,5 +8,5 @@
 package org.opendaylight.controller.yang.model.api;\r
 \r
 public enum Status {\r
-    CURRENT, DEPRECATED, OBSOLOTE\r
+    CURRENT, DEPRECATED, OBSOLETE\r
 }\r
diff --git a/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/UnknownSchemaNode.java b/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/UnknownSchemaNode.java
new file mode 100644 (file)
index 0000000..f6f4ac7
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+ * 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.model.api;
+
+public interface UnknownSchemaNode extends SchemaNode {
+
+}
index 61a6d69d60f6ef100a623f72e8e9c4d3092f4c3b..715dce7027d2d72fa5804254e8ec60b5cb79c816 100644 (file)
@@ -7,7 +7,12 @@
  */\r
 package org.opendaylight.controller.yang.model.api;\r
 \r
+import java.util.Set;\r
+\r
 public interface UsesNode {\r
+\r
     SchemaPath getGroupingPath();\r
+    Set<AugmentationSchema> getAugmentations();\r
+    boolean isAugmenting();\r
 \r
 }\r
index 58040225c182a1c3f002618c497c9dd4a1bfa566..33cb2b02687f956c2f8dbac5ced59ff9f08f6787 100644 (file)
@@ -13,9 +13,9 @@ import java.util.List;
 import org.opendaylight.controller.model.api.type.IntegerTypeDefinition;\r
 import org.opendaylight.controller.model.api.type.RangeConstraint;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public abstract class AbstractInteger implements IntegerTypeDefinition {\r
 \r
@@ -112,7 +112,7 @@ public abstract class AbstractInteger implements IntegerTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index 99a948960b0f7c339eb3c70b688be10e141edb8b..7429c015314317d1a5a2bcbb473d949e9955c729 100644 (file)
@@ -13,9 +13,9 @@ import java.util.List;
 import org.opendaylight.controller.model.api.type.BinaryTypeDefinition;\r
 import org.opendaylight.controller.model.api.type.LengthConstraint;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class BinaryType implements BinaryTypeDefinition {\r
 \r
@@ -25,29 +25,28 @@ public class BinaryType implements BinaryTypeDefinition {
     private final String reference = "";\r
 \r
     private List<Byte> bytes;\r
-    private final LengthConstraint lengthConstraint;\r
+    private final List<LengthConstraint> lengthConstraints;\r
     private String units = "";\r
 \r
     public BinaryType() {\r
         super();\r
 \r
-        lengthConstraint = BaseConstraints.lengthConstraint(0L, Long.MAX_VALUE,\r
-                null, null);\r
+        lengthConstraints = Collections.emptyList();\r
         bytes = Collections.emptyList();\r
         bytes = Collections.unmodifiableList(bytes);\r
     }\r
 \r
     public BinaryType(final List<Byte> bytes,\r
-            final LengthConstraint lengthConstraint, final String units) {\r
+            final List<LengthConstraint> lengthConstraints, final String units) {\r
         super();\r
         this.bytes = bytes;\r
-        this.lengthConstraint = lengthConstraint;\r
+        this.lengthConstraints = lengthConstraints;\r
         this.units = units;\r
     }\r
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getBaseType()\r
      */\r
     @Override\r
@@ -57,7 +56,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getUnits()\r
      */\r
     @Override\r
@@ -67,7 +66,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.TypeDefinition#getDefaultValue()\r
      */\r
     @Override\r
@@ -77,7 +76,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getQName()\r
      */\r
     @Override\r
@@ -87,7 +86,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getPath()\r
      */\r
     @Override\r
@@ -97,7 +96,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getDescription()\r
      */\r
     @Override\r
@@ -107,7 +106,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getReference()\r
      */\r
     @Override\r
@@ -117,7 +116,7 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getStatus()\r
      */\r
     @Override\r
@@ -127,18 +126,18 @@ public class BinaryType implements BinaryTypeDefinition {
 \r
     /*\r
      * (non-Javadoc)\r
-     * \r
+     *\r
      * @see\r
      * org.opendaylight.controller.yang.model.base.type.api.BinaryTypeDefinition#getLengthConstraint\r
      * ()\r
      */\r
     @Override\r
-    public LengthConstraint getLengthConstraint() {\r
-        return lengthConstraint;\r
+    public List<LengthConstraint> getLengthConstraints() {\r
+        return lengthConstraints;\r
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
@@ -151,7 +150,7 @@ public class BinaryType implements BinaryTypeDefinition {
                 + ((description == null) ? 0 : description.hashCode());\r
         result = prime\r
                 * result\r
-                + ((lengthConstraint == null) ? 0 : lengthConstraint.hashCode());\r
+                + ((lengthConstraints == null) ? 0 : lengthConstraints.hashCode());\r
         result = prime * result + ((name == null) ? 0 : name.hashCode());\r
         result = prime * result + ((path == null) ? 0 : path.hashCode());\r
         result = prime * result\r
@@ -186,11 +185,11 @@ public class BinaryType implements BinaryTypeDefinition {
         } else if (!description.equals(other.description)) {\r
             return false;\r
         }\r
-        if (lengthConstraint == null) {\r
-            if (other.lengthConstraint != null) {\r
+        if (lengthConstraints == null) {\r
+            if (other.lengthConstraints != null) {\r
                 return false;\r
             }\r
-        } else if (!lengthConstraint.equals(other.lengthConstraint)) {\r
+        } else if (!lengthConstraints.equals(other.lengthConstraints)) {\r
             return false;\r
         }\r
         if (name == null) {\r
@@ -237,8 +236,8 @@ public class BinaryType implements BinaryTypeDefinition {
         builder.append(reference);\r
         builder.append(", bytes=");\r
         builder.append(bytes);\r
-        builder.append(", lengthConstraint=");\r
-        builder.append(lengthConstraint);\r
+        builder.append(", lengthConstraints=");\r
+        builder.append(lengthConstraints);\r
         builder.append(", units=");\r
         builder.append(units);\r
         builder.append("]");\r
index 57deb07ba1213ba9a98e610e7bac129b8deac628..b783bc773090e76d56c197797d30f33d5fdd1c9b 100644 (file)
@@ -12,9 +12,9 @@ import java.util.List;
 \r
 import org.opendaylight.controller.model.api.type.BitsTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class BitsType implements BitsTypeDefinition {\r
 \r
@@ -137,7 +137,7 @@ public class BitsType implements BitsTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index 361ef56bbd23f31781c6bfbca5abb5018270caf5..c9d319d2c6559eb8467d1c36627eecb4cff31aaa 100644 (file)
@@ -12,9 +12,9 @@ import java.util.List;
 \r
 import org.opendaylight.controller.model.api.type.BooleanTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class BooleanType implements BooleanTypeDefinition {\r
 \r
@@ -137,7 +137,7 @@ public class BooleanType implements BooleanTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index 5c6eac1cc226bb3548efd33f43e16f6ece70c3c9..233e4607ce703eeb1cadd7f6499154e1c293a41a 100644 (file)
@@ -15,9 +15,9 @@ import java.util.List;
 import org.opendaylight.controller.model.api.type.DecimalTypeDefinition;\r
 import org.opendaylight.controller.model.api.type.RangeConstraint;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class Decimal64 implements DecimalTypeDefinition {\r
 \r
@@ -103,7 +103,7 @@ public class Decimal64 implements DecimalTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index 34d7459b36439b7c4bfe414ebbfbe23c4fc1dd21..34ac5374f7415f6e965b40571b59ecd57c86d33d 100644 (file)
@@ -12,9 +12,9 @@ import java.util.List;
 \r
 import org.opendaylight.controller.model.api.type.EnumTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class EnumerationType implements EnumTypeDefinition {\r
 \r
@@ -133,7 +133,7 @@ public class EnumerationType implements EnumTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index 44ca80430c2a8b80ed65a47ea8bb1d8406e1246e..87c74be7a283ea95578a406d532c7596676e8c1c 100644 (file)
@@ -11,10 +11,10 @@ import java.util.Collections;
 import java.util.List;\r
 \r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.TypeDefinition;\r
+import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;\r
 \r
 public class ExtendedType implements TypeDefinition {\r
 \r
@@ -23,7 +23,7 @@ public class ExtendedType implements TypeDefinition {
     private final SchemaPath path;\r
     private final String description;\r
     private final String reference;\r
-    private final List<ExtensionDefinition> extensions;\r
+    private final List<UnknownSchemaNode> unknownSchemaNodes;\r
 \r
     private Status status;\r
     private String units;\r
@@ -37,7 +37,7 @@ public class ExtendedType implements TypeDefinition {
         private final String description;\r
         private final String reference;\r
 \r
-        private List<ExtensionDefinition> extensions = Collections.emptyList();;\r
+        private List<UnknownSchemaNode> unknownSchemaNodes = Collections.emptyList();;\r
         private Status status = Status.CURRENT;\r
         private String units = "";\r
         private Object defaultValue = null;\r
@@ -66,8 +66,8 @@ public class ExtendedType implements TypeDefinition {
             return this;\r
         }\r
 \r
-        public Builder extensions(final List<ExtensionDefinition> extensions) {\r
-            this.extensions = extensions;\r
+        public Builder unknownSchemaNodes(final List<UnknownSchemaNode> unknownSchemaNodes) {\r
+            this.unknownSchemaNodes = unknownSchemaNodes;\r
             return this;\r
         }\r
 \r
@@ -82,7 +82,7 @@ public class ExtendedType implements TypeDefinition {
         this.path = builder.path;\r
         this.description = builder.description;\r
         this.reference = builder.reference;\r
-        this.extensions = builder.extensions;\r
+        this.unknownSchemaNodes = builder.unknownSchemaNodes;\r
         this.status = builder.status;\r
         this.units = builder.units;\r
         this.defaultValue = builder.defaultValue;\r
@@ -129,8 +129,8 @@ public class ExtendedType implements TypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
-        return extensions;\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
+        return unknownSchemaNodes;\r
     }\r
 \r
     @Override\r
@@ -144,7 +144,7 @@ public class ExtendedType implements TypeDefinition {
         result = prime * result\r
                 + ((description == null) ? 0 : description.hashCode());\r
         result = prime * result\r
-                + ((extensions == null) ? 0 : extensions.hashCode());\r
+                + ((unknownSchemaNodes == null) ? 0 : unknownSchemaNodes.hashCode());\r
         result = prime * result + ((path == null) ? 0 : path.hashCode());\r
         result = prime * result\r
                 + ((reference == null) ? 0 : reference.hashCode());\r
@@ -188,11 +188,11 @@ public class ExtendedType implements TypeDefinition {
         } else if (!description.equals(other.description)) {\r
             return false;\r
         }\r
-        if (extensions == null) {\r
-            if (other.extensions != null) {\r
+        if (unknownSchemaNodes == null) {\r
+            if (other.unknownSchemaNodes != null) {\r
                 return false;\r
             }\r
-        } else if (!extensions.equals(other.extensions)) {\r
+        } else if (!unknownSchemaNodes.equals(other.unknownSchemaNodes)) {\r
             return false;\r
         }\r
         if (path == null) {\r
@@ -242,8 +242,8 @@ public class ExtendedType implements TypeDefinition {
         builder2.append(description);\r
         builder2.append(", reference=");\r
         builder2.append(reference);\r
-        builder2.append(", extensions=");\r
-        builder2.append(extensions);\r
+        builder2.append(", unknownSchemaNodes=");\r
+        builder2.append(unknownSchemaNodes);\r
         builder2.append(", status=");\r
         builder2.append(status);\r
         builder2.append(", units=");\r
index 2c102060e3a2ab6e69a0a9d7e81e60e6bf52f491..775d368eaf27ae543dbaedccfa3cb000c5d9ccb3 100644 (file)
@@ -12,9 +12,9 @@ import java.util.List;
 \r
 import org.opendaylight.controller.model.api.type.IdentityTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class IdentityType implements IdentityTypeDefinition {\r
 \r
@@ -113,7 +113,7 @@ public class IdentityType implements IdentityTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index c4040c1f234f3507416517567a866373f1a69bc7..24ab0af1ad0806c82497f32d13e6a7661d860131 100644 (file)
@@ -13,9 +13,10 @@ import java.util.List;
 import org.opendaylight.controller.model.api.type.IdentityTypeDefinition;\r
 import org.opendaylight.controller.model.api.type.IdentityrefTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\r
+import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;\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.UnknownSchemaNode;\r
 \r
 public class Identityref implements IdentityrefTypeDefinition {\r
 \r
@@ -25,12 +26,20 @@ public class Identityref implements IdentityrefTypeDefinition {
     private final String reference = "";\r
 \r
     private final IdentityTypeDefinition identity;\r
+    private final RevisionAwareXPath xpath;\r
 \r
     private String units = "";\r
 \r
-    public Identityref(IdentityTypeDefinition identity) {\r
+    public Identityref(RevisionAwareXPath xpath, IdentityTypeDefinition identity) {\r
         super();\r
         this.identity = identity;\r
+        this.xpath = xpath;\r
+    }\r
+    \r
+    public Identityref(RevisionAwareXPath xpath) {\r
+        super();\r
+        this.xpath = xpath;\r
+        this.identity = null;\r
     }\r
 \r
     /*\r
@@ -114,7 +123,7 @@ public class Identityref implements IdentityrefTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
@@ -129,96 +138,11 @@ public class Identityref implements IdentityrefTypeDefinition {
     public IdentityTypeDefinition getIdentity() {\r
         return identity;\r
     }\r
-\r
-    @Override\r
-    public int hashCode() {\r
-        final int prime = 31;\r
-        int result = 1;\r
-        result = prime * result\r
-                + ((description == null) ? 0 : description.hashCode());\r
-        result = prime * result\r
-                + ((identity == null) ? 0 : identity.hashCode());\r
-        result = prime * result + ((name == null) ? 0 : name.hashCode());\r
-        result = prime * result + ((path == null) ? 0 : path.hashCode());\r
-        result = prime * result\r
-                + ((reference == null) ? 0 : reference.hashCode());\r
-        result = prime * result + ((units == null) ? 0 : units.hashCode());\r
-        return result;\r
-    }\r
-\r
-    @Override\r
-    public boolean equals(Object obj) {\r
-        if (this == obj) {\r
-            return true;\r
-        }\r
-        if (obj == null) {\r
-            return false;\r
-        }\r
-        if (getClass() != obj.getClass()) {\r
-            return false;\r
-        }\r
-        Identityref other = (Identityref) obj;\r
-        if (description == null) {\r
-            if (other.description != null) {\r
-                return false;\r
-            }\r
-        } else if (!description.equals(other.description)) {\r
-            return false;\r
-        }\r
-        if (identity == null) {\r
-            if (other.identity != null) {\r
-                return false;\r
-            }\r
-        } else if (!identity.equals(other.identity)) {\r
-            return false;\r
-        }\r
-        if (name == null) {\r
-            if (other.name != null) {\r
-                return false;\r
-            }\r
-        } else if (!name.equals(other.name)) {\r
-            return false;\r
-        }\r
-        if (path == null) {\r
-            if (other.path != null) {\r
-                return false;\r
-            }\r
-        } else if (!path.equals(other.path)) {\r
-            return false;\r
-        }\r
-        if (reference == null) {\r
-            if (other.reference != null) {\r
-                return false;\r
-            }\r
-        } else if (!reference.equals(other.reference)) {\r
-            return false;\r
-        }\r
-        if (units == null) {\r
-            if (other.units != null) {\r
-                return false;\r
-            }\r
-        } else if (!units.equals(other.units)) {\r
-            return false;\r
-        }\r
-        return true;\r
-    }\r
-\r
+    \r
     @Override\r
-    public String toString() {\r
-        StringBuilder builder = new StringBuilder();\r
-        builder.append("IdentityrefType [name=");\r
-        builder.append(name);\r
-        builder.append(", path=");\r
-        builder.append(path);\r
-        builder.append(", description=");\r
-        builder.append(description);\r
-        builder.append(", reference=");\r
-        builder.append(reference);\r
-        builder.append(", identity=");\r
-        builder.append(identity);\r
-        builder.append(", units=");\r
-        builder.append(units);\r
-        builder.append("]");\r
-        return builder.toString();\r
+    public RevisionAwareXPath getPathStatement() {\r
+        return xpath;\r
     }\r
+    \r
+    \r
 }\r
index 8376d9bd62a639c1b5190565581d5a06f439d34d..9a238aea1f031935a6c69c1155852f12bf5d003b 100644 (file)
@@ -12,10 +12,10 @@ import java.util.List;
 \r
 import org.opendaylight.controller.model.api.type.InstanceIdentifierTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\r
 import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;\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.UnknownSchemaNode;\r
 \r
 public class InstanceIdentifier implements InstanceIdentifierTypeDefinition {\r
 \r
@@ -122,7 +122,7 @@ public class InstanceIdentifier implements InstanceIdentifierTypeDefinition {
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getExtensionSchemaNodes()\r
      */\r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index 53c2c82ac3b32130121790c4ae004baa95e3df2a..9c99d4218a77c0f06a0a9246e66d4cf2fd7b5d26 100644 (file)
@@ -12,10 +12,10 @@ import java.util.List;
 \r
 import org.opendaylight.controller.model.api.type.LeafrefTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\r
 import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;\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.UnknownSchemaNode;\r
 \r
 public class Leafref implements LeafrefTypeDefinition {\r
     private static final QName name = BaseTypes.constructQName("leafref");\r
@@ -116,7 +116,7 @@ public class Leafref implements LeafrefTypeDefinition {
      * @see org.opendaylight.controller.yang.model.api.SchemaNode#getExtensionSchemaNodes()\r
      */\r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
diff --git a/yang-model-util/src/main/java/org/opendaylight/controller/model/util/RevisionAwareXPathImpl.java b/yang-model-util/src/main/java/org/opendaylight/controller/model/util/RevisionAwareXPathImpl.java
new file mode 100644 (file)
index 0000000..d3328f3
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * 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.model.util;
+
+import org.opendaylight.controller.yang.model.api.RevisionAwareXPath;
+
+public class RevisionAwareXPathImpl implements RevisionAwareXPath {
+
+    private final String xpath;
+    private final boolean absolute;
+
+    public RevisionAwareXPathImpl(String xpath, boolean absolute) {
+        this.xpath = xpath;
+        this.absolute = absolute;
+    }
+
+    @Override
+    public boolean isAbsolute() {
+        return absolute;
+    }
+
+    @Override
+    public String toString() {
+        return xpath;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((xpath == null) ? 0 : xpath.hashCode());
+        result = prime * result + (absolute ? 1231 : 1237);
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        RevisionAwareXPathImpl other = (RevisionAwareXPathImpl) obj;
+        if (xpath == null) {
+            if (other.xpath != null) {
+                return false;
+            }
+        } else if (!xpath.equals(other.xpath)) {
+            return false;
+        }
+        if (absolute != other.absolute) {
+            return false;
+        }
+        return false;
+    }
+
+}
index f64083129717a855b2f378f93fb7a2ecec89fe13..99b6d26684af44bad5949e60acca58a1cd0aa190 100644 (file)
@@ -14,9 +14,9 @@ import org.opendaylight.controller.model.api.type.LengthConstraint;
 import org.opendaylight.controller.model.api.type.PatternConstraint;\r
 import org.opendaylight.controller.model.api.type.StringTypeDefinition;\r
 import org.opendaylight.controller.yang.common.QName;\r
-import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class StringType implements StringTypeDefinition {\r
 \r
@@ -159,7 +159,7 @@ public class StringType implements StringTypeDefinition {
     }\r
 \r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return Collections.emptyList();\r
     }\r
 \r
index b1e1082c607e98f1c7fa7465e25a6672c1841f18..f0b5ddd2865f2c34aec5eb70c3b7eedc23d7798a 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\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.UnknownSchemaNode;\r
 \r
 public class UnknownType implements UnknownTypeDefinition {\r
 \r
@@ -29,7 +30,7 @@ public class UnknownType implements UnknownTypeDefinition {
     private final List<LengthConstraint> lengthStatements;\r
     private final List<PatternConstraint> patterns;\r
     private final List<RangeConstraint> rangeStatements;\r
-    private final List<ExtensionDefinition> extensions;\r
+    private final List<UnknownSchemaNode> extensions;\r
     private final LengthConstraint lengthConstraint;\r
 \r
     private final Status status;\r
@@ -47,7 +48,7 @@ public class UnknownType implements UnknownTypeDefinition {
                 .emptyList();\r
         private List<PatternConstraint> patterns = Collections.emptyList();\r
         private List<RangeConstraint> rangeStatements = Collections.emptyList();\r
-        private List<ExtensionDefinition> extensions = Collections.emptyList();\r
+        private List<UnknownSchemaNode> extensions = Collections.emptyList();\r
         private LengthConstraint lengthConstraint = null;\r
 \r
         private Status status = Status.CURRENT;\r
@@ -94,7 +95,7 @@ public class UnknownType implements UnknownTypeDefinition {
             return this;\r
         }\r
 \r
-        public Builder extensions(final List<ExtensionDefinition> extensions) {\r
+        public Builder extensions(final List<UnknownSchemaNode> extensions) {\r
             this.extensions = extensions;\r
             return this;\r
         }\r
@@ -231,7 +232,7 @@ public class UnknownType implements UnknownTypeDefinition {
      * ()\r
      */\r
     @Override\r
-    public List<ExtensionDefinition> getExtensionSchemaNodes() {\r
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {\r
         return extensions;\r
     }\r
 \r
index 1ab1dc63b1a9f46ca8716a428384be3915117dcb..a09d27e340bbab323b4679ad0d212a9963cb83eb 100644 (file)
@@ -59,16 +59,21 @@ public class YangTypesConverter {
         baseYangTypes.add("bits");\r
         baseYangTypes.add("boolean");\r
         baseYangTypes.add("decimal64");\r
+        baseYangTypes.add("empty");\r
         baseYangTypes.add("enumeration");\r
+        baseYangTypes.add("identityref");\r
+        baseYangTypes.add("instance-identifier");\r
         baseYangTypes.add("int8");\r
         baseYangTypes.add("int16");\r
         baseYangTypes.add("int32");\r
         baseYangTypes.add("int64");\r
+        baseYangTypes.add("leafref");\r
         baseYangTypes.add("string");\r
         baseYangTypes.add("uint8");\r
         baseYangTypes.add("uint16");\r
         baseYangTypes.add("uint32");\r
         baseYangTypes.add("uint64");\r
+        baseYangTypes.add("union");\r
     }\r
 \r
     public static boolean isBaseYangType(String type) {\r