public void writeTo(Output output, NameSpaceContainers message) throws IOException { if(message.containers != null) { for(NameSpaceContainer containers : message.containers) { if(containers != null) output.writeObject(1, containers, NameSpaceContainer.getSchema(), true); } } }
public void mergeFrom(Input input, NameSpaceContainers message) throws IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: if(message.containers == null) message.containers = new ArrayList<NameSpaceContainer>(); message.containers.add(input.mergeObject(null, NameSpaceContainer.getSchema())); break; default: input.handleUnknownField(number, this); } } }
@Override public SentResponseMessage<DLFindResponse> handle(DLFindRequest findRequest, ArrowBuf dBody) { final FindByCondition findByCondition = !findRequest.hasRequest() ? null : RemoteDataStoreUtils.getConditionFromRequest(findRequest.getRequest()); final Iterable<Entry<NamespaceKey, NameSpaceContainer>> searchResults; try { searchResults = datasetListing.find(findRequest.getUsername(), findByCondition); } catch (NamespaceException e) { return new SentResponseMessage<>( DLFindResponse.newBuilder() .setFailureMessage(e.getMessage()) .build()); } final LinkedBuffer buffer = LinkedBuffer.allocate(); final Iterable<ByteString> containersAsBytes = StreamSupport.stream(searchResults.spliterator(), false) .map(input -> { // TODO(DX-10857): change from opaque object to protobuf; avoid unnecessary copies final ByteString bytes = ByteString.copyFrom( ProtobufIOUtil.toByteArray(input.getValue(), NameSpaceContainer.getSchema(), buffer)); buffer.clear(); return bytes; }).collect(Collectors.toList()); return new SentResponseMessage<>( DLFindResponse.newBuilder() .addAllResponse(containersAsBytes) .build()); } });
.map(input -> { final NameSpaceContainer nameSpaceContainer = NameSpaceContainer.getSchema().newMessage(); ProtobufIOUtil.mergeFrom(input.toByteArray(), nameSpaceContainer, NameSpaceContainer.getSchema()); return new AbstractMap.SimpleEntry<>( new NamespaceKey(nameSpaceContainer.getFullPathList()), nameSpaceContainer);
private List<SearchContainer> doRPCSearch(String query, String username) throws RpcException { final SearchRPC.SearchQueryRequest.Builder builder = SearchRPC.SearchQueryRequest.newBuilder(); if (query != null) { builder.setQuery(query); } if (username != null) { builder.setUsername(username); } final SearchRPC.SearchQueryResponse body = newFindEndpoint().send(builder.build()).getBody(); if (body.hasFailureMessage()) { throw new RpcException(body.getFailureMessage()); } return body.getResultsList().stream().map(input -> { final SearchRPC.SearchQueryResponseTags tagsRPC = input.getTags(); final CollaborationTag collaborationTag = new CollaborationTag(); collaborationTag.setTagsList(tagsRPC.getTagsList()); collaborationTag.setEntityId(tagsRPC.getEntityId()); collaborationTag.setId(tagsRPC.getId()); collaborationTag.setLastModified(tagsRPC.getLastModified()); collaborationTag.setTag(tagsRPC.getVersion()); final NameSpaceContainer nameSpaceContainer = NameSpaceContainer.getSchema().newMessage(); // TODO(DX-10857): change from opaque object to protobuf ProtobufIOUtil.mergeFrom(input.getResponse().toByteArray(), nameSpaceContainer, NameSpaceContainer.getSchema()); return new SearchContainer(nameSpaceContainer, collaborationTag); }).collect(Collectors.toList()); }
ProtobufIOUtil.toByteArray(input.getNamespaceContainer(), NameSpaceContainer.getSchema(), buffer)); buffer.clear();