import org.opendaylight.mdsal.dom.api.DOMRpcResult;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import com.google.common.base.Function;
+import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import com.google.common.util.concurrent.CheckedFuture;
protected RoutedStrategy(final SchemaPath path, final Method rpcMethod, final QName leafName) {
super(path);
- final Class<? extends DataContainer> inputType = BindingReflections.resolveRpcInputClass(rpcMethod).get();
+ final Optional<Class<? extends DataContainer>> maybeInputType =
+ BindingReflections.resolveRpcInputClass(rpcMethod);
+ Preconditions.checkState(maybeInputType.isPresent(), "RPC method %s has no input", rpcMethod.getName());
+ final Class<? extends DataContainer> inputType = maybeInputType.get();
refExtractor = ContextReferenceExtractor.from(inputType);
this.contextName = new NodeIdentifier(leafName);
}