@Override protected BucketProperties convert(List<RiakPB.RpbGetBucketResp> rawResponse) throws ExecutionException { // This isn't streaming, there will only be one response. RiakPB.RpbBucketProps pbProps = rawResponse.get(0).getProps(); BucketProperties props = new BucketProperties() .withNVal(pbProps.getNVal()) .withAllowMulti(pbProps.getAllowMult()) .withLastWriteWins(pbProps.getLastWriteWins()) .withOldVClock(Operations.getUnsignedIntValue(pbProps.getOldVclock())) .withYoungVClock(Operations.getUnsignedIntValue(pbProps.getYoungVclock())) .withBigVClock(Operations.getUnsignedIntValue(pbProps.getBigVclock())) .withSmallVClock(Operations.getUnsignedIntValue(pbProps.getSmallVclock())) .withPr(pbProps.getPr()) .withR(pbProps.getR()) .withW(pbProps.getW()) .withPw(pbProps.getPw()) .withDw(pbProps.getDw()) .withRw(pbProps.getRw()) .withBasicQuorum(pbProps.getBasicQuorum()) .withNotFoundOk(pbProps.getNotfoundOk()) .withRiakSearchEnabled(pbProps.getSearch()) .withChashkeyFunction( new Function.Builder() .withModule(pbProps.getChashKeyfun().getModule().toStringUtf8()) .withFunction(pbProps.getChashKeyfun().getFunction().toStringUtf8()) .build()); if (pbProps.hasLinkfun()) { props.withLinkwalkFunction( new Function.Builder() .withModule(pbProps.getLinkfun().getModule().toStringUtf8()) .withFunction(pbProps.getLinkfun().getFunction().toStringUtf8()) .build()); } if (pbProps.hasHasPrecommit()) { for (Function f : parseHooks(pbProps.getPrecommitList())) { props.withPrecommitHook(f); } } if (pbProps.hasHasPostcommit()) { for (Function f : parseHooks(pbProps.getPostcommitList())) { props.withPostcommitHook(f); } } if (pbProps.hasYzIndex()) { props.withYokozunaIndex(pbProps.getYzIndex().toStringUtf8()); } if (pbProps.hasBackend()) { props.withBackend(pbProps.getBackend().toStringUtf8()); } return props; }