LB subscription refactoring contd.

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

Branch: refs/heads/master
Commit: c4586634484279eebb685903b5a3b09a5ade8bd6
Parents: 5e99f2a
Author: Isuru <[email protected]>
Authored: Fri Mar 7 17:54:32 2014 +0530
Committer: Isuru <[email protected]>
Committed: Fri Mar 7 17:54:32 2014 +0530

----------------------------------------------------------------------
 .../service/multitenant/MultiTenantService.java | 12 ++++-----
 .../manager/CartridgeSubscriptionManager.java   | 12 +++------
 .../factory/CartridgeSubscriptionFactory.java   |  6 ++++-
 .../SubscriptionSingleTenantBehaviour.java      | 26 +++-----------------
 .../utils/CartridgeSubscriptionUtils.java       |  8 ++++++
 5 files changed, 26 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java
index 2b4fce3..5a4ff42 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/service/multitenant/MultiTenantService.java
@@ -21,13 +21,11 @@ package 
org.apache.stratos.manager.deploy.service.multitenant;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 import org.apache.stratos.cloud.controller.pojo.Properties;
 import org.apache.stratos.manager.deploy.service.Service;
 import org.apache.stratos.manager.exception.ADCException;
 import org.apache.stratos.manager.exception.UnregisteredCartridgeException;
-import org.apache.stratos.manager.utils.ApplicationManagementUtil;
-import org.apache.stratos.manager.utils.CartridgeConstants;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 
 public class MultiTenantService extends Service {
 
@@ -44,8 +42,10 @@ public class MultiTenantService extends Service {
         super.deploy(properties);
 
         //register the service
-        ApplicationManagementUtil.registerService(getType(), getClusterId(), 
CartridgeConstants.DEFAULT_SUBDOMAIN,
-                getPayloadData().getCompletePayloadData(), getTenantRange(), 
getHostName(), getAutoscalingPolicyName(),
-                getDeploymentPolicyName(), properties);
+        //ApplicationManagementUtil.registerService(getType(), getClusterId(), 
CartridgeConstants.DEFAULT_SUBDOMAIN,
+        //        getPayloadData().getCompletePayloadData(), getTenantRange(), 
getHostName(), getAutoscalingPolicyName(),
+        //        getDeploymentPolicyName(), properties);
+
+        register(getCartridgeInfo(), getCluster(), getPayloadData(), 
getAutoscalingPolicyName(), getDeploymentPolicyName(), properties);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/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 3703856..bfc62de 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
@@ -109,6 +109,7 @@ public class CartridgeSubscriptionManager {
             }
 
         } else {
+
             // LB ref found, get relevant LB Context data
             lbDataCtxt = 
CartridgeSubscriptionUtils.getLoadBalancerDataContext(subscriptionData.getTenantId(),
 subscriptionData.getCartridgeType(),
                     subscriptionData.getDeploymentPolicyName(), lbConfig);
@@ -154,7 +155,7 @@ public class CartridgeSubscriptionManager {
             DuplicateCartridgeAliasException, PolicyException, 
UnregisteredCartridgeException, RepositoryRequiredException, 
RepositoryCredentialsRequiredException,
             RepositoryTransportException, AlreadySubscribedException, 
InvalidRepositoryException {
 
-        if (lbDataContext.getLbCategory().equals(Constants.NO_LOAD_BALANCER)) {
+        if (lbDataContext.getLbCategory() == null || 
lbDataContext.getLbCategory().equals(Constants.NO_LOAD_BALANCER)) {
             // no load balancer subscription required
             log.info("No LB subscription required for the Subscription with 
alias: " + subscriptionData.getCartridgeAlias() + ", type: " +
                     subscriptionData.getCartridgeType());
@@ -182,7 +183,6 @@ public class CartridgeSubscriptionManager {
         if(lbDataContext.getLbCartridgeInfo().getMultiTenant()) {
             throw new ADCException("LB Cartridge must be single tenant");
         }
-
         // Set the load balanced service type
         
loadBalancerCategory.setLoadBalancedServiceType(subscriptionData.getCartridgeType());
 
@@ -227,8 +227,7 @@ public class CartridgeSubscriptionManager {
         }
 
         // Create the CartridgeSubscription instance
-        CartridgeSubscription cartridgeSubscription = 
CartridgeSubscriptionFactory.
-                getCartridgeSubscriptionInstance(cartridgeInfo, 
tenancyBehaviour);
+        CartridgeSubscription cartridgeSubscription = 
CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo, 
tenancyBehaviour);
 
         // Generate and set the key
         String subscriptionKey = 
CartridgeSubscriptionUtils.generateSubscriptionKey();
@@ -246,11 +245,6 @@ public class CartridgeSubscriptionManager {
         cartridgeSubscription.createSubscription(subscriber, 
subscriptionData.getCartridgeAlias(), 
subscriptionData.getAutoscalingPolicyName(),
                                                 
subscriptionData.getDeploymentPolicyName(), repository);
 
-        // create subscription
-        cartridgeSubscription.createSubscription(subscriber, 
subscriptionData.getCartridgeAlias(), 
subscriptionData.getAutoscalingPolicyName(),
-                subscriptionData.getDeploymentPolicyName(), repository);
-
-
         log.info("Tenant [" + subscriptionData.getTenantId() + "] with 
username [" + subscriptionData.getTenantAdminUsername() +
                 " subscribed to " + "] Cartridge with Alias " + 
subscriptionData.getCartridgeAlias() + ", Cartridge Type: " +
                 subscriptionData.getCartridgeType() + ", Repo URL: " + 
subscriptionData.getRepositoryURL() + ", Autoscale Policy: " +

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
index ce70b89..05b68b2 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/factory/CartridgeSubscriptionFactory.java
@@ -19,6 +19,8 @@
 
 package org.apache.stratos.manager.subscription.factory;
 
+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.exception.ADCException;
 import org.apache.stratos.manager.lb.category.LBDataContext;
@@ -29,6 +31,8 @@ import org.apache.stratos.manager.utils.CartridgeConstants;
 
 public class CartridgeSubscriptionFactory {
 
+    private static Log log = 
LogFactory.getLog(CartridgeSubscriptionFactory.class);
+
     /**
      * Returns the relevant CartridgeSubscription object for the given criteria
      *
@@ -70,7 +74,7 @@ public class CartridgeSubscriptionFactory {
     public static CartridgeSubscription getLBCartridgeSubscriptionInstance 
(LBDataContext lbDataContext, LoadBalancerCategory loadBalancerCategory)
             throws ADCException {
 
-        if 
(!lbDataContext.getLbCartridgeInfo().getProvider().equals("loadbalancer") || 
!lbDataContext.getLbCartridgeInfo().getProvider().equals("lb")) {
+        if 
(!lbDataContext.getLbCartridgeInfo().getProvider().equals("loadbalancer") && 
!lbDataContext.getLbCartridgeInfo().getProvider().equals("lb")) {
             throw new ADCException("LB cartridge provider should be either lb 
or loadbalancer");
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
index e3c2772..1b6099a 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
@@ -19,37 +19,19 @@
 
 package org.apache.stratos.manager.subscription.tenancy;
 
-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.cloud.controller.pojo.Properties;
-import org.apache.stratos.cloud.controller.pojo.Property;
 import org.apache.stratos.manager.client.CloudControllerServiceClient;
-import org.apache.stratos.manager.dao.Cluster;
 import org.apache.stratos.manager.exception.ADCException;
-import org.apache.stratos.manager.exception.AlreadySubscribedException;
 import org.apache.stratos.manager.exception.NotSubscribedException;
-import org.apache.stratos.manager.exception.UnregisteredCartridgeException;
-import org.apache.stratos.manager.payload.BasicPayloadData;
-import org.apache.stratos.manager.payload.PayloadData;
-import org.apache.stratos.manager.payload.PayloadFactory;
-import org.apache.stratos.manager.repository.Repository;
 import org.apache.stratos.manager.service.InstanceCleanupNotificationService;
-import org.apache.stratos.manager.subscriber.Subscriber;
-import 
org.apache.stratos.manager.subscription.utils.CartridgeSubscriptionUtils;
-import org.apache.stratos.manager.utils.ApplicationManagementUtil;
-import org.apache.stratos.manager.utils.CartridgeConstants;
-
-import java.util.Map;
-import java.util.Set;
 
 
 public class SubscriptionSingleTenantBehaviour extends 
SubscriptionTenancyBehaviour {
 
     private static Log log = 
LogFactory.getLog(SubscriptionSingleTenantBehaviour.class);
 
-    public PayloadData create (String alias, Cluster cluster, Subscriber 
subscriber, Repository repository, CartridgeInfo cartridgeInfo,
+    /*public PayloadData create (String alias, Cluster cluster, Subscriber 
subscriber, Repository repository, CartridgeInfo cartridgeInfo,
                         String subscriptionKey, Map<String, String> 
customPayloadEntries) throws ADCException, AlreadySubscribedException {
 
         //set the cluster and hostname
@@ -99,9 +81,9 @@ public class SubscriptionSingleTenantBehaviour extends 
SubscriptionTenancyBehavi
         }
 
         return payloadData;
-    }
+    } */
 
-    public void register (CartridgeInfo cartridgeInfo, Cluster cluster, 
PayloadData payloadData, String autoscalePolicyName,
+    /*public void register (CartridgeInfo cartridgeInfo, Cluster cluster, 
PayloadData payloadData, String autoscalePolicyName,
                           String deploymentPolicyName, Properties properties) 
throws ADCException, UnregisteredCartridgeException {
 
         log.info("Payload: " + 
payloadData.getCompletePayloadData().toString());
@@ -115,7 +97,7 @@ public class SubscriptionSingleTenantBehaviour extends 
SubscriptionTenancyBehavi
                 autoscalePolicyName,
                 deploymentPolicyName,
                 properties);
-    }
+    }*/
 
     public void remove (String clusterId, String alias) throws ADCException, 
NotSubscribedException {
         //sending instance cleanup notification for the cluster, so that 
members in the cluster would aware of the termination

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c4586634/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java
index 5fa3717..e8b572c 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/utils/CartridgeSubscriptionUtils.java
@@ -244,6 +244,8 @@ public class CartridgeSubscriptionUtils {
             if (Constants.NO_LOAD_BALANCER.equals(name)) {
 
                 if ("true".equals(value)) {
+                    lbDataCtxt.setLbCategory(Constants.NO_LOAD_BALANCER);
+
                     if (log.isDebugEnabled()) {
                         log.debug("This cartridge does not require a load 
balancer. " + "[Type] " + serviceType);
                     }
@@ -253,6 +255,8 @@ public class CartridgeSubscriptionUtils {
                 }
             } else if (Constants.EXISTING_LOAD_BALANCERS.equals(name)) {
 
+                lbDataCtxt.setLbCategory(Constants.EXISTING_LOAD_BALANCERS);
+
                 String clusterIdsVal = value;
                 if (log.isDebugEnabled()) {
                     log.debug("This cartridge refers to existing load 
balancers. " + "[Type] " + serviceType + "[Referenced Cluster Ids] " + 
clusterIdsVal);
@@ -277,6 +281,8 @@ public class CartridgeSubscriptionUtils {
 
                 if ("true".equals(value)) {
 
+                    lbDataCtxt.setLbCategory(Constants.DEFAULT_LOAD_BALANCER);
+
                     lbRefProperty.setValue(name);
 
                     CartridgeInfo lbCartridgeInfo;
@@ -347,6 +353,8 @@ public class CartridgeSubscriptionUtils {
 
                 if ("true".equals(value)) {
 
+                    
lbDataCtxt.setLbCategory(Constants.SERVICE_AWARE_LOAD_BALANCER);
+
                     lbRefProperty.setValue(name);
 
                     CartridgeInfo lbCartridgeInfo;

Reply via email to