Further code and config clean up

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

Branch: refs/heads/master
Commit: 0de427179174987d0ef6a6bb6caaca206ca5c1d2
Parents: 9af8ef7
Author: Sajith Kariyawasam <[email protected]>
Authored: Wed Feb 12 00:30:24 2014 +0530
Committer: Sajith Kariyawasam <[email protected]>
Committed: Wed Feb 12 00:30:24 2014 +0530

----------------------------------------------------------------------
 .../DataCartridgeSubscriptionConnector.java     |  22 +-
 .../manager/CartridgeSubscriptionManager.java   |  15 +
 .../service/ApplicationManagementService.java   | 677 -------------------
 .../manager/utils/CartridgeConstants.java       |   1 -
 .../rest/endpoint/services/ServiceUtils.java    |  49 +-
 .../src/main/conf/cartridge-config.properties   |  14 -
 6 files changed, 62 insertions(+), 716 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0de42717/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/connector/data/DataCartridgeSubscriptionConnector.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/connector/data/DataCartridgeSubscriptionConnector.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/connector/data/DataCartridgeSubscriptionConnector.java
index 4764f49..b376da4 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/connector/data/DataCartridgeSubscriptionConnector.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/connector/data/DataCartridgeSubscriptionConnector.java
@@ -19,17 +19,13 @@
 
 package org.apache.stratos.manager.connector.data;
 
+import java.util.Properties;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.manager.connector.CartridgeSubscriptionConnector;
-import org.apache.stratos.manager.dto.Cartridge;
 import org.apache.stratos.manager.exception.ADCException;
-import org.apache.stratos.manager.exception.NotSubscribedException;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
-import org.apache.stratos.manager.utils.ApplicationManagementUtil;
-import org.apache.stratos.manager.utils.CartridgeConstants;
-
-import java.util.Properties;
 
 public class DataCartridgeSubscriptionConnector extends 
CartridgeSubscriptionConnector {
 
@@ -45,10 +41,10 @@ public class DataCartridgeSubscriptionConnector extends 
CartridgeSubscriptionCon
 
         Properties connectionProperties = new Properties();
 
-        int maxAttempts = 
Integer.parseInt(System.getProperty(CartridgeConstants.MAX_ATTEMPTS, "50"));
-        int attempts = 0;
-        while (attempts < maxAttempts) {
-            attempts++;
+       // int maxAttempts = 
Integer.parseInt(System.getProperty(CartridgeConstants.MAX_ATTEMPTS, "50"));
+        //int attempts = 0;
+       // while (attempts < maxAttempts) {
+            //attempts++;
             /*Cartridge cartridge = null;
              try {
                 cartridge = ApplicationManagementUtil.getCartridgeInfo(
@@ -74,12 +70,12 @@ public class DataCartridgeSubscriptionConnector extends 
CartridgeSubscriptionCon
                 }*/
             //}
 
-            if(attempts == maxAttempts) {
+            /*if(attempts == maxAttempts) {
                 String errorMsg = "Failed to connect " + cartridgeSubscription 
+ " and " + connectingCartridgeSubscription;
                 log.error(errorMsg);
                 throw  new ADCException(errorMsg);
-            }
-        }
+            }*/
+        //}
 
         return connectionProperties;
     }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0de42717/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 4daa668..1b63890 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
@@ -288,4 +288,19 @@ public class CartridgeSubscriptionManager {
             throw new NotSubscribedException(errorMsg, alias);
         }
     }
+    
+    
+    /**
+     * 
+     * Returns a collection of Cartridge subscriptions for a particular tenant 
and a cartridge type
+     * 
+     * @param tenantId
+     * @param cartridgeType
+     * @return
+     */
+    public Collection<CartridgeSubscription> isCartridgeSubscribed(int 
tenantId, String cartridgeType) {
+       
+       DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = new 
DataInsertionAndRetrievalManager();
+        return 
dataInsertionAndRetrievalManager.getCartridgeSubscriptions(tenantId, 
cartridgeType);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0de42717/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/service/ApplicationManagementService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/service/ApplicationManagementService.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/service/ApplicationManagementService.java
deleted file mode 100644
index 503bcec..0000000
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/service/ApplicationManagementService.java
+++ /dev/null
@@ -1,677 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.manager.service;
-
-import org.apache.axis2.AxisFault;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.manager.client.CloudControllerServiceClient;
-import org.apache.stratos.manager.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.manager.dto.*;
-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.utils.CartridgeSubscriptionUtils;
-import org.apache.stratos.manager.utils.ApplicationManagementUtil;
-import org.apache.stratos.manager.utils.CartridgeConstants;
-import org.apache.stratos.manager.utils.PersistenceManager;
-import org.apache.stratos.manager.utils.PolicyHolder;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.core.AbstractAdmin;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.utils.DataPaginator;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Pattern;
-
-/**
- *
- *
- *
- */
-public class ApplicationManagementService extends AbstractAdmin {
-
-    private static final Log log = 
LogFactory.getLog(ApplicationManagementService.class);
-    //private RegistryManager registryManager = new RegistryManager();
-    private CartridgeSubscriptionManager cartridgeSubsciptionManager = new 
CartridgeSubscriptionManager();
-
-    /*
-     * Instantiate RepoNotificationService. Since this service is in the same 
-     * component (org.apache.stratos.manager), a new object is created.
-     * TODO: Is there a better way to get this service?
-     */
-    private RepoNotificationService repoNotificationService = new 
RepoNotificationService();
-
-       /**
-        * Get Available Cartridges
-        * 
-        * @return Available Cartridges
-        */
-       public Cartridge[] getAvailableCartridges(boolean multiTenant) throws 
ADCException {
-               List<Cartridge> cartridges = getAvailableCartridges(null, 
multiTenant);
-               // Following is very important when working with axis2
-               return cartridges.isEmpty() ? new Cartridge[0] : 
cartridges.toArray(new Cartridge[cartridges.size()]);
-       }
-
-       /**
-        * Get Subscribed Cartridges
-        * 
-        * @return Subscribed Cartridges
-        */
-       public Cartridge[] getSubscribedCartridges() throws ADCException {
-               checkSuperTenant();
-               List<Cartridge> cartridgeList = getSubscribedCartridges(null);
-               // Following is very important when working with axis2
-               return cartridgeList.isEmpty() ? new Cartridge[0] : 
cartridgeList.toArray(new Cartridge[cartridgeList.size()]);
-       }
-
-       /**
-        * Get available cartridges
-        */
-       public CartridgeWrapper getPagedAvailableCartridges(String 
cartridgeSearchString, int pageNumber, boolean multiTenant)
-                       throws ADCException {
-               checkSuperTenant();
-               CartridgeWrapper cartridgeWrapper = new CartridgeWrapper();
-               List<Cartridge> cartridges = 
getAvailableCartridges(cartridgeSearchString, multiTenant);
-       
-               // TODO Improve pagination
-               if (!cartridges.isEmpty()) {
-                       // Paginate only if cartridges are there.
-                       DataPaginator.doPaging(pageNumber, cartridges, 
cartridgeWrapper);
-               } else {
-                       // Must set this value as axis2 stub client will return 
an array
-                       // with length = 1 and null element if cartridges[] is 
null
-                       cartridgeWrapper.set(cartridges);
-               }
-               return cartridgeWrapper;
-       }
-
-       private List<Cartridge> getAvailableCartridges(String 
cartridgeSearchString, Boolean multiTenant) throws ADCException {
-               List<Cartridge> cartridges = new ArrayList<Cartridge>();
-               
-               if (log.isDebugEnabled()) {
-                       log.debug("Getting available cartridges. Search String: 
" + cartridgeSearchString + ", Multi-Tenant: " + multiTenant);
-               }
-               
-               boolean allowMultipleSubscription = new Boolean(
-                               
System.getProperty(CartridgeConstants.FEATURE_MULTI_TENANT_MULTIPLE_SUBSCRIPTION_ENABLED));
-
-               try {
-                       Pattern searchPattern = 
getSearchStringPattern(cartridgeSearchString);
-
-                       String[] availableCartridges = 
CloudControllerServiceClient.getServiceClient().getRegisteredCartridges();
-
-                       if (availableCartridges != null) {
-                               for (String cartridgeType : 
availableCartridges) {
-                                       CartridgeInfo cartridgeInfo = null;
-                                       try {
-                                               cartridgeInfo = 
CloudControllerServiceClient.getServiceClient().getCartridgeInfo(cartridgeType);
-                                       } catch (Exception e) {
-                                               if (log.isWarnEnabled()) {
-                                                       log.warn("Error when 
calling getCartridgeInfo for " + cartridgeType + ", Error: "
-                                                                       + 
e.getMessage());
-                                               }
-                                       }
-                                       if (cartridgeInfo == null) {
-                                               // This cannot happen. But 
continue
-                                               if (log.isDebugEnabled()) {
-                                                       log.debug("Cartridge 
Info not found: " + cartridgeType);
-                                               }
-                                               continue;
-                                       }
-                                       
-                                       if (multiTenant != null && !multiTenant 
&& cartridgeInfo.getMultiTenant()) {
-                                               // Need only Single-Tenant 
cartridges
-                                               continue;
-                                       } else if (multiTenant != null && 
multiTenant && !cartridgeInfo.getMultiTenant()) {
-                                               // Need only Multi-Tenant 
cartridges
-                                               continue;
-                                       }
-                                       
-                                       if (!cartridgeMatches(cartridgeInfo, 
searchPattern)) {
-                                               continue;
-                                       }
-                                       
-                                       Cartridge cartridge = new Cartridge();
-                                       
cartridge.setCartridgeType(cartridgeType);
-                                       
cartridge.setProvider(cartridgeInfo.getProvider());
-                                       
cartridge.setDisplayName(cartridgeInfo.getDisplayName());
-                                       
cartridge.setDescription(cartridgeInfo.getDescription());
-                                       
cartridge.setVersion(cartridgeInfo.getVersion());
-                                       
cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
-                                       
//cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
-                                       cartridge.setCartridgeAlias("-");
-                                       //cartridge.setActiveInstances(0);
-                                       cartridges.add(cartridge);
-                                       
-                                       if (cartridgeInfo.getMultiTenant() && 
!allowMultipleSubscription) {
-                                               // If the cartridge is 
multi-tenant. We should not let users
-                                               // createSubscription twice.
-                                               if 
(PersistenceManager.isAlreadySubscribed(cartridgeType,
-                                                               
ApplicationManagementUtil.getTenantId(getConfigContext()))) {
-                                                       if 
(log.isDebugEnabled()) {
-                                                               
log.debug("Already subscribed to " + cartridgeType
-                                                                               
+ ". This multi-tenant cartridge will not be available to createSubscription");
-                                                       }
-                                                       
//cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
-                                               }
-                                       }
-                               }
-                       } else {
-                               if (log.isDebugEnabled()) {
-                                       log.debug("There are no available 
cartridges");
-                               }
-                       }
-               } catch (Exception e) {
-                       String msg = "Error when getting available cartridges. 
" + e.getMessage();
-                       log.error(msg, e);
-                       throw new ADCException("An error occurred getting 
available cartridges ", e);
-               }
-
-               Collections.sort(cartridges);
-
-               if (log.isDebugEnabled()) {
-                       log.debug("Returning available cartridges " + 
cartridges.size());
-               }
-
-               return cartridges;
-       }
-
-       /**
-        * Get subscribed cartridges
-        */
-       public CartridgeWrapper getPagedSubscribedCartridges(String 
cartridgeSearchString, int pageNumber)
-                       throws ADCException {
-               checkSuperTenant();
-               CartridgeWrapper cartridgeWrapper = new CartridgeWrapper();
-               List<Cartridge> cartridges = 
getSubscribedCartridges(cartridgeSearchString);
-
-               // TODO Improve pagination
-               if (!cartridges.isEmpty()) {
-                       // Paginate only if cartridges are there.
-                       DataPaginator.doPaging(pageNumber, cartridges, 
cartridgeWrapper);
-               } else {
-                       cartridgeWrapper.set(cartridges);
-               }
-               return cartridgeWrapper;
-       }
-
-       private List<Cartridge> getSubscribedCartridges(String 
cartridgeSearchString) throws ADCException {
-               List<Cartridge> cartridges = new ArrayList<Cartridge>();
-               
-               if (log.isDebugEnabled()) {
-                       log.debug("Getting subscribed cartridges. Search 
String: " + cartridgeSearchString);
-               }
-
-               try {
-                       Pattern searchPattern = 
getSearchStringPattern(cartridgeSearchString);
-
-                       List<CartridgeSubscriptionInfo> subscriptionList = 
PersistenceManager
-                                       
.retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
-
-                       if (subscriptionList != null && 
!subscriptionList.isEmpty()) {
-                               for (CartridgeSubscriptionInfo subscription : 
subscriptionList) {
-                                       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(cartridgeInfo, 
subscription, searchPattern)) {
-                                               continue;
-                                       }
-                                       /*TopologyManagementService 
topologyMgtService = DataHolder.getTopologyMgtService();
-                                       String[] ips = 
topologyMgtService.getActiveIPs(subscription.getCartridge(),
-                                                       
subscription.getClusterDomain(), subscription.getClusterSubdomain());
-                                       Cartridge cartridge = 
ApplicationManagementUtil.populateCartridgeInfo(cartridgeInfo, subscription, 
ips, getTenantDomain());
-                                       cartridges.add(cartridge);*/
-                               }
-                       } else {
-                               if (log.isDebugEnabled()) {
-                                       log.debug("There are no subscribed 
cartridges");
-                               }
-                       }
-               } catch (Exception e) {
-                       String msg = "Error when getting subscribed cartridges. 
" + e.getMessage();
-                       log.error(msg, e);
-                       throw new ADCException("An Error occurred when getting 
subscribed cartridges.", e);
-               }
-
-               Collections.sort(cartridges);
-
-               if (log.isDebugEnabled()) {
-                       log.debug("Returning subscribed cartridges " + 
cartridges.size());
-               }
-
-               return cartridges;
-       }
-
-    private Pattern getSearchStringPattern(String searchString) {
-        if (log.isDebugEnabled()) {
-            log.debug("Creating search pattern for " + searchString);
-        }
-        if (searchString != null) {
-            // Copied from 
org.wso2.carbon.webapp.mgt.WebappAdmin.doesWebappSatisfySearchString(WebApplication,
 String)
-            String regex = searchString.toLowerCase().replace("..?", 
".?").replace("..*", ".*").replaceAll("\\?", ".?")
-                    .replaceAll("\\*", ".*?");
-            if (log.isDebugEnabled()) {
-                log.debug("Created regex: " + regex + " for search string " + 
searchString);
-            }
-
-            Pattern pattern = Pattern.compile(regex);
-            return pattern;
-        }
-        return null;
-    }
-
-    // TODO: Improve search method
-    private boolean cartridgeMatches(CartridgeInfo cartridgeInfo, Pattern 
pattern) {
-        if (pattern != null) {
-            boolean matches = false;
-            if (cartridgeInfo.getDisplayName() != null) {
-                matches = 
pattern.matcher(cartridgeInfo.getDisplayName().toLowerCase()).find();
-            }
-            if (!matches && cartridgeInfo.getDescription() != null) {
-                matches = 
pattern.matcher(cartridgeInfo.getDescription().toLowerCase()).find();
-            }
-            return matches;
-        }
-        return true;
-    }
-
-    private boolean cartridgeMatches(CartridgeInfo cartridgeInfo, 
CartridgeSubscriptionInfo cartridgeSubscriptionInfo, Pattern pattern) {
-        if (pattern != null) {
-            boolean matches = false;
-            if (cartridgeInfo.getDisplayName() != null) {
-                matches = 
pattern.matcher(cartridgeInfo.getDisplayName().toLowerCase()).find();
-            }
-            if (!matches && cartridgeInfo.getDescription() != null) {
-                matches = 
pattern.matcher(cartridgeInfo.getDescription().toLowerCase()).find();
-            }
-            if (!matches && cartridgeSubscriptionInfo.getCartridge() != null) {
-                matches = 
pattern.matcher(cartridgeSubscriptionInfo.getCartridge().toLowerCase()).find();
-            }
-            if (!matches && cartridgeSubscriptionInfo.getAlias() != null) {
-                matches = 
pattern.matcher(cartridgeSubscriptionInfo.getAlias().toLowerCase()).find();
-            }
-            return matches;
-        }
-        return true;
-    }
-    
-    public Cartridge getCartridgeInfo(String alias) throws ADCException, 
NotSubscribedException {
-       checkSuperTenant();
-       return ApplicationManagementUtil.getCartridgeInfo(alias, 
getTenantDomain());
-    }
-
-    public String[] getSubscribedCartridgeAliases() throws AxisFault {
-        try {
-            List<CartridgeSubscriptionInfo> subscriptionList = 
PersistenceManager
-                    
.retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(getConfigContext()));
-            List<String> subscribedAliases = new ArrayList<String>();
-            for (CartridgeSubscriptionInfo cartridgeSubscriptionInfo : 
subscriptionList) {
-
-                
if(cartridgeSubscriptionInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2)
 &&
-                        
getCartridgeInfo(cartridgeSubscriptionInfo.getAlias()).isMultiTenant()) {
-
-                    
subscribedAliases.add(cartridgeSubscriptionInfo.getCartridge());
-                } else {
-                    
subscribedAliases.add(cartridgeSubscriptionInfo.getAlias());
-                }
-            }
-            if(subscribedAliases.size() == 0) {
-                return new String[]{""};
-            } else {
-                return subscribedAliases.toArray(new 
String[subscribedAliases.size()]);
-            }
-
-        } catch (Exception e) {
-            String msg = "Exception in getting subscribed cartridge aliases :" 
+ e.getMessage();
-            log.error(msg, e);
-            throw new AxisFault("An error occurred while getting subscribed 
cartridge aliases", e);
-        }
-    }
-    
-       public PolicyDefinition[] getPolicyDefinitions() {
-               List<PolicyDefinition> policyDefinitions = 
PolicyHolder.getInstance().getPolicyDefinitions();
-               return policyDefinitions == null || policyDefinitions.isEmpty() 
? new PolicyDefinition[0] : policyDefinitions
-                               .toArray(new 
PolicyDefinition[policyDefinitions.size()]);
-       }
-
-       /**
-        * Subscribe to a cartridge
-        */
-       public SubscriptionInfo subscribe(String cartridgeType, String alias, 
String policy, String repoURL,
-                       boolean privateRepo, String repoUsername, String 
repoPassword, String dataCartridgeType,
-                       String dataCartridgeAlias) throws ADCException, 
PolicyException, UnregisteredCartridgeException,
-            InvalidCartridgeAliasException, DuplicateCartridgeAliasException, 
RepositoryRequiredException,
-            AlreadySubscribedException, 
RepositoryCredentialsRequiredException, InvalidRepositoryException,
-            RepositoryTransportException {
-
-               checkSuperTenant();
-
-               //return ApplicationManagementUtil.doSubscribe(cartridgeType, 
alias, policy, repoURL, privateRepo, repoUsername,
-               //              repoPassword, dataCartridgeType, 
dataCartridgeAlias, getUsername(),
-               //              
ApplicationManagementUtil.getTenantId(getConfigContext()), getTenantDomain());
-
-        CartridgeSubscription cartridgeSubscription = 
cartridgeSubsciptionManager.subscribeToCartridge(cartridgeType,
-                alias.trim(), "economyPolicy", "economy-deployment", 
getTenantDomain(), ApplicationManagementUtil.getTenantId(configurationContext),
-                getUsername(), "git", repoURL, privateRepo, repoUsername, 
repoPassword, null);
-
-        if(dataCartridgeAlias != null && !dataCartridgeAlias.trim().isEmpty()) 
{
-
-            /*dataCartridgeAlias = dataCartridgeAlias.trim();
-
-            CartridgeSubscription connectingCartridgeSubscription = null;
-            try {
-                connectingCartridgeSubscription = 
cartridgeSubsciptionManager.getCartridgeSubscriptionForCluster(getTenantDomain(),
-                        dataCartridgeAlias);
-            } catch (NotSubscribedException e) {
-                log.error(e.getMessage(), e);
-            }
-            if (connectingCartridgeSubscription != null) {
-                // Publish tenant subscribed event
-                
CartridgeSubscriptionUtils.publishTenantSubscribedEvent(getTenantId(), 
connectingCartridgeSubscription.getCartridgeInfo().getType());
-
-                try {
-                    
cartridgeSubsciptionManager.connectCartridges(getTenantDomain(), 
cartridgeSubscription,
-                            connectingCartridgeSubscription.getAlias());
-
-                } catch (NotSubscribedException e) {
-                    log.error(e.getMessage(), e);
-
-                } catch (AxisFault axisFault) {
-                    log.error(axisFault.getMessage(), axisFault);
-                }
-            } else {
-                log.error("Failed to connect. No cartridge subscription found 
for tenant " +
-                        
ApplicationManagementUtil.getTenantId(configurationContext) + " with alias " + 
alias);
-            } */
-        }
-
-        return 
cartridgeSubsciptionManager.registerCartridgeSubscription(cartridgeSubscription);
-
-       }
-
-    /**
-     * Unsubscribing the cartridge
-     *
-     * @param alias name of the cartridge to be unsubscribed
-     */
-    public void unsubscribe(String alias) throws ADCException, 
NotSubscribedException {
-
-        checkSuperTenant();
-
-        // Find subscription of alias
-        CartridgeSubscriptionInfo subscription;
-        String errorMessage = String.format("Tenant %s is not subscribed for 
%s", getTenantDomain(), alias);
-        try {
-            subscription = 
PersistenceManager.getSubscription(getTenantDomain(), alias);
-            if(subscription == null) {
-                throw new ADCException(errorMessage);
-            }
-        } catch (Exception e) {
-            throw new ADCException(errorMessage);
-        }
-
-        // Un-subscribe from cartridge
-        
cartridgeSubsciptionManager.unsubscribeFromCartridge(getTenantDomain(), alias);
-
-        // Publish tenant un-subscribed event
-        String serviceName = subscription.getCartridge();
-        
CartridgeSubscriptionUtils.publishTenantUnSubscribedEvent(getTenantId(), 
serviceName);
-
-
-        /*CartridgeSubscriptionInfo subscription = null;
-        
-        try {
-                       subscription = 
PersistenceManager.getSubscription(getTenantDomain(), alias);
-               } catch (Exception e) {
-                       String msg = "Failed to get subscription for " + 
getTenantDomain() + " and alias " + alias;
-            log.error(msg, e);
-                       throw new ADCException(msg, e);
-               }
-
-        if (subscription == null) {
-            String msg = "Tenant " + getTenantDomain() + " is not subscribed 
for " + alias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + 
alias, alias);
-        }
-        
-        try {
-            String clusterDomain = subscription.getClusterDomain();
-            String clusterSubDomain = subscription.getClusterSubdomain();
-
-            if (log.isDebugEnabled()) {
-                log.debug("Finding cartridge information for " + 
subscription.getCartridge());
-            }
-            CartridgeInfo cartridgeInfo = 
CloudControllerServiceClient.getServiceClient().getCartridgeInfo(subscription.getCartridge());
-            if (log.isDebugEnabled()) {
-                log.debug("Found " + cartridgeInfo.getDisplayName() + " for " 
+ subscription.getCartridge());
-            }
-            if (!cartridgeInfo.getMultiTenant()) {
-                log.info("Terminating all instances of " + clusterDomain + " " 
+ clusterSubDomain);
-                
CloudControllerServiceClient.getServiceClient().terminateAllInstances(clusterDomain,
 clusterSubDomain);
-                log.info("All instances terminated.");
-                log.info("Unregistering services...");
-                
CloudControllerServiceClient.getServiceClient().unregisterService(clusterDomain,
 clusterSubDomain);
-                log.info("Successfully terminated instances ..");
-            } else {
-                if (log.isInfoEnabled()) {
-                    log.info("Cartridge "
-                            + subscription.getCartridge()
-                            + " is a multi-tenant cartridge and therefore will 
not terminate all instances and unregister services");
-                }
-            }
-
-            new RepositoryFactory().destroyRepository(alias, 
getTenantDomain(), getUsername());
-            log.info("Repo is destroyed successfully.. ");
-
-            
PersistenceManager.updateSubscriptionState(subscription.getSubscriptionId(), 
"UNSUBSCRIBED");
-            new DNSManager().removeSubDomain(subscription.getHostName());
-            
registryManager.removeDomainMappingFromRegistry(subscription.getHostName());
-            TopologyManagementService topologyMgtService = 
DataHolder.getTopologyMgtService();
-                       
-            String[] ips = 
topologyMgtService.getActiveIPs(subscription.getCartridge(),
-                                       subscription.getClusterDomain(), 
subscription.getClusterSubdomain());
-            PersistenceManager.updateInstanceState("INACTIVE", ips, 
subscription.getClusterDomain(), subscription.getClusterSubdomain(), 
subscription.getCartridge());
-
-        } catch (ADCException e) {
-               log.error(e.getMessage(), e);
-               throw e;
-        } catch (Exception e1) {
-            String msg1 = "Exception occurred :" + e1.getMessage();
-            log.error(msg1);
-            throw new ADCException("Unsubscribe failed for cartridge " + 
alias, e1);
-        }*/
-    }
-
-
-    public String addDomainMapping(String mappedDomain, String cartridgeAlias) 
throws ADCException, DomainMappingExistsException, NotSubscribedException {
-       checkSuperTenant();
-       // TODO Following was in CLI. Fix this
-               //              if (domain.indexOf('.') == -1) {
-               //                      System.out.println("\nOwn domain should 
include a '.' ");
-               //              }
-
-        CartridgeSubscriptionInfo subscription = null;
-        String actualHost = null;
-        
-        try {
-                       subscription = 
PersistenceManager.getSubscription(getTenantDomain(), cartridgeAlias);
-               } catch (Exception e) {
-                       String msg = "Failed to get subscription for " + 
getTenantDomain() + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-                       throw new ADCException(msg, e);
-               }
-        if (subscription == null) {
-               String msg = "Tenant " + getTenantDomain() + " is not 
subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + 
cartridgeAlias, cartridgeAlias);
-        }
-
-        try {
-               actualHost = getActualHost(cartridgeAlias);
-            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //registryManager.addDomainMappingToRegistry(mappedDomain, 
actualHost);
-            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            log.info("Domain mapping is added for " + mappedDomain + " tenant: 
" + getTenantDomain());
-            PersistenceManager.updateDomainMapping(
-                    ApplicationManagementUtil.getTenantId(getConfigContext()), 
cartridgeAlias, mappedDomain);
-        } catch (RegistryException e) {
-            String msg = "Unable to add the mapping due to registry 
transaction error";
-            log.error(msg, e);
-            throw new ADCException("Unable to add the mapping due to internal 
error!", e);
-        } catch (DomainMappingExistsException e) {
-            String msg = "Domain mapping already exists.";
-            log.error(msg, e);
-            throw e;
-        } catch (Exception e) {
-            String msg = "Error occurred. Reason : " + e.getMessage();
-            log.error(msg, e);
-            throw new ADCException(msg, e);
-        }
-        return actualHost;
-    }
-
-       private String getActualHost(String cartridgeName) throws Exception {
-               return PersistenceManager.getHostNameForCartridgeName(
-                               
ApplicationManagementUtil.getTenantId(getConfigContext()), cartridgeName);
-       }
-
-    public void removeDomainMapping(String cartridgeAlias) throws 
ADCException, NotSubscribedException {
-       checkSuperTenant();
-        CartridgeSubscriptionInfo subscription = null;
-        String actualHost = null;
-        
-        try {
-                       subscription = 
PersistenceManager.getSubscription(getTenantDomain(), cartridgeAlias);
-               } catch (Exception e) {
-                       String msg = "Failed to get subscription for " + 
getTenantDomain() + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-                       throw new ADCException(msg, e);
-               }
-        if (subscription == null) {
-               String msg = "Tenant " + getTenantDomain() + " is not 
subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + 
cartridgeAlias, cartridgeAlias);
-        }
-        
-        try {
-               actualHost = getActualHost(cartridgeAlias);
-            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //registryManager.removeDomainMappingFromRegistry(actualHost);
-            
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            log.info("Domain mapping is removed for " + actualHost + " tenant: 
" + getTenantDomain());
-            
PersistenceManager.updateDomainMapping(ApplicationManagementUtil.getTenantId(getConfigContext()),
-                    cartridgeAlias, null);
-        } catch (RegistryException e) {
-            String msg = "Unable to remove the mapping due to registry 
transaction error";
-            log.error(msg, e);
-            throw new ADCException("Unable to remove the mapping due to 
internal error!", e);
-        } catch (Exception e) {
-            String msg = "Error occurred. Reason : " + e.getMessage();
-            log.error(msg, e);
-            throw new ADCException(msg, e);
-        }
-    }
-
-       public void synchronizeRepository(String cartridgeAlias) throws 
ADCException, NotSubscribedException {
-               checkSuperTenant();
-        CartridgeSubscriptionInfo subscription = null;
-        
-        // Validating subscription
-        try {
-                       subscription = 
PersistenceManager.getSubscription(getTenantDomain(), cartridgeAlias);
-               } catch (Exception e) {
-                       String msg = "Failed to get subscription for " + 
getTenantDomain() + " and alias " + cartridgeAlias;
-            log.error(msg, e);
-                       throw new ADCException(msg, e);
-               }
-        if (subscription == null) {
-               String msg = "Tenant " + getTenantDomain() + " is not 
subscribed for " + cartridgeAlias;
-            log.error(msg);
-            throw new NotSubscribedException("You have not subscribed for " + 
cartridgeAlias, cartridgeAlias);
-        }
-               
-               try {
-                       
repoNotificationService.notifyRepoUpdate(getTenantDomain(), cartridgeAlias);
-               } catch (Exception e) {
-                       throw new ADCException(e.getMessage() != null ? 
e.getMessage() : "Failed to synchronize repository", e);
-               }
-       }
-
-       public String getTenantDomain() {
-        PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
-        return carbonContext.getTenantDomain();
-       }
-
-    public int getTenantId() {
-        PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
-        return carbonContext.getTenantId();
-    }
-    
-       /**
-        * Allow to check whether features are enabled in the back-end
-        * 
-        * @param key
-        *            The propery key
-        * @return {@code true} if feature is enabled
-        */
-       public boolean isFeatureEnabled(String key) {
-               if (key != null && key.startsWith("feature.")) {
-                       return new Boolean(System.getProperty(key));
-               }
-               return false;
-       }
-
-       
-       public RepositoryInformation testRepositoryConnection(String repoURL, 
String repoUsername, String repoPassword, boolean privateRepo)
-                       throws RepositoryRequiredException, ADCException, 
RepositoryCredentialsRequiredException,
-                       InvalidRepositoryException, 
RepositoryTransportException {
-               return ApplicationManagementUtil.validateRepository(repoURL, 
repoUsername, repoPassword, privateRepo, true);
-       }
-       
-       // TODO Remove following when we support cartridge subscription for 
Super-tenant
-       private void checkSuperTenant() throws ADCException {
-               if (log.isDebugEnabled()) {
-                       log.debug("Checking whether super tenant accesses the 
service methods. Tenant ID: "
-                                       + 
ApplicationManagementUtil.getTenantId(getConfigContext()) + ", Tenant Domain: " 
+ getTenantDomain());
-               }
-               if (MultitenantConstants.SUPER_TENANT_ID == 
ApplicationManagementUtil.getTenantId(getConfigContext())) {
-                       throw new ADCException("Super Tenant is not allowed to 
complete requested operation");
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0de42717/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/CartridgeConstants.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/CartridgeConstants.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/CartridgeConstants.java
index d56ba0b..f3ff654 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/CartridgeConstants.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/utils/CartridgeConstants.java
@@ -37,7 +37,6 @@ public class CartridgeConstants {
        public static final String APPEND_SCRIPT = "append.script";
        public static final String REMOVE_SCRIPT = "remove.script";
        public static final String BIND_FILE_PATH = "bind.file.path";
-       public static final String MAX_ATTEMPTS = "max.attempts";
        
        public static final String FEATURE_EXTERNAL_REPO_VAIDATION_ENABLED = 
"feature.externalrepo.validation.enabled";
        public static final String FEATURE_INTERNAL_REPO_ENABLED = 
"feature.internalrepo.enabled";

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0de42717/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 8fd6d52..fc83700 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
@@ -18,16 +18,40 @@
 
 package org.apache.stratos.rest.endpoint.services;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.Set;
+import java.util.regex.Pattern;
+
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
+import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+import org.apache.stratos.cloud.controller.pojo.LoadbalancerConfig;
+import org.apache.stratos.cloud.controller.pojo.Properties;
+import org.apache.stratos.cloud.controller.pojo.Property;
 import org.apache.stratos.manager.client.AutoscalerServiceClient;
 import org.apache.stratos.manager.client.CloudControllerServiceClient;
 import org.apache.stratos.manager.deploy.service.ServiceDeploymentManager;
 import org.apache.stratos.manager.dto.Cartridge;
 import org.apache.stratos.manager.dto.SubscriptionInfo;
-import org.apache.stratos.manager.exception.*;
+import org.apache.stratos.manager.exception.ADCException;
+import org.apache.stratos.manager.exception.AlreadySubscribedException;
+import org.apache.stratos.manager.exception.DuplicateCartridgeAliasException;
+import org.apache.stratos.manager.exception.InvalidCartridgeAliasException;
+import org.apache.stratos.manager.exception.InvalidRepositoryException;
+import org.apache.stratos.manager.exception.NotSubscribedException;
+import org.apache.stratos.manager.exception.PolicyException;
+import 
org.apache.stratos.manager.exception.RepositoryCredentialsRequiredException;
+import org.apache.stratos.manager.exception.RepositoryRequiredException;
+import org.apache.stratos.manager.exception.RepositoryTransportException;
+import org.apache.stratos.manager.exception.UnregisteredCartridgeException;
 import org.apache.stratos.manager.manager.CartridgeSubscriptionManager;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
 import org.apache.stratos.manager.subscription.DataCartridgeSubscription;
@@ -35,9 +59,6 @@ import 
org.apache.stratos.manager.subscription.utils.CartridgeSubscriptionUtils;
 import 
org.apache.stratos.manager.topology.model.TopologyClusterInformationModel;
 import org.apache.stratos.manager.utils.ApplicationManagementUtil;
 import org.apache.stratos.manager.utils.CartridgeConstants;
-import org.apache.stratos.manager.utils.PersistenceManager;
-import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
-import org.apache.stratos.cloud.controller.pojo.Properties;
 import org.apache.stratos.messaging.domain.topology.Cluster;
 import org.apache.stratos.messaging.domain.topology.Member;
 import org.apache.stratos.messaging.domain.topology.MemberStatus;
@@ -48,11 +69,6 @@ import 
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.Autosca
 import 
org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
 import org.apache.stratos.rest.endpoint.bean.util.converter.PojoConverter;
 import org.apache.stratos.rest.endpoint.exception.RestAPIException;
-import org.apache.stratos.cloud.controller.pojo.*;
-
-
-import java.util.*;
-import java.util.regex.Pattern;
 
 public class ServiceUtils {
     private static Log log = LogFactory.getLog(ServiceUtils.class);
@@ -471,7 +487,7 @@ public class ServiceUtils {
                     if (cartridgeInfo.getMultiTenant() && 
!allowMultipleSubscription) {
                         // If the cartridge is multi-tenant. We should not let 
users
                         // createSubscription twice.
-                        if 
(PersistenceManager.isAlreadySubscribed(cartridgeType,
+                        if (isAlreadySubscribed(cartridgeType,
                                 
ApplicationManagementUtil.getTenantId(configurationContext))) {
                             if (log.isDebugEnabled()) {
                                 log.debug("Already subscribed to " + 
cartridgeType
@@ -501,7 +517,18 @@ public class ServiceUtils {
         return cartridges;
     }
 
-    static List<Cartridge> getSubscriptions (String cartridgeSearchString, 
ConfigurationContext configurationContext) throws ADCException {
+    private static boolean isAlreadySubscribed(String cartridgeType,
+                       int tenantId) {
+               
+       Collection<CartridgeSubscription> subscriptionList = 
cartridgeSubsciptionManager.isCartridgeSubscribed(tenantId, cartridgeType);
+       if(subscriptionList == null || subscriptionList.isEmpty()){
+               return false;   
+       }else {
+               return true;
+       }               
+       }
+
+       static List<Cartridge> getSubscriptions (String cartridgeSearchString, 
ConfigurationContext configurationContext) throws ADCException {
 
         List<Cartridge> cartridges = new ArrayList<Cartridge>();
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0de42717/products/stratos-manager/modules/distribution/src/main/conf/cartridge-config.properties
----------------------------------------------------------------------
diff --git 
a/products/stratos-manager/modules/distribution/src/main/conf/cartridge-config.properties
 
b/products/stratos-manager/modules/distribution/src/main/conf/cartridge-config.properties
index 53b50f2..302b4c1 100644
--- 
a/products/stratos-manager/modules/distribution/src/main/conf/cartridge-config.properties
+++ 
b/products/stratos-manager/modules/distribution/src/main/conf/cartridge-config.properties
@@ -19,20 +19,6 @@
 #
 #
 
-# Configuration properties
-#this file is in product
 
autoscaler.service.url=https://as.stratos.apache.org:9446/services/AutoScalerService/
 
cloud.controller.service.url=https://cc.stratos.apache.org:9444/services/CloudControllerService/
-autoscaler.time.out=190000
 puppet.ip=127.0.0.1
-
-adc.jdbc.url=jdbc:h2:repository/database/WSO2S2_DB
-adc.jdbc.username=wso2carbon
-adc.jdbc.password=wso2carbon
-adc.jdbc.driver=org.h2.Driver
-
-feature.externalrepo.validation.enabled=true
-feature.internalrepo.enabled=false
-feature.multitenant.multiplesubscription.enabled=false
-
-max.attempts=1000

Reply via email to