@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
private void stream( final QuerySnapshotObserver documentObserver, @Nullable ByteString transactionId) { RunQueryRequest.Builder request = RunQueryRequest.newBuilder(); request.setStructuredQuery(buildQuery()).setParent(path.getParent().toString());
@Test @SuppressWarnings("all") public void runQueryTest() throws Exception { ByteString transaction = ByteString.copyFromUtf8("-34"); int skippedResults = 880286183; RunQueryResponse expectedResponse = RunQueryResponse.newBuilder() .setTransaction(transaction) .setSkippedResults(skippedResults) .build(); mockFirestore.addResponse(expectedResponse); String formattedParent = FirestoreClient.formatAnyPathName("[PROJECT]", "[DATABASE]", "[DOCUMENT]", "[ANY_PATH]"); RunQueryRequest request = RunQueryRequest.newBuilder().setParent(formattedParent).build(); MockStreamObserver<RunQueryResponse> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<RunQueryRequest, RunQueryResponse> callable = client.runQueryCallable(); callable.serverStreamingCall(request, responseObserver); List<RunQueryResponse> actualResponses = responseObserver.future().get(); Assert.assertEquals(1, actualResponses.size()); Assert.assertEquals(expectedResponse, actualResponses.get(0)); }
@Test @SuppressWarnings("all") public void runQueryExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockFirestore.addException(exception); String formattedParent = FirestoreClient.formatAnyPathName("[PROJECT]", "[DATABASE]", "[DOCUMENT]", "[ANY_PATH]"); RunQueryRequest request = RunQueryRequest.newBuilder().setParent(formattedParent).build(); MockStreamObserver<RunQueryResponse> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<RunQueryRequest, RunQueryResponse> callable = client.runQueryCallable(); callable.serverStreamingCall(request, responseObserver); try { List<RunQueryResponse> actualResponses = responseObserver.future().get(); Assert.fail("No exception thrown"); } catch (ExecutionException e) { Assert.assertTrue(e.getCause() instanceof InvalidArgumentException); InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } }
public static RunQueryRequest query( @Nullable ByteString transactionId, StructuredQuery... query) { RunQueryRequest.Builder request = RunQueryRequest.newBuilder(); request.setParent(LocalFirestoreHelper.DATABASE_NAME + "/documents"); StructuredQuery.Builder structuredQuery = request.getStructuredQueryBuilder(); structuredQuery.addFrom( StructuredQuery.CollectionSelector.newBuilder().setCollectionId("coll")); for (StructuredQuery option : query) { structuredQuery.mergeFrom(option); } CompositeFilter compositeFilter = structuredQuery.getWhere().getCompositeFilter(); if (compositeFilter.getFiltersCount() == 1) { if (compositeFilter.getFilters(0).hasFieldFilter()) { FieldFilter fieldFilter = compositeFilter.getFilters(0).getFieldFilter(); structuredQuery.getWhereBuilder().setFieldFilter(fieldFilter); } else { UnaryFilter unaryFilter = compositeFilter.getFilters(0).getUnaryFilter(); structuredQuery.getWhereBuilder().setUnaryFilter(unaryFilter); } } if (transactionId != null) { request.setTransaction(transactionId); } return request.build(); }
private void stream( final QuerySnapshotObserver documentObserver, @Nullable ByteString transactionId) { RunQueryRequest.Builder request = RunQueryRequest.newBuilder(); request.setStructuredQuery(buildQuery()).setParent(path.getParent().toString());