Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping 8f889e6c7 -> 5f9f40f28


fix for STRATOS-806:Sending an ApplicationCreatedEvent throws Exception


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

Branch: refs/heads/4.0.0-grouping
Commit: 5f9f40f28bb7476f396b0a5e1f9b30bb5308212e
Parents: 8f889e6
Author: Martin Eppel <[email protected]>
Authored: Fri Sep 19 10:56:43 2014 -0700
Committer: Martin Eppel <[email protected]>
Committed: Fri Sep 19 10:56:43 2014 -0700

----------------------------------------------------------------------
 .../manager/manager/CartridgeSubscriptionManager.java   |  6 ++++++
 .../receiver/StratosManagerTopologyEventReceiver.java   | 12 +++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/5f9f40f2/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 2710c98..da820b4 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
@@ -111,6 +111,12 @@ public class CartridgeSubscriptionManager {
            log.error("app Id already exists, failed to 
createCompositeAppSubscription for appId: " + appId + " and tenantId: " + 
tenantId);
            throw new ApplicationSubscriptionException("Composite App 
Subscription already exists with Id [ " +  appId + " ]");
         } else {
+               
+               if (log.isDebugEnabled()) {
+                       log.debug("creating new application subscription for 
app:" + appId );
+               }
+               
+               compositeAppSubscription = new ApplicationSubscription(appId);
                // persist 
                try {
                                
persistCompositeAppSubscription(compositeAppSubscription);

http://git-wip-us.apache.org/repos/asf/stratos/blob/5f9f40f2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java
index dbe1727..0ff3dbb 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java
@@ -37,6 +37,7 @@ import org.apache.stratos.messaging.event.topology.*;
 import org.apache.stratos.messaging.listener.topology.*;
 import 
org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver;
 import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
+import org.wso2.carbon.context.PrivilegedCarbonContext;
 
 public class StratosManagerTopologyEventReceiver implements Runnable {
 
@@ -295,17 +296,26 @@ public class StratosManagerTopologyEventReceiver 
implements Runnable {
                     Application app = appCreateEvent.getApplication();
                     String appId = app.getId();
                     int tenantId = app.getTenantId();
+                    String domain = app.getTenantDomain();
                     
                     if (log.isDebugEnabled()) {
-                       log.debug("received application created event for app: 
" + appId + " and tenant: " + tenantId);
+                       log.debug("received application created event for app: 
" + appId + " and tenant: " + tenantId + 
+                                       " domain:" + domain);
                     }
                     try {
+                        PrivilegedCarbonContext.startTenantFlow();
+                        PrivilegedCarbonContext carbonContext = 
PrivilegedCarbonContext.getThreadLocalCarbonContext();
+                        carbonContext.setTenantDomain(domain);
+                        carbonContext.setTenantId(tenantId);
+                       // create Application Subscription and persist
                         compositeAppSubscription = 
cartridgeSubscriptionManager.createApplicationSubscription(appId, tenantId);
                         
cartridgeSubscriptionManager.persistCompositeAppSubscription(compositeAppSubscription);
                     } catch (ApplicationSubscriptionException e) {
                         log.error("failed to persist application subscription, 
caught exception: " + e);
                     } catch (ADCException e) {
                        log.error("failed to persist application subscription, 
caught exception: " + e);
+                    } finally {
+                       PrivilegedCarbonContext.endTenantFlow();
                     }
                 } finally {
                     TopologyManager.releaseReadLock();

Reply via email to