You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/01/18 19:21:47 UTC

[1/2] git commit: fixing a caching issue and adding test case for caching

Updated Branches:
  refs/heads/master f7dab5f83 -> 6fdb07704


fixing a caching issue and adding test case for caching


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

Branch: refs/heads/master
Commit: b0110aa24fa04e6aa7d05887bad09e7b79eb0eef
Parents: 87f8d5d
Author: Isuru <is...@wso2.com>
Authored: Sat Jan 18 23:50:15 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Sat Jan 18 23:50:15 2014 +0530

----------------------------------------------------------------------
 .../listener/InstanceStatusListener.java        |   2 +-
 .../manager/lookup/ClusterIdToSubscription.java |   5 +-
 .../manager/lookup/LookupDataHolder.java        |  11 +-
 .../manager/lookup/SubscriptionContext.java     |   7 +-
 .../lookup/TenantIdToSubscriptionContext.java   |   2 +-
 .../manager/CartridgeSubscriptionManager.java   |   6 +-
 .../DatabaseBasedPersistenceManager.java        |   2 +-
 .../manager/persistence/PersistenceManager.java |   4 +-
 .../RegistryBasedPersistenceManager.java        |   4 +-
 .../DataInsertionAndRetrievalManager.java       |  51 +++-
 .../service/ApplicationManagementService.java   |   2 +-
 .../StratosManagerTopologyReceiver.java         |   2 +-
 .../manager/test/CartridgeSubscriptionTest.java |  72 +++--
 .../manager/test/LookupDataHolderTest.java      | 282 +++++++++++++++++++
 .../stratos/manager/test/PolicyHolderTest.java  | 168 +++++------
 15 files changed, 488 insertions(+), 132 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
index e371854..722a829 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
@@ -71,7 +71,7 @@ public class InstanceStatusListener implements MessageListener {
                         ". Not sending the Depsync event");
                 }*/
                 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-                Set<CartridgeSubscription> cartridgeSubscriptions = new DataInsertionAndRetrievalManager().getCartridgeSubscription(clusterId);
+                Set<CartridgeSubscription> cartridgeSubscriptions = new DataInsertionAndRetrievalManager().getCartridgeSubscriptionForCluster(clusterId);
                 if (cartridgeSubscriptions == null || cartridgeSubscriptions.isEmpty()) {
                     // No subscriptions, return
                     if (log.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/ClusterIdToSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/ClusterIdToSubscription.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/ClusterIdToSubscription.java
index 562c682..1dffdd0 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/ClusterIdToSubscription.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/ClusterIdToSubscription.java
@@ -60,6 +60,9 @@ public class ClusterIdToSubscription implements Serializable {
             Set<CartridgeSubscription> subscriptions = new HashSet<CartridgeSubscription>();
             subscriptions.add(cartridgeSubscription);
             clusterIdToCartridgeSubscription.put(clusterDomain, subscriptions);
+            if(log.isDebugEnabled()) {
+                log.debug("Added Cartridge Subscription for cluster id " + clusterDomain + " in [Cluster Id -> Set<CartridgeSubscription>] map");
+            }
         }
     }
 
@@ -94,7 +97,7 @@ public class ClusterIdToSubscription implements Serializable {
         }
 
         // if the Subscriptions set is empty now, remove it from cartridgeTypeToSubscriptions map
-        if (existingSubscriptions != null && existingSubscriptions.isEmpty()) {
+        if (existingSubscriptions == null || existingSubscriptions.isEmpty()) {
             clusterIdToCartridgeSubscription.remove(clusterId);
             if (log.isDebugEnabled()) {
                 log.debug("Deleted the subscriptions set for cluster id " + clusterId + " from [Cluster Id -> Set<CartridgeSubscription>] map");

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/LookupDataHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/LookupDataHolder.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/LookupDataHolder.java
index 7598013..845946c 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/LookupDataHolder.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/LookupDataHolder.java
@@ -73,9 +73,15 @@ public class LookupDataHolder implements Serializable {
         // check if an existing SubscriptionContext is available
         SubscriptionContext existingSubscriptionCtx = tenantIdToSubscriptionContext.getSubscriptionContext(cartridgeSubscription.getSubscriber().getTenantId());
         if(existingSubscriptionCtx != null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Existing SubscriptionContext found for tenant " + cartridgeSubscription.getSubscriber().getTenantId());
+            }
             existingSubscriptionCtx.addSubscription(cartridgeSubscription);
 
         } else {
+            if (log.isDebugEnabled()) {
+                log.debug("Existing SubscriptionContext not found for tenant " + cartridgeSubscription.getSubscriber().getTenantId());
+            }
             //create a new subscription context and add the subscription
             SubscriptionContext subscriptionContext = new SubscriptionContext();
             subscriptionContext.addSubscription(cartridgeSubscription);
@@ -103,7 +109,7 @@ public class LookupDataHolder implements Serializable {
         for (SubscriptionContext subscriptionContext : subscriptionContexts) {
             // check if CartridgeSubscriptions exist for the given type, in each SubscriptionContext instance
             Collection<CartridgeSubscription> cartridgeSubscriptionsOfType = subscriptionContext.getSubscriptionsOfType(cartridgeType);
-            if (cartridgeSubscriptionsOfType != null && !cartridgeSubscriptions.isEmpty()) {
+            if (cartridgeSubscriptionsOfType != null && !cartridgeSubscriptionsOfType.isEmpty()) {
                 // collect the relevant CartridgeSubscriptions
                 cartridgeSubscriptions.addAll(cartridgeSubscriptionsOfType);
             }
@@ -140,6 +146,9 @@ public class LookupDataHolder implements Serializable {
         SubscriptionContext subscriptionContext = tenantIdToSubscriptionContext.getSubscriptionContext(tenantId);
         if (subscriptionContext == null) {
             // no subscriptions
+            if (log.isDebugEnabled()) {
+                log.debug("No SubscriptionContext found for tenant " + tenantId + ", subscription alias " + subscriptionAlias);
+            }
             return null;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/SubscriptionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/SubscriptionContext.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/SubscriptionContext.java
index 8b59af7..502bbba 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/SubscriptionContext.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/SubscriptionContext.java
@@ -113,7 +113,7 @@ public class SubscriptionContext implements Serializable {
         }
 
         // if the Subscriptions set is empty now, remove it from cartridgeTypeToSubscriptions map
-        if (existingSubscriptions != null && existingSubscriptions.isEmpty()) {
+        if (existingSubscriptions == null || existingSubscriptions.isEmpty()) {
             cartridgeTypeToSubscriptions.remove(type);
             if (log.isDebugEnabled()) {
                 log.debug("Deleted the subscriptions set for type " + type + " from [Type -> Set<CartridgeSubscription>] map");
@@ -128,4 +128,9 @@ public class SubscriptionContext implements Serializable {
         }
     }
 
+    public boolean isEmpty () {
+
+        return cartridgeTypeToSubscriptions.isEmpty() && aliasToSubscription.isEmpty();
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/TenantIdToSubscriptionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/TenantIdToSubscriptionContext.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/TenantIdToSubscriptionContext.java
index c6f14c6..0912d83 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/TenantIdToSubscriptionContext.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/lookup/TenantIdToSubscriptionContext.java
@@ -59,7 +59,7 @@ public class TenantIdToSubscriptionContext {
             subscriptionContext.deleteSubscription(type, subscriptionAlias);
 
             // delete the SubscriptionContext instance for the tenant if it carries no information
-            if (subscriptionContext.getSubscriptionsOfType(type) == null && subscriptionContext.getSubscriptionForAlias(subscriptionAlias) == null) {
+            if (subscriptionContext.isEmpty()) {
                 tenantIdToSubscriptionContext.remove(tenantId);
                 if (log.isDebugEnabled()) {
                     log.debug("Deleted the subscriptionContext instance for tenant " + tenantId);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/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 ce0cfc2..ab4ffa0 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
@@ -263,7 +263,7 @@ public class CartridgeSubscriptionManager {
 //
 //        //TODO: retrieve from the cache and connect. For now, new objects are created
 //
-//        CartridgeSubscription connectingCartridgeSubscription = getCartridgeSubscription(tenantDomain,
+//        CartridgeSubscription connectingCartridgeSubscription = getCartridgeSubscriptionForCluster(tenantDomain,
 //                connectingSubscriptionAlias);
 //
 //        if(cartridgeSubscription == null) {
@@ -389,7 +389,7 @@ public class CartridgeSubscriptionManager {
             throws ADCException, NotSubscribedException {
 
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        /*CartridgeSubscription cartridgeSubscription = getCartridgeSubscription(tenantDomain, alias);
+        /*CartridgeSubscription cartridgeSubscription = getCartridgeSubscriptionForCluster(tenantDomain, alias);
 
         if(cartridgeSubscription != null) {
             cartridgeSubscription.removeSubscription();
@@ -457,7 +457,7 @@ public class CartridgeSubscriptionManager {
      * @throws ADCException
      * @throws NotSubscribedException
      */
-    /*public CartridgeSubscription getCartridgeSubscription(String tenantDomain, String alias)
+    /*public CartridgeSubscription getCartridgeSubscriptionForCluster(String tenantDomain, String alias)
             throws ADCException, NotSubscribedException {
 
         CartridgeSubscriptionInfo cartridgeSubscriptionInfo = getCartridgeSubscriptionInfo(tenantDomain, alias);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/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 2bea672..9305054 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
@@ -384,7 +384,7 @@
 //    }
 //
 //    @Override
-//    public CartridgeSubscription getCartridgeSubscription(int tenantId, String alias) throws PersistenceManagerException {
+//    public CartridgeSubscription getCartridgeSubscriptionForCluster(int tenantId, String alias) throws PersistenceManagerException {
 //
 //        Connection connection = null;
 //        try {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
index 5fe4d1a..8822928 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
@@ -33,7 +33,7 @@ public abstract class PersistenceManager {
     public abstract void removeCartridgeSubscription (int tenantId, String type, String alias)
             throws PersistenceManagerException;
 
-    //public abstract CartridgeSubscription getCartridgeSubscription(int tenantId, String alias)
+    //public abstract CartridgeSubscription getCartridgeSubscriptionForCluster(int tenantId, String alias)
     //        throws PersistenceManagerException;
 
     public abstract Collection<CartridgeSubscription> getCartridgeSubscriptions()
@@ -51,7 +51,7 @@ public abstract class PersistenceManager {
     //public abstract Collection<CartridgeSubscription> getCartridgeSubscriptions(int tenantId)
     //        throws PersistenceManagerException;
 
-    //public abstract CartridgeSubscription getCartridgeSubscription (String clusterDomain)
+    //public abstract CartridgeSubscription getCartridgeSubscriptionForCluster (String clusterDomain)
     //        throws PersistenceManagerException;
 
     //public abstract Collection<CartridgeSubscription> getCartridgeSubscriptions(int tenantId, String cartridgeType)

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
index a389b93..0b18a7f 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
@@ -143,7 +143,7 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
     }
 
     /*@Override
-    public CartridgeSubscription getCartridgeSubscription (int tenantId, String alias) throws PersistenceManagerException {
+    public CartridgeSubscription getCartridgeSubscriptionForCluster (int tenantId, String alias) throws PersistenceManagerException {
 
         Object byteObj;
 
@@ -507,7 +507,7 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
     }*/
 
     /*@Override
-    public CartridgeSubscription getCartridgeSubscription (String clusterDomain) throws PersistenceManagerException {
+    public CartridgeSubscription getCartridgeSubscriptionForCluster (String clusterDomain) throws PersistenceManagerException {
 
         Object byteObj;
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
index 16236f8..5a91088 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
@@ -71,6 +71,13 @@ public class DataInsertionAndRetrievalManager {
 
         CartridgeSubscription cartridgeSubscription = getCartridgeSubscription(tenantId, subscriptionAlias);
 
+        if (cartridgeSubscription == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("No CartridgeSubscription found for tenant " + tenantId + ", subscription alias " + subscriptionAlias);
+            }
+            return;
+        }
+
         String cartridgeType = cartridgeSubscription.getType();
         String clusterId = cartridgeSubscription.getClusterDomain();
 
@@ -157,6 +164,44 @@ public class DataInsertionAndRetrievalManager {
         }
     }
 
+    public void cacheSubscriptionsWithoutPersisting (Collection<CartridgeSubscription> cartridgeSubscriptions) {
+
+        // get the write lock
+        LookupDataHolder.getInstance().acquireWriteLock();
+
+        try {
+            cacheSubscriptions(cartridgeSubscriptions);
+
+        } finally {
+            // release the write lock
+            LookupDataHolder.getInstance().releaseWriteLock();
+        }
+    }
+
+    public void removeSubscriptionFromCache (int tenantId, String subscriptionAlias) {
+
+        LookupDataHolder.getInstance().acquireWriteLock();
+
+        CartridgeSubscription cartridgeSubscription = getCartridgeSubscription(tenantId, subscriptionAlias);
+        if (cartridgeSubscription == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("No CartridgeSubscription found for tenant " + tenantId + ", subscription alias " + subscriptionAlias);
+            }
+            return;
+        }
+
+        String cartridgeType = cartridgeSubscription.getType();
+        String clusterId = cartridgeSubscription.getClusterDomain();
+
+        try {
+            // remove from cache
+            LookupDataHolder.getInstance().removeSubscription(tenantId, cartridgeType, subscriptionAlias, clusterId);
+
+        } finally {
+            LookupDataHolder.getInstance().releaseWriteLock();
+        }
+    }
+
     private void cacheSubscriptions (Collection<CartridgeSubscription> cartridgeSubscriptions) {
 
         // cache all
@@ -233,7 +278,7 @@ public class DataInsertionAndRetrievalManager {
                 }
 
                 try {
-                    cartridgeSubscription = persistenceManager.getCartridgeSubscription(tenantId, subscriptionAlias);
+                    cartridgeSubscription = persistenceManager.getCartridgeSubscriptionForCluster(tenantId, subscriptionAlias);
 
                 } catch (PersistenceManagerException e) {
                     String errorMsg = "Error in accessing Persistence Manager";
@@ -253,7 +298,7 @@ public class DataInsertionAndRetrievalManager {
         }
     }
 
-    public Set<CartridgeSubscription> getCartridgeSubscription (String clusterId) {
+    public Set<CartridgeSubscription> getCartridgeSubscriptionForCluster (String clusterId) {
 
         // acquire read lock
         LookupDataHolder.getInstance().acquireReadLock();
@@ -267,7 +312,7 @@ public class DataInsertionAndRetrievalManager {
                 }
 
                 try {
-                    cartridgeSubscription = persistenceManager.getCartridgeSubscription(clusterId);
+                    cartridgeSubscription = persistenceManager.getCartridgeSubscriptionForCluster(clusterId);
 
                 } catch (PersistenceManagerException e) {
                     String errorMsg = "Error in accessing Persistence Manager";

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/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
index 5cc24d7..4116b74 100644
--- 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
@@ -396,7 +396,7 @@ public class ApplicationManagementService extends AbstractAdmin {
 
             CartridgeSubscription connectingCartridgeSubscription = null;
             try {
-                connectingCartridgeSubscription = cartridgeSubsciptionManager.getCartridgeSubscription(getTenantDomain(),
+                connectingCartridgeSubscription = cartridgeSubsciptionManager.getCartridgeSubscriptionForCluster(getTenantDomain(),
                         dataCartridgeAlias);
             } catch (NotSubscribedException e) {
                 log.error(e.getMessage(), e);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
index f475db5..128d7bc 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
@@ -309,7 +309,7 @@ public class StratosManagerTopologyReceiver implements Runnable {
     private Set<CartridgeSubscription> getCartridgeSubscription(String clusterDomain) {
 
         try {
-            return new DataInsertionAndRetrievalManager().getCartridgeSubscription(clusterDomain);
+            return new DataInsertionAndRetrievalManager().getCartridgeSubscriptionForCluster(clusterDomain);
 
         } catch (Exception e) {
             log.error("Error getting subscription information for cluster " + clusterDomain, e);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java b/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
index e25c0f8..77c2a58 100644
--- a/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
+++ b/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/CartridgeSubscriptionTest.java
@@ -1,32 +1,32 @@
 /*
- * 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.
- */
+* 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.test;
 
 import junit.framework.TestCase;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 import org.apache.stratos.manager.exception.ADCException;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
 import org.apache.stratos.manager.subscription.factory.CartridgeSubscriptionFactory;
 import org.apache.stratos.manager.subscription.tenancy.SubscriptionMultiTenantBehaviour;
 import org.apache.stratos.manager.subscription.tenancy.SubscriptionSingleTenantBehaviour;
 import org.apache.stratos.manager.subscription.tenancy.SubscriptionTenancyBehaviour;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 
 public class CartridgeSubscriptionTest extends TestCase {
 
@@ -47,39 +47,51 @@ public class CartridgeSubscriptionTest extends TestCase {
         }
     }
 
-    public void testCarbonCartridge () {
+    public void testCarbonCartridgeSubscription() {
 
-        CartridgeInfo cartridgeInfo = new CartridgeInfo();
-        cartridgeInfo.setProvider("carbon");
-        cartridgeInfo.setMultiTenant(true);
-        cartridgeInfo.setType("esb");
-        assertNotNull(getCartridgeInstance(cartridgeInfo));
+        CartridgeInfo cartridgeInfo1 = new CartridgeInfo();
+        cartridgeInfo1.setProvider("carbon");
+        cartridgeInfo1.setMultiTenant(true);
+        cartridgeInfo1.setType("esb");
+        CartridgeSubscription cartridgeSubscription1 = getCartridgeInstance(cartridgeInfo1);
+        assertNotNull(cartridgeSubscription1);
+
+
+        CartridgeInfo cartridgeInfo2 = new CartridgeInfo();
+        cartridgeInfo2.setProvider("carbon");
+        cartridgeInfo2.setMultiTenant(false);
+        cartridgeInfo2.setType("as");
+        CartridgeSubscription cartridgeSubscription2 = getCartridgeInstance(cartridgeInfo2);
+        assertNotNull(cartridgeSubscription2);
     }
 
-    public void testPhpCartridgeInstance () {
+    public void testPhpCartridgeSubscription() {
 
         CartridgeInfo cartridgeInfo = new CartridgeInfo();
         cartridgeInfo.setProvider("php-provider");
         cartridgeInfo.setMultiTenant(false);
         cartridgeInfo.setType("php");
-        assertNotNull(getCartridgeInstance(cartridgeInfo));
+        CartridgeSubscription cartridgeSubscription = getCartridgeInstance(cartridgeInfo);
+        assertNotNull(cartridgeSubscription);
     }
 
-    public void testMySqlCartridgeInstance () {
+    public void testMySqlCartridgeSubscription() {
 
         CartridgeInfo cartridgeInfo = new CartridgeInfo();
         cartridgeInfo.setProvider("data");
         cartridgeInfo.setMultiTenant(false);
         cartridgeInfo.setType("mysql");
-        assertNotNull(getCartridgeInstance(cartridgeInfo));
+        CartridgeSubscription cartridgeSubscription = getCartridgeInstance(cartridgeInfo);
+        assertNotNull(cartridgeSubscription);
     }
 
-    public void testTomcatCartridgeInstance () {
+    public void testTomcatCartridgeSubscription() {
 
         CartridgeInfo cartridgeInfo = new CartridgeInfo();
         cartridgeInfo.setProvider("tomcat-provider");
         cartridgeInfo.setMultiTenant(false);
         cartridgeInfo.setType("tomcat");
-        assertNotNull(getCartridgeInstance(cartridgeInfo));
+        CartridgeSubscription cartridgeSubscription = getCartridgeInstance(cartridgeInfo);
+        assertNotNull(cartridgeSubscription);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/LookupDataHolderTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/LookupDataHolderTest.java b/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/LookupDataHolderTest.java
new file mode 100644
index 0000000..c1122d5
--- /dev/null
+++ b/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/LookupDataHolderTest.java
@@ -0,0 +1,282 @@
+/*
+ * 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.test;
+
+import junit.framework.TestCase;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
+import org.apache.stratos.manager.exception.ADCException;
+import org.apache.stratos.manager.exception.PersistenceManagerException;
+import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager;
+import org.apache.stratos.manager.subscriber.Subscriber;
+import org.apache.stratos.manager.subscription.CartridgeSubscription;
+import org.apache.stratos.manager.subscription.factory.CartridgeSubscriptionFactory;
+import org.apache.stratos.manager.subscription.tenancy.SubscriptionMultiTenantBehaviour;
+import org.apache.stratos.manager.subscription.tenancy.SubscriptionSingleTenantBehaviour;
+import org.apache.stratos.manager.subscription.tenancy.SubscriptionTenancyBehaviour;
+import org.junit.Before;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class LookupDataHolderTest extends TestCase  {
+
+    Collection<CartridgeSubscription> cartridgeSubscriptions ;
+    DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager;
+
+    @Before
+    public void setUp () {
+        cartridgeSubscriptions = new ArrayList<CartridgeSubscription>();
+        dataInsertionAndRetrievalManager = new DataInsertionAndRetrievalManager();
+
+        setUpCsrtridgeSubscriptions();
+    }
+
+    private void setUpCsrtridgeSubscriptions() {
+
+        CartridgeInfo cartridgeInfo1 = getCartridgeInfo("carbon", "esb", true);
+        CartridgeSubscription cartridgeSubscription1 = getCartridgeInstance(cartridgeInfo1);
+        assertNotNull(cartridgeSubscription1);
+        Subscriber subscriber1 = getSubscriber("admin", 1, "a.com");
+        cartridgeSubscription1.setSubscriber(subscriber1);
+        cartridgeSubscription1.setClusterDomain("esb.domain");
+        cartridgeSubscription1.setAlias("esba");
+        cartridgeSubscriptions.add(cartridgeSubscription1);
+
+        CartridgeInfo cartridgeInfo2 = getCartridgeInfo("carbon", "esb", true);
+        CartridgeSubscription cartridgeSubscription2 = getCartridgeInstance(cartridgeInfo2);
+        assertNotNull(cartridgeSubscription2);
+        Subscriber subscriber2 = getSubscriber("admin", 2, "b.com");
+        cartridgeSubscription2.setSubscriber(subscriber2);
+        cartridgeSubscription2.setClusterDomain("esb.domain");
+        cartridgeSubscription2.setAlias("esbb");
+        cartridgeSubscriptions.add(cartridgeSubscription2);
+
+        CartridgeInfo cartridgeInfo3 = getCartridgeInfo("carbon", "esb.privatejet", false);
+        CartridgeSubscription cartridgeSubscription3 = getCartridgeInstance(cartridgeInfo3);
+        assertNotNull(cartridgeSubscription3);
+        Subscriber subscriber3 = getSubscriber("admin", 1, "a.com");
+        cartridgeSubscription3.setSubscriber(subscriber3);
+        cartridgeSubscription3.setClusterDomain("a.esb.domain");
+        cartridgeSubscription3.setAlias("esba1");
+        cartridgeSubscriptions.add(cartridgeSubscription3);
+
+        CartridgeInfo cartridgeInfo4 = getCartridgeInfo("php-provider", "php", false);
+        CartridgeSubscription cartridgeSubscription4 = getCartridgeInstance(cartridgeInfo4);
+        assertNotNull(cartridgeSubscription4);
+        Subscriber subscriber4 = getSubscriber("admin", 3, "c.com");
+        cartridgeSubscription4.setSubscriber(subscriber4);
+        cartridgeSubscription4.setClusterDomain("a.php.domain");
+        cartridgeSubscription4.setAlias("phpa");
+        cartridgeSubscriptions.add(cartridgeSubscription4);
+
+        CartridgeInfo cartridgeInfo5 = getCartridgeInfo("mysql-provider", "mysql", false);
+        CartridgeSubscription cartridgeSubscription5 = getCartridgeInstance(cartridgeInfo5);
+        assertNotNull(cartridgeSubscription5);
+        Subscriber subscriber5 = getSubscriber("admin", 3, "c.com");
+        cartridgeSubscription5.setSubscriber(subscriber5);
+        cartridgeSubscription5.setClusterDomain("a.mysql.domain");
+        cartridgeSubscription5.setAlias("mysqla");
+        cartridgeSubscriptions.add(cartridgeSubscription5);
+
+        dataInsertionAndRetrievalManager.cacheSubscriptionsWithoutPersisting(cartridgeSubscriptions);
+    }
+
+    private CartridgeInfo getCartridgeInfo (String provider, String type, boolean multitenant) {
+
+        CartridgeInfo cartridgeInfo = new CartridgeInfo();
+        cartridgeInfo.setProvider(provider);
+        cartridgeInfo.setType(type);
+        cartridgeInfo.setMultiTenant(multitenant);
+        return cartridgeInfo;
+    }
+
+    private Subscriber getSubscriber (String adminUser, int tenantId, String tenantDomain) {
+        return new Subscriber(adminUser, tenantId, tenantDomain);
+    }
+
+    private CartridgeSubscription getCartridgeInstance (CartridgeInfo cartridgeInfo) {
+
+        SubscriptionTenancyBehaviour tenancyBehaviour;
+        if(cartridgeInfo.getMultiTenant()) {
+            tenancyBehaviour = new SubscriptionMultiTenantBehaviour();
+        } else {
+            tenancyBehaviour = new SubscriptionSingleTenantBehaviour();
+        }
+
+        try {
+            return CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo, tenancyBehaviour);
+
+        } catch (ADCException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void testClusterIdToSubscription () throws PersistenceManagerException {
+
+        // check for tenant 1
+        Collection<CartridgeSubscription> cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1);
+        assertEquals(2, cartridgeSubscriptions.size());
+
+        // check for tenant 2
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(2);
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for tenant 3
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(3);
+        assertEquals(2, cartridgeSubscriptions.size());
+
+        // check for type 'esb'
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions("esb");
+        assertEquals(2, cartridgeSubscriptions.size());
+
+        // check for type 'esb.privatejet'
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions("esb.privatejet");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for type 'php'
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions("php");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for type 'mysql'
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions("mysql");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for type 'esb' and tenant 1
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1, "esb");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for type 'esb' and tenant 2
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(2, "esb");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for type 'esb.privatejet' and tenant 1
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1, "esb.privatejet");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for type 'esb.privatejet' and tenant 2
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(2, "esb.privatejet");
+        assertNull(cartridgeSubscriptions);
+
+        // check for type 'php' and tenant 1
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1, "php");
+        assertNull(cartridgeSubscriptions);
+
+        // check for type 'mysql' and tenant 3
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptions(3, "mysql");
+        assertEquals(1, cartridgeSubscriptions.size());
+
+        // check for tenant 1 and alias 'esba'
+        CartridgeSubscription subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(1, "esba");
+        assertNotNull(subscription);
+
+        // check for tenant 1 and alias 'esbb'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(1, "esbb");
+        assertNull(subscription);
+
+        // check for tenant 2 and alias 'esba'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(2, "esba");
+        assertNull(subscription);
+
+        // check for tenant 2 and alias 'esbb'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(2, "esbb");
+        assertNotNull(subscription);
+
+        // check for tenant 1 and alias 'esba1'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(1, "esba1");
+        assertNotNull(subscription);
+
+        // check for tenant 2 and alias 'esba1'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(2, "esba1");
+        assertNull(subscription);
+
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("esb.domain");
+        assertNotNull(cartridgeSubscriptions);
+        assertEquals(2, cartridgeSubscriptions.size());
+        for (CartridgeSubscription cartridgeSubscription : cartridgeSubscriptions) {
+            assertTrue(cartridgeSubscription.getAlias().equals("esba") || cartridgeSubscription.getAlias().equals("esbb"));
+        }
+
+        dataInsertionAndRetrievalManager.removeSubscriptionFromCache(1, "esba");
+
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("esb.domain");
+        assertNotNull(cartridgeSubscriptions);
+        assertEquals(1, cartridgeSubscriptions.size());
+        for (CartridgeSubscription cartridgeSubscription : cartridgeSubscriptions) {
+            assertTrue(cartridgeSubscription.getAlias().equals("esbb"));
+        }
+
+        dataInsertionAndRetrievalManager.removeSubscriptionFromCache(2, "esbb");
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("esb.domain"));
+
+        cartridgeSubscriptions = dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("a.esb.domain");
+        assertNotNull(cartridgeSubscriptions);
+        assertEquals(1, cartridgeSubscriptions.size());
+        for (CartridgeSubscription cartridgeSubscription : cartridgeSubscriptions) {
+            assertTrue(cartridgeSubscription.getAlias().equals("esba1"));
+        }
+
+        dataInsertionAndRetrievalManager.removeSubscriptionFromCache(1, "esba1");
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("a.esb.domain"));
+
+        // check for tenant 3 and alias 'phpa'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(3, "phpa");
+        assertNotNull(subscription);
+        assertTrue(subscription.getAlias().equals("phpa"));
+
+        dataInsertionAndRetrievalManager.removeSubscriptionFromCache(3, "phpa");
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(3, "phpa");
+        assertNull(subscription);
+
+        // check for tenant 3 and alias 'mysqla'
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(3, "mysqla");
+        assertNotNull(subscription);
+        assertTrue(subscription.getAlias().equals("mysqla"));
+
+        dataInsertionAndRetrievalManager.removeSubscriptionFromCache(3, "mysqla");
+        subscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(3, "mysqla");
+        assertNull(subscription);
+
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(2));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(3));
+
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("esb.domain"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("a.esb.domain"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("a.php.domain"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptionForCluster("a.mysql.domain"));
+
+        assertTrue(dataInsertionAndRetrievalManager.getCartridgeSubscriptions("esb").isEmpty());
+        assertTrue(dataInsertionAndRetrievalManager.getCartridgeSubscriptions("esb.privatejet").isEmpty());
+        assertTrue(dataInsertionAndRetrievalManager.getCartridgeSubscriptions("php").isEmpty());
+        assertTrue(dataInsertionAndRetrievalManager.getCartridgeSubscriptions("mysql").isEmpty());
+
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1, "esb"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(1, "esb.privatejet"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(3, "php"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscriptions(3, "mysql"));
+
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscription(1, "esba"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscription(2, "esba"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscription(1, "esba1"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscription(2, "esbb"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscription(3, "phpa"));
+        assertNull(dataInsertionAndRetrievalManager.getCartridgeSubscription(3, "mysqla"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b0110aa2/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java b/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
index 1aa94f1..3b39d47 100644
--- a/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
+++ b/components/org.apache.stratos.manager/src/test/java/org/apache/stratos/manager/test/PolicyHolderTest.java
@@ -1,84 +1,84 @@
-package org.apache.stratos.manager.test;
-/*
- *
- * 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.
- *
-*/
-
-
-import java.io.File;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.TestCase;
-
-import org.apache.stratos.manager.utils.PolicyHolder;
-
-public class PolicyHolderTest extends TestCase {
-
-	private PolicyHolder getPolicyHolder(String policiesXMLFile) {
-		File policiesXmlSchema = new File("src/main/resources/policies.xsd");
-		String dir = "src/test/resources/";
-
-		Class<PolicyHolder> clazz = PolicyHolder.class;
-
-		Constructor<PolicyHolder> c;
-		try {
-			c = clazz.getDeclaredConstructor(File.class, File.class);
-			c.setAccessible(true);
-		} catch (NoSuchMethodException e) {
-			throw new RuntimeException(e);
-		} catch (SecurityException e) {
-			throw new RuntimeException(e);
-		}
-		PolicyHolder policyHolder;
-		try {
-			policyHolder = c.newInstance(policiesXmlSchema, new File(dir, policiesXMLFile));
-		} catch (InstantiationException e) {
-			throw new RuntimeException(e);
-		} catch (IllegalAccessException e) {
-			throw new RuntimeException(e);
-		} catch (IllegalArgumentException e) {
-			throw new RuntimeException(e);
-		} catch (InvocationTargetException e) {
-			throw new RuntimeException(e);
-		}
-		return policyHolder;
-	}
-
-	public void testDefaultPolicy() {
-		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-		assertNotNull(policyHolder);
-		assertNotNull(policyHolder.getDefaultPolicy());
-	}
-	
-	
-	public void testSinglePolicy() {
-		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-		assertNotNull(policyHolder);
-		assertNotNull(policyHolder.getPolicy("single"));
-		assertEquals("single", policyHolder.getPolicy("single").getName());
-	}
-	
-	public void testElasticPolicy() {
-		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
-		assertNotNull(policyHolder);
-		assertNotNull(policyHolder.getPolicy("elastic"));
-		assertEquals("elastic", policyHolder.getPolicy("elastic").getName());
-	}
-}
+//package org.apache.stratos.manager.test;
+///*
+// *
+// * 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.
+// *
+//*/
+//
+//
+//import java.io.File;
+//import java.lang.reflect.Constructor;
+//import java.lang.reflect.InvocationTargetException;
+//
+//import junit.framework.TestCase;
+//
+//import org.apache.stratos.manager.utils.PolicyHolder;
+//
+//public class PolicyHolderTest extends TestCase {
+//
+//	private PolicyHolder getPolicyHolder(String policiesXMLFile) {
+//		File policiesXmlSchema = new File("src/main/resources/policies.xsd");
+//		String dir = "src/test/resources/";
+//
+//		Class<PolicyHolder> clazz = PolicyHolder.class;
+//
+//		Constructor<PolicyHolder> c;
+//		try {
+//			c = clazz.getDeclaredConstructor(File.class, File.class);
+//			c.setAccessible(true);
+//		} catch (NoSuchMethodException e) {
+//			throw new RuntimeException(e);
+//		} catch (SecurityException e) {
+//			throw new RuntimeException(e);
+//		}
+//		PolicyHolder policyHolder;
+//		try {
+//			policyHolder = c.newInstance(policiesXmlSchema, new File(dir, policiesXMLFile));
+//		} catch (InstantiationException e) {
+//			throw new RuntimeException(e);
+//		} catch (IllegalAccessException e) {
+//			throw new RuntimeException(e);
+//		} catch (IllegalArgumentException e) {
+//			throw new RuntimeException(e);
+//		} catch (InvocationTargetException e) {
+//			throw new RuntimeException(e);
+//		}
+//		return policyHolder;
+//	}
+//
+//	public void testDefaultPolicy() {
+//		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+//		assertNotNull(policyHolder);
+//		assertNotNull(policyHolder.getDefaultPolicy());
+//	}
+//
+//
+//	public void testSinglePolicy() {
+//		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+//		assertNotNull(policyHolder);
+//		assertNotNull(policyHolder.getPolicy("single"));
+//		assertEquals("single", policyHolder.getPolicy("single").getName());
+//	}
+//
+//	public void testElasticPolicy() {
+//		PolicyHolder policyHolder = getPolicyHolder("policies-1.xml");
+//		assertNotNull(policyHolder);
+//		assertNotNull(policyHolder.getPolicy("elastic"));
+//		assertEquals("elastic", policyHolder.getPolicy("elastic").getName());
+//	}
+//}


[2/2] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos into lookup

Posted by is...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos into lookup


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

Branch: refs/heads/master
Commit: 6fdb0770407292f9c974833685c9f6be6110eba0
Parents: b0110aa f7dab5f
Author: Isuru <is...@wso2.com>
Authored: Sat Jan 18 23:50:29 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Sat Jan 18 23:50:29 2014 +0530

----------------------------------------------------------------------
 .../stratos/autoscaler/PartitionContext.java    |  12 +-
 .../autoscaler/algorithm/OneAfterAnother.java   |  16 +-
 .../autoscaler/algorithm/RoundRobin.java        | 159 ++++++++++---------
 .../autoscaler/rule/RuleTasksDelegator.java     |   8 +-
 .../distribution/src/main/conf/scaling.drl      |  18 +--
 5 files changed, 122 insertions(+), 91 deletions(-)
----------------------------------------------------------------------