From 2e984294ac28c6f2ede290c38164c5d536ccaf4a Mon Sep 17 00:00:00 2001 From: ChrisC Date: Tue, 31 Jan 2017 13:57:24 +0100 Subject: Initial OpenECOMP MSO OpenStack SDK lib commit Change-Id: Ieaacb2b2c0dcc469669880e73f0cda9fa59a6c5a Signed-off-by: ChrisC --- .../woorea/openstack/connector/JerseyResponse.java | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 openstack-client-connectors/jersey-connector/src/main/java/com/woorea/openstack/connector/JerseyResponse.java (limited to 'openstack-client-connectors/jersey-connector/src/main/java/com/woorea/openstack/connector/JerseyResponse.java') diff --git a/openstack-client-connectors/jersey-connector/src/main/java/com/woorea/openstack/connector/JerseyResponse.java b/openstack-client-connectors/jersey-connector/src/main/java/com/woorea/openstack/connector/JerseyResponse.java new file mode 100644 index 0000000..5e8dc8c --- /dev/null +++ b/openstack-client-connectors/jersey-connector/src/main/java/com/woorea/openstack/connector/JerseyResponse.java @@ -0,0 +1,66 @@ +package com.woorea.openstack.connector; + +/* + * Modifications copyright (c) 2017 AT&T Intellectual Property + */ + +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +import com.sun.jersey.api.client.ClientResponse; +import com.woorea.openstack.base.client.OpenStackResponse; +import com.woorea.openstack.base.client.OpenStackResponseException; + +public class JerseyResponse implements OpenStackResponse { + + private ClientResponse response; + + public JerseyResponse(ClientResponse response) { + this.response = response; + } + + @Override + public T getEntity(Class returnType) { + if(response.getStatus() >= 400) { + throw new OpenStackResponseException(response.getClientResponseStatus().getReasonPhrase(), + response.getStatus(), this); + } + if(response.hasEntity() && returnType != null && Void.class != returnType) { + return response.getEntity(returnType); + } else { + return null; + } + } + + @Override + public T getErrorEntity(Class returnType) { + if(response.getStatus() >= 400 && response.hasEntity()) { + return response.getEntity(returnType); + } + return null; + } + + @Override + public InputStream getInputStream() { + if(response.hasEntity()) { + return response.getEntityInputStream(); + } else { + return null; + } + } + + @Override + public String header(String name) { + return response.getHeaders().getFirst(name); + } + + @Override + public Map headers() { + Map headers = new HashMap(); + for(String k : response.getHeaders().keySet()) { + headers.put(k, response.getHeaders().getFirst(k)); + } + return headers; + } +} -- cgit 1.2.3-korg