import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
targetNode = findInstanceDataChildByNameAndNamespace(parentNode, nodeName, module.getNamespace());
if (targetNode == null && parentNode instanceof Module) {
- final RpcDefinition rpc = ControllerContext.getInstance().getRpcDefinition(head);
+ final RpcDefinition rpc = ControllerContext.getInstance().getRpcDefinition(head, module.getRevision());
if (rpc != null) {
return new InstanceIdentifierContext<RpcDefinition>(builder.build(), rpc, mountPoint,
mountPoint != null ? mountPoint.getSchemaContext() : globalSchema);
String additionalInfo = "";
if (decoded == null) {
if ((baseType instanceof IdentityrefTypeDefinition)) {
- decoded = toQName(urlDecoded);
+ decoded = toQName(urlDecoded, null);
additionalInfo = "For key which is of type identityref it should be in format module_name:identity_name.";
}
}
return str.substring(idx + 1);
}
- private QName toQName(final String name) {
+ private QName toQName(final String name, final Date revisionDate) {
checkPreconditions();
final String module = toModuleName(name);
final String node = toNodeName(name);
- final Module m = globalSchema.findModuleByName(module, null);
+ final Module m = globalSchema.findModuleByName(module, revisionDate);
return m == null ? null : QName.create(m.getQNameModule(), node);
}
return node instanceof ListSchemaNode || node instanceof ContainerSchemaNode;
}
- public RpcDefinition getRpcDefinition(final String name) {
- final QName validName = toQName(name);
+ public RpcDefinition getRpcDefinition(final String name, final Date revisionDate) {
+ final QName validName = toQName(name, revisionDate);
return validName == null ? null : qnameToRpc.get().get(validName);
}