import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
import org.opendaylight.mdsal.dom.spi.RpcRoutingStrategy;
import org.opendaylight.yangtools.yang.binding.RpcService;
+import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
throw new UnsupportedOperationException();
}
- static Collection<SchemaPath> decomposeRpcService(final Class<RpcService> service,
+ static Collection<QName> decomposeRpcService(final Class<RpcService> service,
final SchemaContext schemaContext, final Predicate<RpcRoutingStrategy> filter) {
final QNameModule moduleName = BindingReflections.getQNameModule(service);
final Module module = schemaContext.findModule(moduleName).orElseThrow(() -> new IllegalArgumentException(
"Module not found in SchemaContext: " + moduleName + "; service: " + service));
LOG.debug("Resolved service {} to module {}", service, module);
- final Collection<RpcDefinition> rpcs = module.getRpcs();
- final Collection<SchemaPath> ret = new ArrayList<>(rpcs.size());
+ final Collection<? extends RpcDefinition> rpcs = module.getRpcs();
+ final Collection<QName> ret = new ArrayList<>(rpcs.size());
for (RpcDefinition rpc : rpcs) {
final RpcRoutingStrategy strategy = RpcRoutingStrategy.from(rpc);
if (filter.test(strategy)) {
- ret.add(rpc.getPath());
+ ret.add(rpc.getQName());
}
}