From f8c97097d7956d2556c128fd289233917821dbcf Mon Sep 17 00:00:00 2001 From: seshukm Date: Wed, 25 Jul 2018 19:33:44 +0800 Subject: basic code refactoring of woorea Issue-ID: SO-729 Change-Id: Ie2352a3721cd431a875259cfb00a0fd20df866ca Signed-off-by: seshukm --- .../openstack/connector/RESTEasyConnector.java | 194 ++++++++++----------- .../openstack/connector/RESTEasyInputStream.java | 46 ++--- .../openstack/connector/RESTEasyResponse.java | 2 +- 3 files changed, 121 insertions(+), 121 deletions(-) (limited to 'openstack-client-connectors/resteasy-connector/src') diff --git a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyConnector.java b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyConnector.java index e613ad2..1f9c0de 100644 --- a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyConnector.java +++ b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyConnector.java @@ -44,102 +44,102 @@ import com.woorea.openstack.base.client.OpenStackResponseException; public class RESTEasyConnector implements OpenStackClientConnector { - public static ObjectMapper DEFAULT_MAPPER; - - public static ObjectMapper WRAPPED_MAPPER; - - static class OpenStackProviderFactory extends ResteasyProviderFactory { - - private JacksonJsonProvider jsonProvider; - private InputStreamProvider streamProvider; - - public OpenStackProviderFactory() { - super(); - - addContextResolver(new ContextResolver() { - @Override - public ObjectMapper getContext(Class type) { - return type.getAnnotation(JsonRootName.class) == null ? DEFAULT_MAPPER : WRAPPED_MAPPER; - } - }); - - jsonProvider = new JacksonJsonProvider(); - addMessageBodyReader(jsonProvider); - addMessageBodyWriter(jsonProvider); - - streamProvider = new InputStreamProvider(); - addMessageBodyReader(streamProvider); - addMessageBodyWriter(streamProvider); - } - - } - - private static OpenStackProviderFactory providerFactory; - - static { - DEFAULT_MAPPER = new ObjectMapper(); - - DEFAULT_MAPPER.setSerializationInclusion(Inclusion.NON_NULL); - DEFAULT_MAPPER.enable(SerializationConfig.Feature.INDENT_OUTPUT); - DEFAULT_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); - DEFAULT_MAPPER.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); - DEFAULT_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); - - WRAPPED_MAPPER = new ObjectMapper(); - - WRAPPED_MAPPER.setSerializationInclusion(Inclusion.NON_NULL); - WRAPPED_MAPPER.enable(SerializationConfig.Feature.INDENT_OUTPUT); - WRAPPED_MAPPER.enable(SerializationConfig.Feature.WRAP_ROOT_VALUE); - WRAPPED_MAPPER.enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE); - WRAPPED_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); - WRAPPED_MAPPER.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); - WRAPPED_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); - - providerFactory = new OpenStackProviderFactory(); - } - - @Override - public OpenStackResponse request(OpenStackRequest request) { - ClientRequest client = new ClientRequest(UriBuilder.fromUri(request.endpoint() + "/" + request.path()), - ClientRequest.getDefaultExecutor(), providerFactory); - - for(Map.Entry > entry : request.queryParams().entrySet()) { - for (Object o : entry.getValue()) { - client = client.queryParameter(entry.getKey(), String.valueOf(o)); - } - } - - for (Entry> h : request.headers().entrySet()) { - StringBuilder sb = new StringBuilder(); - for (Object v : h.getValue()) { - sb.append(String.valueOf(v)); - } - client.header(h.getKey(), sb); - } - - if (request.entity() != null) { - client.body(request.entity().getContentType(), request.entity().getEntity()); - } - - ClientResponse response; - - try { - response = client.httpMethod(request.method().name(), request.returnType()); - } catch (Exception e) { - throw new RuntimeException("Unexpected client exception", e); - } - - if (response.getStatus() == HttpStatus.SC_OK - || response.getStatus() == HttpStatus.SC_CREATED - || response.getStatus() == HttpStatus.SC_NO_CONTENT - || response.getStatus() == HttpStatus.SC_ACCEPTED) { - return new RESTEasyResponse(client, response); - } - - response.releaseConnection(); - - throw new OpenStackResponseException(response.getResponseStatus() - .getReasonPhrase(), response.getStatus()); - } + public static ObjectMapper DEFAULT_MAPPER; + + public static ObjectMapper WRAPPED_MAPPER; + + static class OpenStackProviderFactory extends ResteasyProviderFactory { + + private JacksonJsonProvider jsonProvider; + private InputStreamProvider streamProvider; + + public OpenStackProviderFactory() { + super(); + + addContextResolver(new ContextResolver() { + @Override + public ObjectMapper getContext(Class type) { + return type.getAnnotation(JsonRootName.class) == null ? DEFAULT_MAPPER : WRAPPED_MAPPER; + } + }); + + jsonProvider = new JacksonJsonProvider(); + addMessageBodyReader(jsonProvider); + addMessageBodyWriter(jsonProvider); + + streamProvider = new InputStreamProvider(); + addMessageBodyReader(streamProvider); + addMessageBodyWriter(streamProvider); + } + + } + + private static OpenStackProviderFactory providerFactory; + + static { + DEFAULT_MAPPER = new ObjectMapper(); + + DEFAULT_MAPPER.setSerializationInclusion(Inclusion.NON_NULL); + DEFAULT_MAPPER.enable(SerializationConfig.Feature.INDENT_OUTPUT); + DEFAULT_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); + DEFAULT_MAPPER.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); + DEFAULT_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); + + WRAPPED_MAPPER = new ObjectMapper(); + + WRAPPED_MAPPER.setSerializationInclusion(Inclusion.NON_NULL); + WRAPPED_MAPPER.enable(SerializationConfig.Feature.INDENT_OUTPUT); + WRAPPED_MAPPER.enable(SerializationConfig.Feature.WRAP_ROOT_VALUE); + WRAPPED_MAPPER.enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE); + WRAPPED_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); + WRAPPED_MAPPER.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); + WRAPPED_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); + + providerFactory = new OpenStackProviderFactory(); + } + + @Override + public OpenStackResponse request(OpenStackRequest request) { + ClientRequest client = new ClientRequest(UriBuilder.fromUri(request.endpoint() + "/" + request.path()), + ClientRequest.getDefaultExecutor(), providerFactory); + + for(Map.Entry > entry : request.queryParams().entrySet()) { + for (Object o : entry.getValue()) { + client = client.queryParameter(entry.getKey(), String.valueOf(o)); + } + } + + for (Entry> h : request.headers().entrySet()) { + StringBuilder sb = new StringBuilder(); + for (Object v : h.getValue()) { + sb.append(String.valueOf(v)); + } + client.header(h.getKey(), sb); + } + + if (request.entity() != null) { + client.body(request.entity().getContentType(), request.entity().getEntity()); + } + + ClientResponse response; + + try { + response = client.httpMethod(request.method().name(), request.returnType()); + } catch (Exception e) { + throw new RuntimeException("Unexpected client exception", e); + } + + if (response.getStatus() == HttpStatus.SC_OK + || response.getStatus() == HttpStatus.SC_CREATED + || response.getStatus() == HttpStatus.SC_NO_CONTENT + || response.getStatus() == HttpStatus.SC_ACCEPTED) { + return new RESTEasyResponse(client, response); + } + + response.releaseConnection(); + + throw new OpenStackResponseException(response.getResponseStatus() + .getReasonPhrase(), response.getStatus()); + } } diff --git a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyInputStream.java b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyInputStream.java index 0976ef6..0e1e9e9 100644 --- a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyInputStream.java +++ b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyInputStream.java @@ -26,28 +26,28 @@ import org.jboss.resteasy.client.ClientExecutor; public class RESTEasyInputStream extends FilterInputStream { - protected ClientExecutor clientExecutor; - - public RESTEasyInputStream(InputStream inputStream, ClientExecutor clientExecutor) { - super(inputStream); - this.clientExecutor = clientExecutor; - } - - @Override - public void close() throws IOException { - try { - clientExecutor.close(); - } catch (Exception e) { - // Silently skip errors in the socket close errors - } - - try { - super.close(); - } catch (SocketException e) { - // We expect this exception because the socket is closed - } catch (IllegalStateException e) { - // We expect this exception because the socket is closed (httpclient 4.2) - } - } + protected ClientExecutor clientExecutor; + + public RESTEasyInputStream(InputStream inputStream, ClientExecutor clientExecutor) { + super(inputStream); + this.clientExecutor = clientExecutor; + } + + @Override + public void close() throws IOException { + try { + clientExecutor.close(); + } catch (Exception e) { + // Silently skip errors in the socket close errors + } + + try { + super.close(); + } catch (SocketException e) { + // We expect this exception because the socket is closed + } catch (IllegalStateException e) { + // We expect this exception because the socket is closed (httpclient 4.2) + } + } } diff --git a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java index 344317f..ced748e 100644 --- a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java +++ b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java @@ -52,7 +52,7 @@ public class RESTEasyResponse implements OpenStackResponse { @Override public InputStream getInputStream() { - return new RESTEasyInputStream((InputStream) response.getEntity(InputStream.class), client.getExecutor()); + return new RESTEasyInputStream((InputStream) response.getEntity(InputStream.class), client.getExecutor()); } @Override -- cgit 1.2.3-korg