@Override public List<ImageSearchResult> searchImages(final String term) throws DockerException, InterruptedException { final WebTarget resource = resource().path("images").path("search").queryParam("term", term); return request(GET, IMAGES_SEARCH_RESULT_LIST, resource, resource.request(APPLICATION_JSON_TYPE)); }
private <T> RestResponse<T> getRequest(final String path, final Class<T> type) { try (Response response = client.target(serverAddress) .path(path) .request(MediaType.APPLICATION_JSON_TYPE) .get()) { return response.getStatus() == Response.Status.OK.getStatusCode() ? RestResponse.successful(response.readEntity(type)) : createErrorResponse(path, response); } catch (final Exception e) { throw new KsqlRestClientException("Error issuing GET to KSQL server. path:" + path, e); } }
@Test public void testEmptySpace() throws Exception { ResourceList resourceList = expectSuccess(getBuilder(getAPIv2().path("resourcetree/space3/expand") .queryParam("showSources", false) .queryParam("showSpaces", false) .queryParam("showDatasets", true)).buildGet(), ResourceList.class); assertEquals(0, resourceList.count(ResourceType.SOURCE)); assertEquals(1, resourceList.count(ResourceType.SPACE)); assertEquals(0, resourceList.count(ResourceType.HOME)); assertEquals(0, resourceList.count(ResourceType.VIRTUAL_DATASET)); assertEquals(0, resourceList.count(ResourceType.FOLDER)); }
@Override public int auth(final RegistryAuth registryAuth) throws DockerException, InterruptedException { final WebTarget resource = resource().path("auth"); final Response response = request(POST, Response.class, resource, resource.request(APPLICATION_JSON_TYPE), Entity.json(registryAuth)); return response.getStatus(); }
@Test public void getTables() throws Exception { String tablesPath = "/tables"; Response response = _webTarget.path(tablesPath).request().get(Response.class); String responseBody = response.readEntity(String.class); TablesList tablesList = JsonUtils.stringToObject(responseBody, TablesList.class); Assert.assertNotNull(tablesList); List<String> tables = tablesList.getTables(); Assert.assertNotNull(tables); Assert.assertEquals(tables.size(), 1); Assert.assertEquals(tables.get(0), TABLE_NAME); String secondTable = "secondTable"; addTable(secondTable); response = _webTarget.path(tablesPath).request().get(Response.class); responseBody = response.readEntity(String.class); tablesList = JsonUtils.stringToObject(responseBody, TablesList.class); Assert.assertNotNull(tablesList); tables = tablesList.getTables(); Assert.assertNotNull(tables); Assert.assertEquals(tables.size(), 2); Assert.assertTrue(tables.contains(TABLE_NAME)); Assert.assertTrue(tables.contains(secondTable)); }
@Override public Integer call() throws Exception { WebTarget getRecordIdsTarget = pubmedWebTarget .queryParam("term", query.getParameterAsClass("query", String.class)); getRecordIdsTarget = getRecordIdsTarget.path("esearch.fcgi"); Invocation.Builder invocationBuilder = getRecordIdsTarget.request(MediaType.TEXT_PLAIN_TYPE); Response response = invocationBuilder.get(); String responseString = response.readEntity(String.class); String count = getSingleElementValue(responseString, "Count"); return Integer.parseInt(count); } }
private void init() { final ApacheConnectorProvider apacheConnectorProvider = new ApacheConnectorProvider(); final ClientConfig clientConfig = new ClientConfig().connectorProvider(apacheConnectorProvider); // transfer encoding should be set as jersey sets it on by default. clientConfig.property(ClientProperties.REQUEST_ENTITY_PROCESSING, enableChunkedEncoding ? RequestEntityProcessing.CHUNKED : RequestEntityProcessing.BUFFERED); client = ClientBuilder.newClient(clientConfig); target = client.target(urlString).path(PUT_PATH); if(sync) { // need to add an empty string else it is nto added as query param. target = target.queryParam("sync", "").queryParam("sync_timeout", syncTimeout); } if(responseType != ResponseType.None) { // need to add an empty string else it is nto added as query param. target = target.queryParam(responseType.value, ""); } LOG.info("target uri [{}]", target.getUri()); }
WebTarget target = client.target(BASE_URI); Response response = target.path("hello").request().get(); String hello = response.readEntity(String.class); assertEquals("Hello World!", hello); response.close();
WebApplicationException { final Invocation.Builder request = ClientBuilder.newClient() .target(host) .path("api") .path("v1") .path("configuration") .path("projectsEnabled") .request(); final String enabled = request.get(String.class); if (enabled == null || !Boolean.valueOf(enabled)) { final Response r = request.put(Entity.text(Boolean.TRUE.toString())); if (r.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) { throw new WebApplicationException(String.format("Unable to enable projects: %s", r.getStatusInfo().getReasonPhrase()), r.getStatus());
@Test public void testResourcesFoo2() throws Exception { ResourceList resourceList = expectSuccess(getBuilder(getAPIv2().path("resourcetree/space2.foo2") .queryParam("showDatasets", false)).buildGet(), ResourceList.class); assertEquals(0, resourceList.count(ResourceType.VIRTUAL_DATASET)); assertEquals(1, resourceList.count(ResourceType.FOLDER)); }
@Override protected List<SearchItem> execute(SearchImagesCmd command) { WebTarget webResource = getBaseResource().path("/images/search").queryParam("term", command.getTerm()); LOGGER.trace("GET: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_JSON).get(new GenericType<List<SearchItem>>() { }); }
@Override protected AuthResponse execute(AuthCmd command) { WebTarget webResource = getBaseResource().path("/auth"); LOGGER.trace("POST: {}", webResource); Response response = webResource.request().accept(MediaType.APPLICATION_JSON) .post(entity(command.getAuthConfig(), MediaType.APPLICATION_JSON)); if (response.getStatus() == 401) { throw new UnauthorizedException("Unauthorized"); } return response.readEntity(AuthResponse.class); }
@Test public void testResourcesBar2() throws Exception { ResourceList resourceList = expectSuccess(getBuilder(getAPIv2().path("resourcetree/space2.foo2.bar2") .queryParam("showDatasets", true)).buildGet(), ResourceList.class); assertEquals(1, resourceList.count(ResourceType.VIRTUAL_DATASET)); assertEquals(0, resourceList.count(ResourceType.FOLDER)); assertEquals("ds5", resourceList.getResources().get(0).getName()); }
@Override protected CreateImageResponse execute(CreateImageCmd command) { WebTarget webResource = getBaseResource().path("/images/create").queryParam("repo", command.getRepository()) .queryParam("tag", command.getTag()).queryParam("fromSrc", "-"); if (command.getPlatform() != null) { webResource = webResource.queryParam("platform", command.getPlatform()); } LOGGER.trace("POST: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_OCTET_STREAM_TYPE) .post(entity(command.getImageStream(), MediaType.APPLICATION_OCTET_STREAM), CreateImageResponse.class); } }
@Test public void getSegments() throws Exception { String segmentsPath = "/tables/" + TABLE_NAME + "/segments"; IndexSegment defaultSegment = _indexSegments.get(0); TableSegments tableSegments = _webTarget.path(segmentsPath).request().get(TableSegments.class); Assert.assertNotNull(tableSegments); List<String> segmentNames = tableSegments.getSegments(); Assert.assertNotNull(segmentNames); Assert.assertEquals(segmentNames.size(), 1); Assert.assertEquals(segmentNames.get(0), _indexSegments.get(0).getSegmentName()); IndexSegment secondSegment = setUpSegment("0"); tableSegments = _webTarget.path(segmentsPath).request().get(TableSegments.class); Assert.assertNotNull(tableSegments); segmentNames = tableSegments.getSegments(); Assert.assertNotNull(segmentNames); Assert.assertEquals(segmentNames.size(), 2); Assert.assertTrue(segmentNames.contains(defaultSegment.getSegmentName())); Assert.assertTrue(segmentNames.contains(secondSegment.getSegmentName())); // No such table Response response = _webTarget.path("/tables/noSuchTable/segments").request().get(Response.class); Assert.assertNotNull(response); Assert.assertEquals(response.getStatus(), Response.Status.NOT_FOUND.getStatusCode()); }