Repository: stratos
Updated Branches:
  refs/heads/master 71d41e4ba -> 0b4c95e46


Handling Null response due to connection issues.


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0b4c95e4
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0b4c95e4
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0b4c95e4

Branch: refs/heads/master
Commit: 0b4c95e4609dfc0c39259d70de5ba2b99c8cc25d
Parents: 71d41e4
Author: Nirmal Fernando <[email protected]>
Authored: Thu Oct 2 19:13:50 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Thu Oct 2 19:13:50 2014 +0530

----------------------------------------------------------------------
 .../kubernetes/client/KubernetesApiClient.java  | 41 +++++++++++++++++---
 1 file changed, 36 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/0b4c95e4/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
 
b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
index f78d7d3..5622967 100644
--- 
a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
+++ 
b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
@@ -56,6 +56,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                try {
             HttpResponse res = restClient.doGet("pods/"+podId);
             
+            handleNullResponse("Pod ["+podId+"] retrieval failed.", res);
+            
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                String msg = "Pod ["+podId+"] doesn't exist.";
                                log.error(msg);
@@ -84,6 +86,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                try {
                        HttpResponse res = restClient.doGet("pods");
             
+                       handleNullResponse("Pod retrieval failed.", res);
+                       
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                return new Pod[0];
             }
@@ -112,9 +116,9 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        if (log.isDebugEnabled()) {
                                log.debug("CreatePod Request Body : "+content);
                        }
-                       System.out.println(content);
                        HttpResponse res = restClient.doPost("pods", content);
-                       System.out.println(res.getStatusLine().getStatusCode());
+                       
+                       handleNullResponse("Pod "+pod+" creation failed.", res);
                        
                        if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_CONFLICT) {
                                log.warn("Pod already created. "+pod);
@@ -143,6 +147,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                try {
                        HttpResponse res = restClient.doDelete("pods/"+podId);
             
+                       handleNullResponse("Pod ["+podId+"] deletion failed.", 
res);
+                       
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                String msg = "Pod ["+podId+"] doesn't exist.";
                                log.error(msg);
@@ -171,6 +177,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
 
                try {
                        HttpResponse res = 
restClient.doGet("replicationControllers/"+controllerId);
+                       
+                       handleNullResponse("Replication Controller 
["+controllerId+"] retrieval failed.", res);
             
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                String msg = "Replication Controller ["+controllerId+"] doesn't 
exist.";
@@ -200,6 +208,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                try {
                        HttpResponse res = 
restClient.doGet("replicationControllers");
             
+                       handleNullResponse("Replication Controller retrieval 
failed.", res);
+                       
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                return new ReplicationController[0];
             }
@@ -231,6 +241,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                                log.debug("CreateReplicationController Request 
Body : "+content);
                        }
                        HttpResponse res = 
restClient.doPost("replicationControllers", content);
+                       
+                       handleNullResponse("Replication Controller 
"+controller+" creation failed.", res);
             
                        if (res.getStatusLine().getStatusCode() != 
HttpStatus.SC_ACCEPTED && 
                                        res.getStatusLine().getStatusCode() != 
HttpStatus.SC_OK) {
@@ -274,6 +286,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        }
                        HttpResponse res = 
restClient.doPut("replicationControllers/"+controller.getId(),
                                        content);
+                       
+                       handleNullResponse("Replication Controller 
["+controllerId+"] update failed.", res);
 
                        if (res.getStatusLine().getStatusCode() != 
HttpStatus.SC_ACCEPTED
                                        && res.getStatusLine().getStatusCode() 
!= HttpStatus.SC_OK) {
@@ -302,6 +316,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                try {
                        HttpResponse res = 
restClient.doDelete("replicationControllers/"+controllerId);
             
+                       handleNullResponse("Replication Controller 
["+controllerId+"] deletion failed.", res);
+                       
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                String msg = "Replication Controller ["+controllerId+"] doesn't 
exist.";
                                log.error(msg);
@@ -329,6 +345,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        throws KubernetesClientException {
                try {
                        HttpResponse res = 
restClient.doGet("services/"+serviceId);
+                       
+                       handleNullResponse("Service ["+serviceId+"] retrieval 
failed.", res);
             
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                String msg = "Service ["+serviceId+"] doesn't exist.";
@@ -355,6 +373,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                try {
                        HttpResponse res = restClient.doGet("services");
             
+                       handleNullResponse("Service retrieval failed.", res);
+                       
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                return new Service[0];
             }
@@ -382,10 +402,11 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        if (log.isDebugEnabled()) {
                                log.debug("CreateService Request Body : 
"+content);
                        }
-                       System.out.println(content);
+                       
                        HttpResponse res = restClient.doPost("services", 
content);
-                       System.out.println(res.getStatusLine().getStatusCode());
-            
+                       
+                       handleNullResponse("Service "+service+" creation 
failed.", res);
+                       
                        if (res.getStatusLine().getStatusCode() != 
HttpStatus.SC_ACCEPTED && 
                                        res.getStatusLine().getStatusCode() != 
HttpStatus.SC_OK) {
                                String msg = "Service ["+service+"] creation 
failed. Error: "+
@@ -409,6 +430,8 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
 
                try {
                        HttpResponse res = 
restClient.doDelete("services/"+serviceId);
+                       
+                       handleNullResponse("Service ["+serviceId+"] deletion 
failed.", res);
             
             if (res.getStatusLine().getStatusCode() == 
HttpStatus.SC_NOT_FOUND) {
                String msg = "Service ["+serviceId+"] doesn't exist.";
@@ -432,6 +455,14 @@ public class KubernetesApiClient implements 
KubernetesAPIClientInterface {
                        throw new KubernetesClientException(msg, e);
                }
        }
+
+    private void handleNullResponse(String message, HttpResponse res)
+            throws KubernetesClientException {
+        if (res == null) {
+            log.error(message+ " Null response receieved.");
+            throw new KubernetesClientException(message);
+        }
+    }
        
        // This method gives the HTTP response string
        private String getHttpResponseString(HttpResponse response) {

Reply via email to