- private CheckedFuture<DOMRpcResult, DOMRpcException> transformResult(final SchemaPath schemaPath,
- final ListenableFuture<RpcResult<?>> bindingResult) {
- final ListenableFuture<DOMRpcResult> transformed = Futures.transform(bindingResult, new Function<RpcResult<?>,DOMRpcResult>() {
-
- @Override
- public DOMRpcResult apply(final RpcResult<?> input) {
- return new DOMRpcResult() {
-
- @Override
- public NormalizedNode<?, ?> getResult() {
-
- if(input instanceof DataContainer) {
- return codec.toNormalizedNodeRpcData((DataContainer) input);
- }
- return null;
- }
-
- @Override
- public Collection<RpcError> getErrors() {
- return input.getErrors();
- }
- };
- }
-
- });
- return Futures.makeChecked(transformed, EXCEPTION_MAPPER);
+ private CheckedFuture<DOMRpcResult, DOMRpcException> transformResult(final ListenableFuture<RpcResult<?>> bindingResult) {
+ return LazyDOMRpcResultFuture.create(codec, bindingResult);