Expose DefaultQuery class
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / query / SimpleQueryExecutor.java
index 776301d7b7162986c1821965e2ea07f6a95bde32..31cd85c101b3035a13e162b3db55324a7b47d816 100644 (file)
@@ -18,8 +18,6 @@ import org.opendaylight.mdsal.binding.api.query.QueryExpression;
 import org.opendaylight.mdsal.binding.api.query.QueryResult;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode;
-import org.opendaylight.mdsal.dom.api.query.DOMQuery;
-import org.opendaylight.mdsal.dom.api.query.DOMQueryLike;
 import org.opendaylight.mdsal.dom.spi.query.DOMQueryEvaluator;
 import org.opendaylight.yangtools.yang.binding.ChildOf;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -35,19 +33,17 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 @Beta
 public final class SimpleQueryExecutor implements QueryExecutor {
-    private final BindingCodecTree codec;
     private final NormalizedNode<?, ?> root;
 
-    public SimpleQueryExecutor(final BindingCodecTree codec, final NormalizedNode<?, ?> root) {
-        this.codec = requireNonNull(codec);
+    public SimpleQueryExecutor(final NormalizedNode<?, ?> root) {
         this.root = requireNonNull(root);
     }
 
     @Override
     public <T extends @NonNull DataObject> QueryResult<T> executeQuery(final QueryExpression<T> query) {
-        checkArgument(query instanceof DOMQueryLike, "Unsupported expression %s", query);
-        final DOMQuery domQuery = ((DOMQueryLike) query).asDOMQuery();
-        return new DefaultQueryResult<>(codec, DOMQueryEvaluator.evaluateOnRoot(domQuery, root));
+        checkArgument(query instanceof DefaultQuery, "Unsupported expression %s", query);
+        final DefaultQuery<T> defaultQuery = (DefaultQuery<T>) query;
+        return defaultQuery.toQueryResult(DOMQueryEvaluator.evaluateOnRoot(defaultQuery.asDOMQuery(), root));
     }
 
     public static @NonNull Builder builder(final BindingCodecTree codec) {
@@ -73,7 +69,7 @@ public final class SimpleQueryExecutor implements QueryExecutor {
 
         @Override
         public SimpleQueryExecutor build() {
-            return new SimpleQueryExecutor(codec, rootBuilder.build());
+            return new SimpleQueryExecutor(rootBuilder.build());
         }
     }
 }