public Message unknownStore(String storeName, RequestType type) { VProto.Error error = VProto.Error.newBuilder() .setErrorCode(getErrorMapper().getCode(VoldemortException.class)) .setErrorMessage("Unknown store '" + storeName + "'.") .build(); switch (type) { case GET: return VProto.GetResponse.newBuilder().setError(error).build(); case GET_ALL: return VProto.GetAllResponse.newBuilder().setError(error).build(); case PUT: return VProto.PutResponse.newBuilder().setError(error).build(); case DELETE: return VProto.DeleteResponse.newBuilder().setError(error).setSuccess(false).build(); default: throw new VoldemortException("Unknown operation " + type); } }
private VProto.GetAllResponse handleGetAll( VProto.GetAllRequest request, Store<ByteArray, byte[]> store) { VProto.GetAllResponse.Builder response = VProto.GetAllResponse.newBuilder(); try { List<ByteArray> keys = new ArrayList<ByteArray>(request.getKeysCount()); for (ByteString string : request.getKeysList()) keys.add(ProtoUtils.decodeBytes(string)); Map<ByteArray, List<Versioned<byte[]>>> values = store.getAll(keys); for (Map.Entry<ByteArray, List<Versioned<byte[]>>> entry : values.entrySet()) { VProto.KeyedVersions.Builder keyedVersion = VProto.KeyedVersions.newBuilder().setKey(ProtoUtils.encodeBytes(entry.getKey())); for (Versioned<byte[]> version : entry.getValue()) keyedVersion.addVersions(ProtoUtils.encodeVersioned(version)); response.addValues(keyedVersion); } } catch (VoldemortException e) { response.setError(ProtoUtils.encodeError(getErrorMapper(), e)); } return response.build(); }