From 1f26e77e0911c520f60e45a879365e471331bff4 Mon Sep 17 00:00:00 2001 From: Isaac Manuel Raj Date: Wed, 17 Apr 2019 14:22:59 +0530 Subject: The Cyclomatic Complexity of this method "request" The Cyclomatic Complexity of this method "request" Issue-ID: SO-1490 Change-Id: Ie075744b8af0b816bafd2196e1536316bf7de07a Signed-off-by: Isaac Manuel Raj --- .../openstack/connector/HttpClientConnector.java | 68 +++++++++++++--------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/openstack-client-connectors/http-connector/src/main/java/com/woorea/openstack/connector/HttpClientConnector.java b/openstack-client-connectors/http-connector/src/main/java/com/woorea/openstack/connector/HttpClientConnector.java index 9b2f2e2..c266f20 100644 --- a/openstack-client-connectors/http-connector/src/main/java/com/woorea/openstack/connector/HttpClientConnector.java +++ b/openstack-client-connectors/http-connector/src/main/java/com/woorea/openstack/connector/HttpClientConnector.java @@ -102,11 +102,7 @@ public class HttpClientConnector implements OpenStackClientConnector { try { URIBuilder uriBuilder = new URIBuilder(request.endpoint() + request.path()); - for(Map.Entry > entry : request.queryParams().entrySet()) { - for (Object o : entry.getValue()) { - uriBuilder.setParameter(entry.getKey(), String.valueOf(o)); - } - } + setUriBuilderParams(request, uriBuilder); uri = uriBuilder.build(); } catch (URISyntaxException e) { @@ -136,30 +132,7 @@ public class HttpClientConnector implements OpenStackClientConnector { // Determine the HttpRequest class based on the method HttpUriRequest httpRequest; - switch (request.method()) { - case POST: - HttpPost post = new HttpPost(uri); - post.setEntity (entity); - httpRequest = post; - break; - - case GET: - httpRequest = new HttpGet(uri); - break; - - case PUT: - HttpPut put = new HttpPut(uri); - put.setEntity (entity); - httpRequest = put; - break; - - case DELETE: - httpRequest = new HttpDelete(uri); - break; - - default: - throw new HttpClientException ("Unrecognized HTTP Method: " + request.method()); - } + httpRequest = getHttpUriRequest(request, uri, entity); for (Entry> h : request.headers().entrySet()) { StringBuilder sb = new StringBuilder(); @@ -226,4 +199,41 @@ public class HttpClientConnector implements OpenStackClientConnector { httpClientResponse); } + private HttpUriRequest getHttpUriRequest(OpenStackRequest request, URI uri, HttpEntity entity) { + HttpUriRequest httpRequest; + switch (request.method()) { + case POST: + HttpPost post = new HttpPost(uri); + post.setEntity (entity); + httpRequest = post; + break; + + case GET: + httpRequest = new HttpGet(uri); + break; + + case PUT: + HttpPut put = new HttpPut(uri); + put.setEntity (entity); + httpRequest = put; + break; + + case DELETE: + httpRequest = new HttpDelete(uri); + break; + + default: + throw new HttpClientException("Unrecognized HTTP Method: " + request.method()); + } + return httpRequest; + } + + private void setUriBuilderParams(OpenStackRequest request, URIBuilder uriBuilder) { + for(Entry> entry : request.queryParams().entrySet()) { + for (Object o : entry.getValue()) { + uriBuilder.setParameter(entry.getKey(), String.valueOf(o)); + } + } + } + } \ No newline at end of file -- cgit 1.2.3-korg