changing subscription flow
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/e9104e0d Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/e9104e0d Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/e9104e0d Branch: refs/heads/master Commit: e9104e0d7e7804ccac003690b26a999dd88e102e Parents: bc336fa Author: Isuru <[email protected]> Authored: Sun Mar 2 16:35:05 2014 +0530 Committer: Isuru <[email protected]> Committed: Sun Mar 2 16:35:05 2014 +0530 ---------------------------------------------------------------------- .../manager/CartridgeSubscriptionManager.java | 34 +++++++++----------- .../rest/endpoint/services/ServiceUtils.java | 1 + 2 files changed, 17 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9104e0d/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 5cb9721..3703856 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 @@ -96,6 +96,8 @@ public class CartridgeSubscriptionManager { Properties serviceCartridgeSubscriptionProperties = null; LBDataContext lbDataCtxt = null; + CartridgeSubscription lbCartridgeSubscription = null; + Properties lbCartridgeSubscriptionProperties = null; // get lb config reference LoadbalancerConfig lbConfig = cartridgeInfo.getLbConfig(); @@ -112,16 +114,11 @@ public class CartridgeSubscriptionManager { subscriptionData.getDeploymentPolicyName(), lbConfig); // subscribe to LB - CartridgeSubscription lbCartridgeSubscription = subscribeToLB (subscriptionData, lbDataCtxt); + lbCartridgeSubscription = subscribeToLB (subscriptionData, lbDataCtxt); - if (lbCartridgeSubscription != null) { - // register LB cartridge subscription - Properties lbCartridgeSubscriptionProperties = new Properties(); - if (lbDataCtxt.getLbProperperties() != null && !lbDataCtxt.getLbProperperties().isEmpty()) { - lbCartridgeSubscriptionProperties.setProperties(lbDataCtxt.getLbProperperties().toArray(new Property[0])); - } - - registerCartridgeSubscription(lbCartridgeSubscription, lbCartridgeSubscriptionProperties); + lbCartridgeSubscriptionProperties = new Properties(); + if (lbDataCtxt.getLbProperperties() != null && !lbDataCtxt.getLbProperperties().isEmpty()) { + lbCartridgeSubscriptionProperties.setProperties(lbDataCtxt.getLbProperperties().toArray(new Property[0])); } } @@ -142,6 +139,11 @@ public class CartridgeSubscriptionManager { } } + if (lbCartridgeSubscription != null) { + // register LB cartridge subscription + registerCartridgeSubscription(lbCartridgeSubscription, lbCartridgeSubscriptionProperties); + } + // register service cartridge subscription return registerCartridgeSubscription(serviceCartridgeSubscription, serviceCartridgeSubscriptionProperties); } @@ -206,10 +208,6 @@ public class CartridgeSubscriptionManager { " subscribed to " + "] Cartridge with Alias " + lbAlias + ", Cartridge Type: " + lbDataContext.getLbCartridgeInfo().getType() + ", Autoscale Policy: " + lbDataContext.getAutoscalePolicy() + ", Deployment Policy: " + lbDataContext.getDeploymentPolicy()); - // Publish tenant subscribed event to message broker - CartridgeSubscriptionUtils.publishTenantSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(), - cartridgeSubscription.getCartridgeInfo().getType()); - return cartridgeSubscription; } @@ -258,11 +256,6 @@ public class CartridgeSubscriptionManager { subscriptionData.getCartridgeType() + ", Repo URL: " + subscriptionData.getRepositoryURL() + ", Autoscale Policy: " + subscriptionData.getAutoscalingPolicyName() + ", Deployment Policy: " + subscriptionData.getDeploymentPolicyName()); - - // Publish tenant subscribed event to message broker - CartridgeSubscriptionUtils.publishTenantSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(), - cartridgeSubscription.getCartridgeInfo().getType()); - return cartridgeSubscription; } @@ -294,6 +287,11 @@ public class CartridgeSubscriptionManager { } log.info("Successful Subscription: " + cartridgeSubscription.toString()); + + // Publish tenant subscribed event to message broker + CartridgeSubscriptionUtils.publishTenantSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(), + cartridgeSubscription.getCartridgeInfo().getType()); + return ApplicationManagementUtil. createSubscriptionResponse(cartridgeSubscriptionInfo, cartridgeSubscription.getRepository()); } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e9104e0d/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 ff52750..c24f0c4 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 @@ -1002,6 +1002,7 @@ public class ServiceUtils { persistenceContext.setPersistanceRequiredProperty(IS_VOLUME_REQUIRED, String.valueOf(cartridgeInfoBean.isPersistanceRequired())); persistenceContext.setSizeProperty(VOLUME_SIZE, cartridgeInfoBean.getSize()); persistenceContext.setDeleteOnTerminationProperty(SHOULD_DELETE_VOLUME, String.valueOf(cartridgeInfoBean.isRemoveOnTermination())); + subscriptionData.setPersistanceCtxt(persistenceContext); } //subscribe
