protected <T> T deserialize(Response response, Class<T> type) { try { if(type == null) { return null; } String content = response.readEntity(String.class); logger.debug("About to deserialize content: \n '{}' \n into type: '{}'", content, type); if (content == null || content.isEmpty()) { return null; } return deserialize(content, type); } catch ( MarshallingException e ) { throw new RuntimeException( "Error while deserializing data received from server!", e ); } }
private <T> T makeGetRequestAndCreateCustomResponse(String uri, Class<T> resultType) { WebTarget clientRequest = httpClient.target(uri); Response response; response = clientRequest.request(getMediaType(format)).get(); try { if (response.getStatus() == Response.Status.OK.getStatusCode()) { return deserialize(response, resultType); } else { throw createExceptionForUnexpectedResponseCode(clientRequest, response); } } finally { response.close(); } }
private <T> T makePostRequestAndCreateCustomResponse(String uri, Object bodyObject, Class<T> resultType) { WebTarget clientRequest = httpClient.target(uri); Response response; try { Entity<String> requestEntity = Entity.entity(serialize(bodyObject), getMediaType(format)); response = clientRequest.request(getMediaType(format)).post(requestEntity); } catch (Exception e) { throw createExceptionForUnexpectedFailure(clientRequest, e); } try { if (response.getStatus() == Response.Status.CREATED.getStatusCode() || response.getStatus() == Response.Status.OK.getStatusCode()) { return deserialize(response, resultType); } else { throw createExceptionForUnexpectedResponseCode(clientRequest, response); } } finally { response.close(); } }
private <T> T makePutRequestAndCreateCustomResponse(String uri, Object bodyObject, Class<T> resultType) { WebTarget clientRequest = httpClient.target(uri); Response response; try { Entity<String> requestEntity = Entity.entity(serialize(bodyObject), getMediaType(format)); response = clientRequest.request(getMediaType(format)).put(requestEntity); } catch (Exception e) { throw createExceptionForUnexpectedFailure(clientRequest, e); } try { if (response.getStatus() == Response.Status.CREATED.getStatusCode()) { return deserialize(response, resultType); } else { throw createExceptionForUnexpectedResponseCode(clientRequest, response); } } finally { response.close(); } }
final String specContent = client.serialize(spec); LOGGER.info("{} content\n{}", marshallingFormat.getType(), specContent); final ContainerSpec specResult = client.deserialize(specContent, ContainerSpec.class);