Move AbstractDOMDataBroker to mdsal-dom-spi
[mdsal.git] / dom / mdsal-dom-broker / src / main / java / org / opendaylight / mdsal / dom / broker / GlobalDOMRpcRoutingTableEntry.java
index b63f2563b4ae0bee27f6ea545192bbd99f55ba6d..86269b2fe2202e481145857317122c8a064ffdb2 100644 (file)
@@ -7,42 +7,30 @@
  */
 package org.opendaylight.mdsal.dom.broker;
 
-import org.opendaylight.mdsal.dom.api.DOMRpcException;
-import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
-import org.opendaylight.mdsal.dom.api.DOMRpcImplementation;
-import org.opendaylight.mdsal.dom.api.DOMRpcResult;
-
-import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.CheckedFuture;
 import java.util.List;
 import java.util.Map;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
+import org.opendaylight.mdsal.dom.api.DOMRpcImplementation;
+import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 
 final class GlobalDOMRpcRoutingTableEntry extends AbstractDOMRpcRoutingTableEntry {
-    private static final YangInstanceIdentifier ROOT = YangInstanceIdentifier.builder().build();
-    private final DOMRpcIdentifier rpcId;
-
-    private GlobalDOMRpcRoutingTableEntry(final DOMRpcIdentifier rpcId, final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) {
-        super(rpcId.getType(), impls);
-        this.rpcId = Preconditions.checkNotNull(rpcId);
+    private GlobalDOMRpcRoutingTableEntry(final DOMRpcIdentifier rpcId,
+            final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) {
+        super(rpcId, impls);
     }
 
     // We do not need the RpcDefinition, but this makes sure we do not
     // forward something we don't know to be an RPC.
-    GlobalDOMRpcRoutingTableEntry(final RpcDefinition def, final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) {
-        super(def.getPath(), impls);
-        this.rpcId = DOMRpcIdentifier.create(def.getPath());
-    }
-
-    @Override
-    protected CheckedFuture<DOMRpcResult, DOMRpcException> invokeRpc(final NormalizedNode<?, ?> input) {
-        return getImplementations(ROOT).get(0).invokeRpc(rpcId, input);
+    GlobalDOMRpcRoutingTableEntry(final @NonNull QName rpcName,
+            final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) {
+        super(DOMRpcIdentifier.create(rpcName), impls);
     }
 
     @Override
-    protected GlobalDOMRpcRoutingTableEntry newInstance(final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) {
-        return new GlobalDOMRpcRoutingTableEntry(rpcId, impls);
+    protected GlobalDOMRpcRoutingTableEntry newInstance(
+            final Map<YangInstanceIdentifier, List<DOMRpcImplementation>> impls) {
+        return new GlobalDOMRpcRoutingTableEntry(getRpcId(), impls);
     }
-}
\ No newline at end of file
+}