Implemented refine statement parsing. 52/652/1
authorMartin Vitez <mvitez@cisco.com>
Wed, 24 Apr 2013 06:33:45 +0000 (08:33 +0200)
committerMartin Vitez <mvitez@cisco.com>
Wed, 24 Jul 2013 11:44:51 +0000 (13:44 +0200)
Implemented choice statement parsing.
Implemented anyxml statement parsing.
Added EmptyType. Added more tests. Fixed bugs.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
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/NotificationDefinition.java
yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/EmptyType.java [new file with mode: 0644]
yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/YangTypesConverter.java

index f8674176cf646bf4104babfb2c7ecac7911baaf7..62df36e28d63f123fda47a7ab541328d6d227cd9 100644 (file)
@@ -7,13 +7,9 @@
  */\r
 package org.opendaylight.controller.yang.model.api;\r
 \r
-import java.util.Set;\r
-\r
 public interface ContainerSchemaNode extends DataNodeContainer,\r
         AugmentationTarget, DataSchemaNode {\r
 \r
-    Set<UsesNode> getUses();\r
-\r
     boolean isPresenceContainer();\r
 \r
 }\r
index ecb25fcf7dc8e12e5c8a155807bf4a93e453bccd..4e805f0fa6bfa488d3d50841b5e559e5f586eb34 100644 (file)
@@ -7,8 +7,5 @@
  */\r
 package org.opendaylight.controller.yang.model.api;\r
 \r
-import java.util.Set;\r
-\r
 public interface NotificationDefinition extends SchemaNode, DataNodeContainer {\r
-    Set<UsesNode> getUses();\r
 }\r
diff --git a/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/EmptyType.java b/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/EmptyType.java
new file mode 100644 (file)
index 0000000..9a7b13d
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * 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.util;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.opendaylight.controller.yang.common.QName;
+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.model.api.type.EmptyTypeDefinition;
+
+public class EmptyType implements EmptyTypeDefinition {
+
+    private final QName name = BaseTypes.constructQName("empty");
+    private final SchemaPath path = BaseTypes.schemaPath(name);
+    private final String description = "The empty built-in type represents a leaf that does not have any value, it conveys information by its presence or absence.";
+    private final String reference = "https://tools.ietf.org/html/rfc6020#page-131";
+
+    @Override
+    public EmptyTypeDefinition getBaseType() {
+        return this;
+    }
+
+    @Override
+    public String getUnits() {
+        return null;
+    }
+
+    @Override
+    public Object getDefaultValue() {
+        return null;
+    }
+
+    @Override
+    public QName getQName() {
+        return name;
+    }
+
+    @Override
+    public SchemaPath getPath() {
+        return path;
+    }
+
+    @Override
+    public String getDescription() {
+        return description;
+    }
+
+    @Override
+    public String getReference() {
+        return reference;
+    }
+
+    @Override
+    public Status getStatus() {
+        return Status.CURRENT;
+    }
+
+    @Override
+    public List<UnknownSchemaNode> getUnknownSchemaNodes() {
+        return Collections.emptyList();
+    }
+
+}
index f20c6aae6e6b8e3a8a0a3b8e5af227e25e148cee..f04ba66256fa695a73d72659b1c1b10e14661895 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.controller.yang.model.api.type.BinaryTypeDefinition;
 import org.opendaylight.controller.yang.model.api.type.BitsTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.BooleanTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.DecimalTypeDefinition;\r
+import org.opendaylight.controller.yang.model.api.type.EmptyTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.InstanceIdentifierTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.IntegerTypeDefinition;\r
 import org.opendaylight.controller.yang.model.api.type.RangeConstraint;\r
@@ -33,6 +34,7 @@ public class YangTypesConverter {
     private static final TypeDefinition<BinaryTypeDefinition> BINARY = new BinaryType();\r
     private static final TypeDefinition<BitsTypeDefinition> BITS = new BitsType();\r
     private static final TypeDefinition<BooleanTypeDefinition> BOOLEAN_TYPE = new BooleanType();\r
+    private static final TypeDefinition<EmptyTypeDefinition> EMPTY_TYPE = new EmptyType();\r
     private static final TypeDefinition<InstanceIdentifierTypeDefinition> INST_ID_TYPE = new InstanceIdentifier(null, true);\r
     private static final TypeDefinition<IntegerTypeDefinition> INT8_TYPE = new Int8();\r
     private static final TypeDefinition<IntegerTypeDefinition> INT16_TYPE = new Int16();\r
@@ -48,6 +50,7 @@ public class YangTypesConverter {
         baseYangTypeMap.put("binary", BINARY);\r
         baseYangTypeMap.put("bits", BITS);\r
         baseYangTypeMap.put("boolean", BOOLEAN_TYPE);\r
+        baseYangTypeMap.put("empty", EMPTY_TYPE);\r
         baseYangTypeMap.put("instance-identifier", INST_ID_TYPE);\r
         baseYangTypeMap.put("int8", INT8_TYPE);\r
         baseYangTypeMap.put("int16", INT16_TYPE);\r