fixing https://issues.apache.org/jira/browse/STRATOS-450 - cli - and fixing 
issues with subscribed-cartridges-info command


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

Branch: refs/heads/master
Commit: c434b0561ebf54f064b0404877f9adbbcc3c3c84
Parents: 4810131
Author: Nirmal Fernando <[email protected]>
Authored: Fri Feb 14 15:51:13 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Fri Feb 14 15:51:13 2014 +0530

----------------------------------------------------------------------
 .../stratos/cli/RestCommandLineService.java     | 78 ++++++++++++++++++--
 1 file changed, 71 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c434b056/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 959d183..e503ffc 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
@@ -434,17 +434,19 @@ public class RestCommandLineService {
                        +alias, restClientService.getUsername(), 
restClientService.getPassword());
 
             String responseCode = "" + 
response.getStatusLine().getStatusCode();
-            if ( ! responseCode.equals(CliConstants.RESPONSE_OK)) {
-                System.out.println("Error occured while listing subscribe 
cartridges");
+            String resultString = getHttpResponseString(response);
+            GsonBuilder gsonBuilder = new GsonBuilder();
+            Gson gson = gsonBuilder.create();
+            
+            if ( !responseCode.equals(CliConstants.RESPONSE_OK)) {
+               ExceptionMapper exception = gson.fromJson(resultString, 
ExceptionMapper.class);
+               System.out.println(exception);
                 return;
             }
 
-            String resultString = getHttpResponseString(response);
+            CartridgeWrapper cartridgeWrapper = gson.fromJson(resultString, 
CartridgeWrapper.class);
+            Cartridge cartridge = cartridgeWrapper.getCartridge();
 
-            GsonBuilder gsonBuilder = new GsonBuilder();
-            Gson gson = gsonBuilder.create();
-            CartridgeList cartridgeList = gson.fromJson(resultString, 
CartridgeList.class);
-            Cartridge cartridge = cartridgeList.getCartridge().get(0);
             if (cartridge == null) {
                 System.out.println("Cartridge is null");
                 return;
@@ -1741,4 +1743,66 @@ public class RestCommandLineService {
         System.out.println(message);
         throw new CommandException(message, e);
     }
+    
+    /**
+     * To map RestApiException of back-end.
+     * @author nirmal
+     *
+     */
+    public class ExceptionMapper {
+       @Override
+               public String toString() {
+                       return Error.toString();
+               }
+
+               private ErrorWrapper Error;
+
+               public ErrorWrapper getError() {
+                       return Error;
+               }
+
+               public void setError(ErrorWrapper error) {
+                       Error = error;
+               }
+       
+    }
+    
+    public class ErrorWrapper {
+       private String errorCode;
+       private String errorMessage;
+       public String getErrorCode() {
+               return errorCode;
+       }
+       public void setErrorCode(String errorCode) {
+               this.errorCode = errorCode;
+       }
+       public String getErrorMessage() {
+               return errorMessage;
+       }
+       public void setErrorMessage(String errorMessage) {
+               this.errorMessage = errorMessage;
+       }
+       @Override
+       public String toString() {
+               return "Exception [errorCode=" + errorCode
+                               + ", errorMessage=" + errorMessage + "]";
+       }
+       
+    }
+    
+       // This class is to convert JSON string to Cartridge object
+       public class CartridgeWrapper {
+               private Cartridge cartridge;
+
+               public Cartridge getCartridge() {
+                       return cartridge;
+               }
+
+               public void setCartridge(Cartridge cartridge) {
+                       this.cartridge = cartridge;
+               }
+
+               public CartridgeWrapper() {
+               }
+       }
 }

Reply via email to