Remove SchemaContextProvider
[yangtools.git] / yang / yang-data-jaxen / src / main / java / org / opendaylight / yangtools / yang / data / jaxen / JaxenDocument.java
index eb7cdd535755004ff7bcf901486b0b2f5de791cb..72eab6f2750380d9104088f58d2a1d2f1892d191 100644 (file)
@@ -9,28 +9,32 @@ package org.opendaylight.yangtools.yang.data.jaxen;
 
 import static java.util.Objects.requireNonNull;
 
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathDocument;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.data.jaxen.api.XPathDocument;
+import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode;
+import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
+import org.opendaylight.yangtools.yang.model.util.AbstractEffectiveModelContextProvider;
 
-final class JaxenDocument implements XPathDocument {
+@NonNullByDefault
+final class JaxenDocument extends AbstractEffectiveModelContextProvider implements XPathDocument {
+    private final DataSchemaContextNode<?> schema;
     private final NormalizedNode<?, ?> root;
-    private final SchemaContext context;
 
-    JaxenDocument(final JaxenSchemaContext context, final NormalizedNode<?, ?> root) {
+    JaxenDocument(final EffectiveModelContext context, final DataSchemaContextTree tree,
+            final NormalizedNode<?, ?> root) {
+        super(context);
         this.root = requireNonNull(root);
-        this.context = context.getSchemaContext();
+        this.schema = requireNonNull(tree.getRoot().getChild(root.getIdentifier()));
     }
 
-    @Nonnull
     @Override
     public NormalizedNode<?, ?> getRootNode() {
         return root;
     }
 
-    @Nonnull
-    SchemaContext getSchemaContext() {
-        return context;
+    DataSchemaContextNode<?> getSchema() {
+        return schema;
     }
 }