Updated Branches:
  refs/heads/javelin b6f780fa3 -> b63b7ddf6

UserContext: Threadsafe singleton, inject using ComponentContext, spring di 
failsafe

Signed-off-by: Rohit Yadav <[email protected]>


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

Branch: refs/heads/javelin
Commit: b63b7ddf607ba742dce54d40d0b6500e997e8660
Parents: b6f780f
Author: Rohit Yadav <[email protected]>
Authored: Thu Jan 24 16:59:17 2013 -0800
Committer: Rohit Yadav <[email protected]>
Committed: Thu Jan 24 17:00:12 2013 -0800

----------------------------------------------------------------------
 api/src/com/cloud/user/UserContext.java |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b63b7ddf/api/src/com/cloud/user/UserContext.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/UserContext.java 
b/api/src/com/cloud/user/UserContext.java
index 0e27614..bcb33b5 100644
--- a/api/src/com/cloud/user/UserContext.java
+++ b/api/src/com/cloud/user/UserContext.java
@@ -16,12 +16,10 @@
 // under the License.
 package com.cloud.user;
 
+import com.cloud.utils.component.ComponentContext;
 import javax.inject.Inject;
 
-
 public class UserContext {
-    @Inject AccountService _accountMgr;
-
     private static ThreadLocal<UserContext> s_currentContext = new 
ThreadLocal<UserContext>();
 
     private long userId;
@@ -30,9 +28,10 @@ public class UserContext {
     private long startEventId = 0;
     private long accountId;
     private String eventDetails;
-
     private boolean apiServer;
 
+    @Inject private AccountService _accountMgr = null;
+
     public UserContext() {
     }
 
@@ -48,6 +47,9 @@ public class UserContext {
     }
 
     public User getCallerUser() {
+        if (_accountMgr == null) {
+            _accountMgr = ComponentContext.getComponent(AccountService.class);
+        }
         return _accountMgr.getActiveUser(userId);
     }
 

Reply via email to