Function<Request<?>, RequestContext> requestContextProvider) { final GetRequestBuilder<K, RT> builder = (GetRequestBuilder<K, RT>) new GetRequestBuilder<>(_baseUriTemplate, _resourceSpec.getValueClass(), _resourceSpec, _requestOptions); builder.setHeaders(_headers); _queryParams.forEach((key, value) -> builder.setParam(key, value)); _pathKeys.forEach((key, value) -> builder.pathKey(key, value)); builder.id((K) ids.iterator().next()); if (fields != null && !fields.isEmpty()) { builder.fields(fields.toArray(new PathSpec[fields.size()])); final GetRequest<RT> get = builder.build();
protected Task<Response<Greeting>> greetingGetWithStringKey(String id) { String _baseUriTemplate = "greetings"; ResourceSpec _resourceSpec = new ResourceSpecImpl(EnumSet.allOf(ResourceMethod.class), Collections.emptyMap(), Collections.emptyMap(), String.class, null, null, Greeting.class, Collections.emptyMap()); return _parseqClient.createTask(new GetRequestBuilder(_baseUriTemplate, Greeting.class, _resourceSpec, RestliRequestOptions.DEFAULT_OPTIONS).id(id).build()); }
@Test public void testGetRequestsWithDifferentCustomHeaderValuesNoBatching() { Task<?> t1 = _parseqClient.createTask(new GreetingsBuilders().get().id(1L) .addHeader("H1", "V1").build()); Task<?> t2 = _parseqClient.createTask(new GreetingsBuilders().get().id(2L) .addHeader("H1", "V2").build()); Task<?> task = Task.par(t1, t2); runAndWait(getTestClassName() + ".testGetRequestsWithDifferentCustomHeadersNoBatching", task); assertFalse(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); }
@SuppressWarnings({"unchecked"}) @Override public RB id(K id) { return (RB) super.id(id); }
return new GetRequestBuilder(batchRequest.getBaseUriTemplate(), batchRequest.getResourceSpec().getValueClass(), batchRequest.getResourceSpec(),
@SuppressWarnings({"unchecked"}) @Override public RB setParam(String key, Object value) { return (RB) super.setParam(key, value); }
@SuppressWarnings({"unchecked"}) @Override public RB pathKey(String name, Object value) { return (RB) super.pathKey(name, value); }
@SuppressWarnings({"unchecked"}) @Override public RB fields(PathSpec... fieldPaths) { return (RB) super.fields(fieldPaths); } }
public GetRequestBuilder<K, V> fields(PathSpec... fieldPaths) { addFields(fieldPaths); return this; } }
public ExampleRequestResponse get() { checkSupports(ResourceMethod.GET); GetRequestBuilder<Object, RecordTemplatePlaceholder> get = new GetRequestBuilder<Object, RecordTemplatePlaceholder>( _uriTemplate, RecordTemplatePlaceholder.class, _resourceSpec, _requestOptions); if (_resourceSpec.getKeyType() != null) { get.id(generateKey()); } addParams(get, ResourceMethod.GET); addPathKeys(get); GetRequest<RecordTemplatePlaceholder> request = get.build(); return buildRequestResponse(request, generateEntity(), buildResourceMethodDescriptorForRestMethod(request)); }
@Test public void testGetRequestsWithDifferentCustomHeadersNoBatching() { Task<?> t1 = _parseqClient.createTask(new GreetingsBuilders().get().id(1L) .addHeader("H1", "V1").build()); Task<?> t2 = _parseqClient.createTask(new GreetingsBuilders().get().id(2L) .addHeader("H2", "V1").build()); Task<?> task = Task.par(t1, t2); runAndWait(getTestClassName() + ".testGetRequestsWithDifferentCustomHeadersNoBatching", task); assertFalse(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); }
@Test public void testGetRequestsWithSameCustomHeaders() { Task<?> t1 = _parseqClient.createTask(new GreetingsBuilders().get().id(1L) .addHeader("H1", "V1").build()); Task<?> t2 = _parseqClient.createTask(new GreetingsBuilders().get().id(2L) .addHeader("H1", "V1").build()); Task<?> task = Task.par(t1, t2); runAndWait(getTestClassName() + ".testGetRequestsWithSameCustomHeaders", task); if (expectBatching()) { assertTrue(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); } else { assertFalse(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); } }
@Test public void testGetRequestsWithDifferentCustomHeadersNoBatchingOverrides() { Task<?> t1 = _parseqClient.createTask(new GreetingsBuilders().get().id(1L) .addHeader("H1", "V1").build(), overrides()); Task<?> t2 = _parseqClient.createTask(new GreetingsBuilders().get().id(2L) .addHeader("H2", "V1").build(), overrides()); Task<?> task = Task.par(t1, t2); runAndWait(getTestClassName() + ".testGetRequestsWithDifferentCustomHeadersNoBatchingOverrides", task); assertFalse(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); }
@Test public void testGetRequestsWithDifferentCustomHeaderValuesNoBatchingOverrides() { Task<?> t1 = _parseqClient.createTask(new GreetingsBuilders().get().id(1L) .addHeader("H1", "V1").build(), overrides()); Task<?> t2 = _parseqClient.createTask(new GreetingsBuilders().get().id(2L) .addHeader("H1", "V2").build(), overrides()); Task<?> task = Task.par(t1, t2); runAndWait(getTestClassName() + ".testGetRequestsWithDifferentCustomHeaderValuesNoBatchingOverrides", task); assertFalse(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); }
@Test public void testGetRequestsWithSameCustomHeadersOverrides() { Task<?> t1 = _parseqClient.createTask(new GreetingsBuilders().get().id(1L) .addHeader("H1", "V1").build(), overrides()); Task<?> t2 = _parseqClient.createTask(new GreetingsBuilders().get().id(2L) .addHeader("H1", "V1").build(), overrides()); Task<?> task = Task.par(t1, t2); runAndWait(getTestClassName() + ".testGetRequestsWithSameCustomHeadersOverrides", task); if (expectBatchingOverrides()) { assertTrue(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); } else { assertFalse(hasTask("greetings batch_get(reqs: 2, ids: 2)", task.getTrace())); } }