Updated Branches:
  refs/heads/master 9960fae5e -> 87f8d5d51

data cartridge subscription initial impl


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

Branch: refs/heads/master
Commit: e54aaa97f7531155af633a21dfcb0e21a76997c3
Parents: 0635e3b
Author: Isuru <[email protected]>
Authored: Fri Jan 17 21:05:32 2014 +0530
Committer: Isuru <[email protected]>
Committed: Fri Jan 17 21:05:32 2014 +0530

----------------------------------------------------------------------
 .../apache/stratos/manager/dto/Cartridge.java   | 15 +++-
 .../manager/CartridgeSubscriptionManager.java   |  5 +-
 .../DatabaseBasedPersistenceManager.java        |  6 +-
 .../subscription/CartridgeSubscription.java     | 10 +--
 .../subscription/DataCartridgeSubscription.java | 28 ++++----
 .../DataCartridgeSubscription_old.java          |  8 +--
 .../subscription/LBCartridgeSubscription.java   |  9 +++
 .../factory/CartridgeSubscriptionFactory.java   |  8 ++-
 .../rest/endpoint/services/ServiceUtils.java    | 74 +++++++++-----------
 .../rest/endpoint/services/StratosAdmin.java    |  2 +-
 10 files changed, 90 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java
index 08736ec..7e6b44e 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/dto/Cartridge.java
@@ -31,7 +31,6 @@ public class Cartridge implements Comparable<Cartridge> {
        //private int activeInstances;
        private String status;
        //private String ip;
-       private String password;
        private String provider;
        private String version;
        private boolean multiTenant;
@@ -39,9 +38,13 @@ public class Cartridge implements Comparable<Cartridge> {
        //private String policy;
        //private String policyDescription;
        private String repoURL;
-       private String dbUserName;
        private String mappedDomain;
 
+    //DB specific
+    private String dbHost;
+    private String dbUserName;
+    private String password;
+
        private String[] accessURLs;
 
        public String getDisplayName() {
@@ -199,4 +202,12 @@ public class Cartridge implements Comparable<Cartridge> {
                }
                return compare;
        }
+
+    public String getDbHost() {
+        return dbHost;
+    }
+
+    public void setDbHost(String dbHost) {
+        this.dbHost = dbHost;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
index fd75771..9fc8e2e 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
@@ -20,7 +20,6 @@
 package org.apache.stratos.manager.manager;
 
 import org.apache.axis2.AxisFault;
-import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
@@ -43,7 +42,6 @@ import org.apache.stratos.manager.utils.CartridgeConstants;
 import org.apache.stratos.manager.utils.RepoPasswordMgtUtil;
 import org.wso2.carbon.context.CarbonContext;
 
-import java.util.Arrays;
 import java.util.Collection;
 
 /**
@@ -158,7 +156,8 @@ public class CartridgeSubscriptionManager {
                 getCartridgeSubscriptionInstance(cartridgeInfo, 
tenancyBehaviour);
         
         String subscriptionKey = 
CartridgeSubscriptionUtils.generateSubscriptionKey();
-        String encryptedRepoPassword = 
RepoPasswordMgtUtil.encryptPassword(repositoryPassword, subscriptionKey);
+        String encryptedRepoPassword = repositoryPassword != null && 
!repositoryPassword.isEmpty() ?
+                RepoPasswordMgtUtil.encryptPassword(repositoryPassword, 
subscriptionKey) : "";
         
         //Create repository
         Repository repository = 
cartridgeSubscription.manageRepository(repositoryURL,

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/DatabaseBasedPersistenceManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/DatabaseBasedPersistenceManager.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/DatabaseBasedPersistenceManager.java
index 6ba08be..2bea672 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/DatabaseBasedPersistenceManager.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/DatabaseBasedPersistenceManager.java
@@ -73,7 +73,7 @@
 //        
if(cartridgeSubscription.getCartridgeInfo().getProvider().equals(CartridgeConstants.DATA_CARTRIDGE_PROVIDER)
 &&
 //                cartridgeSubscription instanceof DataCartridgeSubscription) {
 //            DataCartridgeSubscription dataCartridgeSubscription = 
(DataCartridgeSubscription) cartridgeSubscription;
-//            dataCartridgeInfoId = 
persistDataCartridgeInformation(connection, dataCartridgeSubscription.getHost(),
+//            dataCartridgeInfoId = 
persistDataCartridgeInformation(connection, 
dataCartridgeSubscription.getDBHost(),
 //                    dataCartridgeSubscription.getUsername(), 
dataCartridgeSubscription.getPassword());
 //        }
 //
@@ -526,7 +526,7 @@
 ////        if (resultSet.getInt("DATA_CARTRIDGE_ID") != -1 && 
cartridgeSubscription instanceof
 ////                SingleTenantCartridgeSubscription) {
 ////            DataCartridgeSubscription dataCartridgeSubscription = 
(DataCartridgeSubscription)cartridgeSubscription;
-////            dataCartridgeSubscription.setHost(resultSet.getString("HOST"));
+////            
dataCartridgeSubscription.setDBHost(resultSet.getString("HOST"));
 ////            
dataCartridgeSubscription.setUsername(resultSet.getString("ADMIN_USERNAME"));
 ////            
dataCartridgeSubscription.setPassword(RepoPasswordMgtUtil.decryptPassword(resultSet.
 ////                    getString("ADMIN_PASSWORD")));
@@ -925,7 +925,7 @@
 //        DataCartridge dataCartridge = new DataCartridge();
 //        dataCartridge.setId(resultSet.getInt("DATA_CARTRIDGE_ID"));
 //        
dataCartridge.setDataCartridgeType(resultSet.getString("CARTRIDGE_TYPE"));
-//        dataCartridge.setHost(resultSet.getString("HOST"));
+//        dataCartridge.setDBHost(resultSet.getString("HOST"));
 //        dataCartridge.setUserName(resultSet.getString("ADMIN_USERNAME"));
 //        dataCartridge.setPassword(resultSet.getString("ADMIN_PASSWORD"));
 //

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
index acd3055..241c02a 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CartridgeSubscription.java
@@ -194,12 +194,13 @@ public abstract class CartridgeSubscription implements 
Serializable {
             throws ADCException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
             RepositoryTransportException, InvalidRepositoryException {
 
-        if (!new 
Boolean(System.getProperty(CartridgeConstants.FEATURE_INTERNAL_REPO_ENABLED))) {
+        /*if (!new 
Boolean(System.getProperty(CartridgeConstants.FEATURE_INTERNAL_REPO_ENABLED))) {
             if (log.isDebugEnabled()) {
                 log.debug("Internal repo feature is not enabled.");
             }
-        }
+        }*/
 
+        //TODO: throw if repo is not given for this cartridge type
         Repository repository = null;
         if (repoURL != null && repoURL.trim().length() > 0) {
                repository = new Repository();
@@ -210,12 +211,11 @@ public abstract class CartridgeSubscription implements 
Serializable {
             repository.setUserName(repoUserName);
             repository.setPassword(repoUserPassword);
             repository.setPrivateRepository(privateRepo);
-
         }
 
         // Validate Remote Repository.
-        ApplicationManagementUtil.validateRepository(repoURL, repoUserName, 
repoUserPassword, privateRepo,
-                new 
Boolean(System.getProperty(CartridgeConstants.FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED)));
+        //ApplicationManagementUtil.validateRepository(repoURL, repoUserName, 
repoUserPassword, privateRepo,
+        //        new 
Boolean(System.getProperty(CartridgeConstants.FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED)));
 
         return repository;
     }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
index 03cfecd..e070338 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription.java
@@ -48,9 +48,9 @@ public class DataCartridgeSubscription extends 
CartridgeSubscription {
             subscriptionTenancyBehaviour) {
 
         super(cartridgeInfo, subscriptionTenancyBehaviour);
-        setHost("localhost");
-        setUsername("root");
-        setPassword(ApplicationManagementUtil.generatePassword());
+        setDBHost("localhost");
+        setDBUsername("root");
+        setDBPassword(ApplicationManagementUtil.generatePassword());
     }
 
     @Override
@@ -62,8 +62,8 @@ public class DataCartridgeSubscription extends 
CartridgeSubscription {
         getSubscriptionTenancyBehaviour().registerSubscription(this, props);
 
         DataCartridge dataCartridge = new DataCartridge();
-        dataCartridge.setUserName(getUsername());
-        dataCartridge.setPassword(getPassword());
+        dataCartridge.setUserName(getDBUsername());
+        dataCartridge.setPassword(getDBPassword());
         dataCartridge.setDataCartridgeType(getType());
 
         return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicyName(),
@@ -84,34 +84,34 @@ public class DataCartridgeSubscription extends 
CartridgeSubscription {
     public Map<String, String> getCustomPayloadEntries() {
 
         Map<String, String> payloadEntriesMap = new HashMap<String, String>();
-        payloadEntriesMap.put("MYSQL_HOST", host);
-        payloadEntriesMap.put("MYSQL_USER", username);
-        payloadEntriesMap.put("MYSQL_PASSWORD", password);
+        payloadEntriesMap.put("DB_HOST", host);
+        payloadEntriesMap.put("DB_USER", username);
+        payloadEntriesMap.put("DB_PASSWORD", password);
 
         return payloadEntriesMap;
     }
 
-    public String getHost() {
+    public String getDBHost() {
         return host;
     }
 
-    public void setHost(String host) {
+    public void setDBHost(String host) {
         this.host = host;
     }
 
-    public String getUsername() {
+    public String getDBUsername() {
         return username;
     }
 
-    public void setUsername(String username) {
+    public void setDBUsername(String username) {
         this.username = username;
     }
 
-    public String getPassword() {
+    public String getDBPassword() {
         return password;
     }
 
-    public void setPassword(String password) {
+    public void setDBPassword(String password) {
         this.password = password;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription_old.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription_old.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription_old.java
index 78a491a..91f5347 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription_old.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/DataCartridgeSubscription_old.java
@@ -41,7 +41,7 @@
 //    public DataCartridgeSubscription(CartridgeInfo cartridgeInfo) {
 //
 //        super(cartridgeInfo);
-//        this.setHost("localhost");
+//        this.setDBHost("localhost");
 //        this.setUsername(CartridgeConstants.MYSQL_DEFAULT_USER);
 //        this.setPassword(ApplicationManagementUtil.generatePassword());
 //    }
@@ -68,7 +68,7 @@
 //    public PayloadArg createPayloadParameters() throws ADCException {
 //
 //        PayloadArg payloadArg = super.createPayloadParameters();
-//        payloadArg.setDataCartridgeHost(this.getHost());
+//        payloadArg.setDataCartridgeHost(this.getDBHost());
 //        payloadArg.setDataCartridgeAdminUser(getUsername());
 //        payloadArg.setDataCartridgeAdminPassword(getPassword());
 //
@@ -101,11 +101,11 @@
 //
 //    }
 //
-//    public String getHost() {
+//    public String getDBHost() {
 //        return host;
 //    }
 //
-//    public void setHost(String host) {
+//    public void setDBHost(String host) {
 //        this.host = host;
 //    }
 //

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
index 02763b6..0b349ab 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/LBCartridgeSubscription.java
@@ -23,6 +23,7 @@ import 
org.apache.stratos.manager.dao.CartridgeSubscriptionInfo;
 import org.apache.stratos.manager.exception.ADCException;
 import org.apache.stratos.manager.exception.NotSubscribedException;
 import org.apache.stratos.manager.exception.UnregisteredCartridgeException;
+import org.apache.stratos.manager.repository.Repository;
 import 
org.apache.stratos.manager.subscription.tenancy.SubscriptionTenancyBehaviour;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 import org.apache.stratos.cloud.controller.pojo.Properties;
@@ -40,6 +41,14 @@ public class LBCartridgeSubscription extends 
CartridgeSubscription {
         super(cartridgeInfo, subscriptionTenancyBehaviour);
     }
 
+    public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
+                                        boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
+                                        String tenantDomain) {
+
+        //no repository for data cartridge instances
+        return null;
+    }
+
     @Override
     public void removeSubscription() throws ADCException, 
NotSubscribedException {
         //TODO

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
index 672998b..78cd453 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
@@ -70,18 +70,20 @@ public class CartridgeSubscriptionFactory {
             cartridgeSubscription = new 
FrameworkCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
 
         } else {
+            // TODO: fix properly with cartridgeCategory element
             
if(cartridgeInfo.getProvider().equals(CartridgeConstants.DATA_CARTRIDGE_PROVIDER))
 {
                 cartridgeSubscription = new 
DataCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
             }
+            else if (cartridgeInfo.getProvider().equals("application")) {
+                cartridgeSubscription = new 
ApplicationCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
+            }
             else {
-                //cartridgeSubscription = new 
SingleTenantCartridgeSubscription(cartridgeInfo);
                 cartridgeSubscription = new 
FrameworkCartridgeSubscription(cartridgeInfo, subscriptionTenancyBehaviour);
             }
         }
 
         if(cartridgeSubscription == null) {
-            throw new ADCException("Unable to create a CartridgeSubscription 
subscription for "
-                    + cartridgeInfo);
+            throw new ADCException("Unable to create a CartridgeSubscription 
subscription for " + cartridgeInfo);
         }
 
         return cartridgeSubscription;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index 5f9710b..b79a647 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -30,6 +30,7 @@ import org.apache.stratos.manager.dto.SubscriptionInfo;
 import org.apache.stratos.manager.exception.*;
 import org.apache.stratos.manager.manager.CartridgeSubscriptionManager;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
+import org.apache.stratos.manager.subscription.DataCartridgeSubscription;
 import 
org.apache.stratos.manager.topology.model.TopologyClusterInformationModel;
 import org.apache.stratos.manager.utils.ApplicationManagementUtil;
 import org.apache.stratos.manager.utils.CartridgeConstants;
@@ -484,7 +485,8 @@ public class ServiceUtils {
         return cartridges;
     }
 
-    static List<Cartridge> getSubscribedCartridges(String 
cartridgeSearchString, ConfigurationContext configurationContext) throws 
ADCException {
+    static List<Cartridge> getSubscriptions (String cartridgeSearchString, 
ConfigurationContext configurationContext) throws ADCException {
+
         List<Cartridge> cartridges = new ArrayList<Cartridge>();
 
         if (log.isDebugEnabled()) {
@@ -494,54 +496,18 @@ public class ServiceUtils {
         try {
             Pattern searchPattern = 
getSearchStringPattern(cartridgeSearchString);
 
-            //List<CartridgeSubscriptionInfo> subscriptionList = 
PersistenceManager
-            //        
.retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(configurationContext));
             Collection<CartridgeSubscription> subscriptions = 
cartridgeSubsciptionManager.getCartridgeSubscriptions(ApplicationManagementUtil.
                     getTenantId(configurationContext), null);
 
             if (subscriptions != null && !subscriptions.isEmpty()) {
+
                 for (CartridgeSubscription subscription : subscriptions) {
-                    /*CartridgeInfo cartridgeInfo = null;
-                    try {
-                        cartridgeInfo = 
CloudControllerServiceClient.getServiceClient().getCartridgeInfo(
-                                subscription.getCartridge());
-                    } catch (Exception e) {
-                        if (log.isWarnEnabled()) {
-                            log.warn("Error when calling getCartridgeInfo for 
" + subscription.getCartridge()
-                                    + ", Error: " + e.getMessage());
-                        }
-                    }
-                    if (cartridgeInfo == null) {
-                        // This cannot happen. But continue
-                        if (log.isDebugEnabled()) {
-                            log.debug("Cartridge Info not found: " + 
subscription.getCartridge());
-                        }
-                        continue;
-                    }*/
-                    if (!cartridgeMatches(subscription.getCartridgeInfo(), 
subscription, searchPattern)) {
-                        continue;
-                    }
 
-                    /*if 
(!subscription.getSubscriptionStatus().equals(CartridgeConstants.SUBSCRIBED)) {
-                        // not in the subscribed state, skip
+                    if (!cartridgeMatches(subscription.getCartridgeInfo(), 
subscription, searchPattern)) {
                         continue;
-                    }*/
-                    Cartridge cartridge = new Cartridge();
-                    
cartridge.setCartridgeType(subscription.getCartridgeInfo().getType());
-                    
cartridge.setMultiTenant(subscription.getCartridgeInfo().getMultiTenant());
-                    
cartridge.setProvider(subscription.getCartridgeInfo().getProvider());
-                    
cartridge.setVersion(subscription.getCartridgeInfo().getVersion());
-                    
cartridge.setDescription(subscription.getCartridgeInfo().getDescription());
-                    
cartridge.setDisplayName(subscription.getCartridgeInfo().getDisplayName());
-                    cartridge.setCartridgeAlias(subscription.getAlias());
-                    cartridge.setHostName(subscription.getHostName());
-                    cartridge.setMappedDomain(subscription.getMappedDomain());
-                    if (subscription.getRepository() != null) {
-                        
cartridge.setRepoURL(subscription.getRepository().getUrl());
                     }
-                    cartridge.setStatus(subscription.getSubscriptionStatus());
 
-                    cartridges.add(cartridge);
+                    cartridges.add(getCartridgeFromSubscription(subscription));
                 }
             } else {
                 if (log.isDebugEnabled()) {
@@ -563,6 +529,34 @@ public class ServiceUtils {
         return cartridges;
     }
 
+    private static Cartridge getCartridgeFromSubscription 
(CartridgeSubscription subscription) throws ADCException {
+
+        Cartridge cartridge = new Cartridge();
+        cartridge.setCartridgeType(subscription.getCartridgeInfo().getType());
+        
cartridge.setMultiTenant(subscription.getCartridgeInfo().getMultiTenant());
+        cartridge.setProvider(subscription.getCartridgeInfo().getProvider());
+        cartridge.setVersion(subscription.getCartridgeInfo().getVersion());
+        
cartridge.setDescription(subscription.getCartridgeInfo().getDescription());
+        
cartridge.setDisplayName(subscription.getCartridgeInfo().getDisplayName());
+        cartridge.setCartridgeAlias(subscription.getAlias());
+        cartridge.setHostName(subscription.getHostName());
+        cartridge.setMappedDomain(subscription.getMappedDomain());
+        if (subscription.getRepository() != null) {
+            cartridge.setRepoURL(subscription.getRepository().getUrl());
+        }
+
+        if (subscription instanceof DataCartridgeSubscription) {
+            DataCartridgeSubscription dataCartridgeSubscription = 
(DataCartridgeSubscription) subscription;
+            cartridge.setDbHost(dataCartridgeSubscription.getDBHost());
+            cartridge.setDbUserName(dataCartridgeSubscription.getDBUsername());
+            cartridge.setPassword(dataCartridgeSubscription.getDBPassword());
+        }
+
+        cartridge.setStatus(subscription.getSubscriptionStatus());
+
+        return cartridge;
+    }
+
     static Pattern getSearchStringPattern(String searchString) {
         if (log.isDebugEnabled()) {
             log.debug("Creating search pattern for " + searchString);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e54aaa97/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
index dd114cc..dafcd91 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
@@ -263,7 +263,7 @@ public class StratosAdmin extends AbstractAdmin {
     @Consumes("application/json")
     @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     public Cartridge[] getSubscribedCartridges() throws ADCException {
-        List<Cartridge> cartridgeList = 
ServiceUtils.getSubscribedCartridges(null, getConfigContext());
+        List<Cartridge> cartridgeList = ServiceUtils.getSubscriptions(null, 
getConfigContext());
         // Following is very important when working with axis2
         return cartridgeList.isEmpty() ? new Cartridge[0] : 
cartridgeList.toArray(new Cartridge[cartridgeList.size()]);
     }

Reply via email to