You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ma...@apache.org on 2013/12/20 08:43:27 UTC
git commit: Send DefaultHttpClient externally
Updated Branches:
refs/heads/master 752676a09 -> 44a220a61
Send DefaultHttpClient externally
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/44a220a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/44a220a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/44a220a6
Branch: refs/heads/master
Commit: 44a220a61752fa0834796f255d127b9815d0d781
Parents: 752676a
Author: Manula Thantriwatte <ma...@apache.org>
Authored: Fri Dec 20 13:12:41 2013 +0530
Committer: Manula Thantriwatte <ma...@apache.org>
Committed: Fri Dec 20 13:12:41 2013 +0530
----------------------------------------------------------------------
.../apache/stratos/cli/GenericRestClient.java | 6 +-
.../java/org/apache/stratos/cli/RestClient.java | 8 +-
.../stratos/cli/RestCommandLineService.java | 78 ++++++++++++++++----
3 files changed, 70 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/44a220a6/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/GenericRestClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/GenericRestClient.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/GenericRestClient.java
index 51a05d9..54e7442 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/GenericRestClient.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/GenericRestClient.java
@@ -19,6 +19,7 @@
package org.apache.stratos.cli;
import org.apache.http.HttpResponse;
+import org.apache.http.impl.client.DefaultHttpClient;
public interface GenericRestClient {
@@ -37,7 +38,8 @@ public interface GenericRestClient {
* @throws org.apache.http.client.ClientProtocolException and IOException
* if any errors occur when executing the request
*/
- public HttpResponse doPost(String resourcePath, String jsonParamString, String userName, String passWord) throws Exception;
+ public HttpResponse doPost(DefaultHttpClient httpClient, String resourcePath, String jsonParamString,
+ String userName, String passWord) throws Exception;
/**
* Handle http get request. Return String
@@ -52,7 +54,7 @@ public interface GenericRestClient {
* @throws org.apache.http.client.ClientProtocolException and IOException
* if any errors occur when executing the request
*/
- public HttpResponse doGet(String resourcePath, String userName, String passWord);
+ public HttpResponse doGet(DefaultHttpClient httpClient, String resourcePath, String userName, String passWord);
public void doDelete();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/44a220a6/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestClient.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestClient.java
index 17d98a4..f5f855b 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestClient.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestClient.java
@@ -60,10 +60,10 @@ public class RestClient implements GenericRestClient{
* @throws org.apache.http.client.ClientProtocolException and IOException
* if any errors occur when executing the request
*/
- public HttpResponse doPost(String resourcePath, String jsonParamString, String userName, String passWord) throws Exception{
+ public HttpResponse doPost(DefaultHttpClient httpClient, String resourcePath, String jsonParamString, String userName, String passWord) throws Exception{
try {
- DefaultHttpClient httpClient = new DefaultHttpClient();
+ //DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(resourcePath);
@@ -133,9 +133,9 @@ public class RestClient implements GenericRestClient{
* @throws org.apache.http.client.ClientProtocolException and IOException
* if any errors occur when executing the request
*/
- public HttpResponse doGet(String resourcePath, String userName, String passWord) {
+ public HttpResponse doGet(DefaultHttpClient httpClient, String resourcePath, String userName, String passWord) {
try {
- DefaultHttpClient httpClient = new DefaultHttpClient();
+ //DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(resourcePath);
getRequest.addHeader("Content-Type", "application/json");
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/44a220a6/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
index e982a48..a35cb8e 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
@@ -28,6 +28,7 @@ import org.apache.axis2.transport.http.HttpTransportProperties;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
+import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.stratos.cli.beans.*;
import org.apache.stratos.cli.exception.CommandException;
import org.apache.stratos.cli.utils.CliConstants;
@@ -116,9 +117,11 @@ public class RestCommandLineService {
throw new CommandException(e);
}
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
+
if (validateLogin) {
- restClientService.doPost(restClientService.getUrl() + initializeEndpoint, "",
+ restClientService.doPost(httpClient, restClientService.getUrl() + initializeEndpoint, "",
restClientService.getUsername(), restClientService.getPassword());
if (logger.isDebugEnabled()) {
logger.debug("Tenant Domain {}", restClientService.getUsername());
@@ -134,6 +137,8 @@ public class RestCommandLineService {
} catch (ConnectException e) {
System.out.println("Authentication failed. Please set the STRTOS_URL");
return false;
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
@@ -170,8 +175,9 @@ public class RestCommandLineService {
// List currently available multi tenant and single tenant cartridges
public void listAvailableCartridges() throws CommandException {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doGet(restClientService.getUrl() + listAvailableCartridgesRestEndpoint,
+ HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listAvailableCartridgesRestEndpoint,
restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -254,14 +260,16 @@ public class RestCommandLineService {
}
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// List subscribe cartridges
public void listSubscribedCartridges(final boolean full) throws CommandException {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
-
- HttpResponse response = restClientService.doGet(restClientService.getUrl() + listSubscribedCartridgesRestEndpoint,
+ HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listSubscribedCartridgesRestEndpoint,
restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -329,6 +337,8 @@ public class RestCommandLineService {
System.out.println();
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
@@ -336,6 +346,7 @@ public class RestCommandLineService {
public void subscribe(String cartridgeType, String alias, String externalRepoURL, boolean privateRepo, String username,
String password, String dataCartridgeType, String dataCartridgeAlias, String asPolicy, String depPolicy)
throws CommandException {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
CartridgeInfoBean cartridgeInfoBean = new CartridgeInfoBean();
cartridgeInfoBean.setCartridgeType(null);
@@ -361,7 +372,7 @@ public class RestCommandLineService {
System.out.format("Subscribing to data cartridge %s with alias %s.%n", dataCartridgeType,
dataCartridgeAlias);
try {
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + subscribCartridgeRestEndpoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + subscribCartridgeRestEndpoint,
completeJsonSubscribeString, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -393,6 +404,13 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
}
+ finally {
+ httpClient.getConnectionManager().shutdown();
+ }
+ }
+
+ if (httpClient == null) {
+ httpClient = new DefaultHttpClient();
}
try {
@@ -411,7 +429,7 @@ public class RestCommandLineService {
jsonSubscribeString = gson.toJson(cartridgeInfoBean, CartridgeInfoBean.class);
completeJsonSubscribeString = "{\"cartridgeInfoBean\":" + jsonSubscribeString + "}";
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + subscribCartridgeRestEndpoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + subscribCartridgeRestEndpoint,
completeJsonSubscribeString, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -468,11 +486,14 @@ public class RestCommandLineService {
System.out.format("Please map the %s \"%s\" to LB IP%n", hostnamesLabel, hostnames);
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method helps to create the new tenant
public void addTenant(String admin, String firstName, String lastaName, String password, String domain, String email){
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
TenantInfoBean tenantInfo = new TenantInfoBean();
tenantInfo.setAdmin(admin);
@@ -489,7 +510,7 @@ public class RestCommandLineService {
String jsonString = gson.toJson(tenantInfo, TenantInfoBean.class);
String completeJsonString = "{\"tenantInfoBean\":" + jsonString + "}";
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + addTenantEndPoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + addTenantEndPoint,
completeJsonString, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -509,24 +530,30 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method helps to unsubscribe cartridges
public void unsubscribe(String alias) throws CommandException {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- restClientService.doPost(restClientService.getUrl() + unsubscribeTenantEndPoint, alias,
+ restClientService.doPost(httpClient, restClientService.getUrl() + unsubscribeTenantEndPoint, alias,
restClientService.getUsername(), restClientService.getPassword());
System.out.println("You have successfully unsubscribed " + alias);
} catch ( Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method helps to deploy cartridge definitions
public void deployCartridgeDefinition (String cartridgeDefinition) {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + cartridgeDeploymentEndPoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + cartridgeDeploymentEndPoint,
cartridgeDefinition, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -543,13 +570,16 @@ public class RestCommandLineService {
}
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method helps to deploy partitions
public void deployPartition (String partitionDefinition) {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + partitionDeploymentEndPoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + partitionDeploymentEndPoint,
partitionDefinition, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -571,13 +601,16 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method helps to deploy autoscalling polices
public void deployAutoscalingPolicy (String autoScalingPolicy) {
+ DefaultHttpClient httpClient= new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + autoscalingPolicyDeploymentEndPoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + autoscalingPolicyDeploymentEndPoint,
autoScalingPolicy, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -598,13 +631,16 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method helps to deploy deployment polices
public void deployDeploymentPolicy (String deploymentPolicy) {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doPost(restClientService.getUrl() + deploymentPolicyDeploymentEndPoint,
+ HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + deploymentPolicyDeploymentEndPoint,
deploymentPolicy, restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -625,13 +661,16 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method list available partitons
public void listPartitions() throws CommandException{
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doGet(restClientService.getUrl() + listParitionRestEndPoint,
+ HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listParitionRestEndPoint,
restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -680,13 +719,16 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method list autoscale policies
public void listAutoscalePolicies() throws CommandException {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doGet(restClientService.getUrl() + listAutoscalePolicyRestEndPoint,
+ HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listAutoscalePolicyRestEndPoint,
restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -734,13 +776,16 @@ public class RestCommandLineService {
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}
// This method list deployment policies
public void listDeploymentPolicies() throws CommandException {
+ DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doGet(restClientService.getUrl() + listDeploymentPolicyRestEndPoint,
+ HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listDeploymentPolicyRestEndPoint,
restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -783,9 +828,10 @@ public class RestCommandLineService {
CommandLineUtils.printTable(policyArry, partitionMapper, "ID");
System.out.println();
-
} catch (Exception e) {
e.printStackTrace();
+ } finally {
+ httpClient.getConnectionManager().shutdown();
}
}