Enable spotbugs in mdsal-binding-dom-adapter
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / ActionServiceAdapter.java
index 506e15d6960c9b844fa3ff25dee44c072a7c3bee..faa518171169d117cff812b0c7c6b995e9a6846b 100644 (file)
@@ -23,6 +23,7 @@ import org.opendaylight.mdsal.binding.api.ActionService;
 import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMAdapterBuilder.Factory;
 import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMActionService;
 import org.opendaylight.mdsal.dom.api.DOMService;
 import org.opendaylight.yangtools.concepts.Delegator;
@@ -35,7 +36,8 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
 
 @Beta
 @NonNullByDefault
-final class ActionServiceAdapter
+// FIXME: make this class non-public once the controller user is gone
+public final class ActionServiceAdapter
         extends AbstractBindingLoadingAdapter<DOMActionService, Class<? extends Action<?, ?, ?>>, ActionAdapter>
         implements ActionService {
     private static final class Builder extends BindingDOMAdapterBuilder<ActionService> {
@@ -64,7 +66,8 @@ final class ActionServiceAdapter
 
         @Override
         public FluentFuture<RpcResult<RpcOutput>> invoke(final InstanceIdentifier<?> path, final RpcInput input) {
-            checkState(nodes.contains(path), "Cannot service %s", path);
+            checkState(nodes.contains(DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, path)),
+                "Cannot service %s", path);
             return delegate.invoke(path, input);
         }
 
@@ -80,6 +83,12 @@ final class ActionServiceAdapter
         super(codec, delegate);
     }
 
+    @Deprecated
+    public static ActionServiceAdapter create(final BindingToNormalizedNodeCodec codec,
+            final DOMActionService delegate) {
+        return new ActionServiceAdapter(codec, delegate);
+    }
+
     @Override
     public <O extends DataObject, T extends Action<?, ?, ?>> T getActionHandle(final Class<T> actionInterface,
             final Set<DataTreeIdentifier<O>> nodes) {