+ final SchemaContext schema = controllerContext.getGlobalSchema();
+ final Module rpcModule = schema.findModuleByName("toaster", null);
+ assertNotNull(rpcModule);
+ final QName rpcQName = QName.create(rpcModule.getQNameModule(), "testOutput");
+ final QName rpcOutputQName = QName.create(rpcModule.getQNameModule(),"output");
+
+ final Set<RpcDefinition> setRpcs = rpcModule.getRpcs();
+ RpcDefinition rpcDef = null;
+ ContainerSchemaNode rpcOutputSchemaNode = null;
+ for (final RpcDefinition rpc : setRpcs) {
+ if (rpcQName.isEqualWithoutRevision(rpc.getQName())) {
+ rpcOutputSchemaNode = SchemaNodeUtils.getRpcDataSchema(rpc, rpcOutputQName);
+ rpcDef = rpc;
+ break;
+ }
+ }
+ assertNotNull(rpcDef);
+ assertNotNull(rpcOutputSchemaNode);
+ assertTrue(rpcOutputSchemaNode instanceof ContainerSchemaNode);
+ final DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> containerBuilder =
+ Builders.containerBuilder(rpcOutputSchemaNode);
+ final DataSchemaNode leafSchema = rpcOutputSchemaNode
+ .getDataChildByName(QName.create(rpcModule.getQNameModule(), "textOut"));
+ assertTrue(leafSchema instanceof LeafSchemaNode);
+ final NormalizedNodeAttrBuilder<NodeIdentifier, Object, LeafNode<Object>> leafBuilder =
+ Builders.leafBuilder((LeafSchemaNode) leafSchema);
+ leafBuilder.withValue("brm");
+ containerBuilder.withChild(leafBuilder.build());
+ final ContainerNode container = containerBuilder.build();
+
+ final DOMRpcResult result = new DefaultDOMRpcResult(container);
+ final CheckedFuture<DOMRpcResult, DOMRpcException> future = Futures.immediateCheckedFuture(result);