- public RpcResult<ProcessFlatBatchOutput> apply(@Nullable final RpcResult<T> input) {
- // create rpcResult builder honoring both success/failure of current input and chained input + join errors
- final RpcResultBuilder<ProcessFlatBatchOutput> output = FlatBatchUtil.mergeRpcResults(chainInput, input);
- // convert values and add to chain values
- final ProcessFlatBatchOutputBuilder outputBuilder = new ProcessFlatBatchOutputBuilder(chainInput.getResult());
- final List<BatchFailure> batchFailures = wrapBatchMeterFailuresForFlat(input, stepOffset);
- // join values
- if (outputBuilder.getBatchFailure() == null) {
- outputBuilder.setBatchFailure(new ArrayList<BatchFailure>(batchFailures.size()));
- }
- outputBuilder.getBatchFailure().addAll(batchFailures);
-
- return output.withResult(outputBuilder.build()).build();
+ public RpcResult<ProcessFlatBatchOutput> apply(final RpcResult<T> input) {
+ List<BatchFailure> batchFailures = wrapBatchMeterFailuresForFlat(input, stepOffset);
+ ProcessFlatBatchOutputBuilder outputBuilder =
+ new ProcessFlatBatchOutputBuilder().setBatchFailure(batchFailures);
+ return RpcResultBuilder.<ProcessFlatBatchOutput>status(input.isSuccessful())
+ .withRpcErrors(input.getErrors())
+ .withResult(outputBuilder.build())
+ .build();