Added line number to error messages.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / model / parser / builder / impl / UnknownSchemaNodeBuilder.java
index ddbc927e515f3ef64271278fe105893b48f3623f..c2c32ca347b4ae52d44b2111f08cd2de184217fa 100644 (file)
@@ -18,20 +18,25 @@ import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.model.parser.builder.api.SchemaNodeBuilder;
 
 public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder {
-
+    private final UnknownSchemaNodeImpl instance;
+    private final int line;
     private final QName qname;
     private SchemaPath schemaPath;
-    private final UnknownSchemaNodeImpl instance;
     private final List<UnknownSchemaNodeBuilder> addedUnknownNodes = new ArrayList<UnknownSchemaNodeBuilder>();
+    private QName nodeType;
+    private String nodeParameter;
 
-    UnknownSchemaNodeBuilder(final QName qname) {
+    UnknownSchemaNodeBuilder(final QName qname, final int line) {
         this.qname = qname;
+        this.line = line;
         instance = new UnknownSchemaNodeImpl(qname);
     }
 
     @Override
     public UnknownSchemaNode build() {
         instance.setPath(schemaPath);
+        instance.setNodeType(nodeType);
+        instance.setNodeParameter(nodeParameter);
 
         // UNKNOWN NODES
         final List<UnknownSchemaNode> unknownNodes = new ArrayList<UnknownSchemaNode>();
@@ -42,6 +47,11 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder {
         return instance;
     }
 
+    @Override
+    public int getLine() {
+        return line;
+    }
+
     @Override
     public QName getQName() {
         return qname;
@@ -77,6 +87,22 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder {
         addedUnknownNodes.add(unknownNode);
     }
 
+    public QName getNodeType() {
+        return nodeType;
+    }
+
+    public void setNodeType(final QName nodeType) {
+        this.nodeType = nodeType;
+    }
+
+    public String getNodeParameter() {
+        return nodeParameter;
+    }
+
+    public void setNodeParameter(final String nodeParameter) {
+        this.nodeParameter = nodeParameter;
+    }
+
     private static class UnknownSchemaNodeImpl implements UnknownSchemaNode {
         private final QName qname;
         private SchemaPath path;
@@ -84,6 +110,8 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder {
         private String reference;
         private Status status = Status.CURRENT;
         private List<UnknownSchemaNode> unknownNodes = Collections.emptyList();
+        private QName nodeType;
+        private String nodeParameter;
 
         private UnknownSchemaNodeImpl(final QName qname) {
             this.qname = qname;
@@ -143,6 +171,24 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder {
                 this.unknownNodes = unknownNodes;
             }
         }
+
+        @Override
+        public QName getNodeType() {
+            return nodeType;
+        }
+
+        private void setNodeType(final QName nodeType) {
+            this.nodeType = nodeType;
+        }
+
+        @Override
+        public String getNodeParameter() {
+            return nodeParameter;
+        }
+
+        private void setNodeParameter(final String nodeParameter) {
+            this.nodeParameter = nodeParameter;
+        }
     }
 
 }