diff --git a/api/src/com/cloud/user/UserContext.java b/api/src/com/cloud/user/UserContext.java index 28736d361ec..5eccf7745a9 100644 --- a/api/src/com/cloud/user/UserContext.java +++ b/api/src/com/cloud/user/UserContext.java @@ -12,14 +12,11 @@ // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.user; -import com.cloud.server.ManagementService; -import com.cloud.utils.component.ComponentLocator; public class UserContext { private static ThreadLocal s_currentContext = new ThreadLocal(); - private static final ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name); - private static final AccountService _accountMgr = locator.getManager(AccountService.class); + private static UserContext s_adminContext = null; private long userId; private String sessionId; @@ -29,9 +26,7 @@ public class UserContext { private String eventDetails; private boolean apiServer; - - private static UserContext s_adminContext = new UserContext(_accountMgr.getSystemUser().getId(), _accountMgr.getSystemAccount(), null, false); - + public UserContext() { } @@ -130,4 +125,10 @@ public class UserContext { public String getEventDetails() { return eventDetails; } + + public static synchronized void setAdminContext(UserContext adminContext) { + if (adminContext == null) { + UserContext.s_adminContext = adminContext; + } + } } diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java index 7d40f46e515..8377460ae07 100755 --- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java +++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java @@ -376,6 +376,7 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com } protected void populateManagers() { + addManager("account manager", AccountManagerImpl.class); addManager("StackMaidManager", CheckPointManagerImpl.class); addManager("Cluster Manager", ClusterManagerImpl.class); addManager("ClusterFenceManager", ClusterFenceManagerImpl.class); @@ -384,7 +385,6 @@ public class DefaultComponentLibrary extends ComponentLibraryBase implements Com addManager("AsyncJobManager", AsyncJobManagerImpl.class); addManager("AsyncJobExecutorContext", AsyncJobExecutorContextImpl.class); addManager("configuration manager", ConfigurationManagerImpl.class); - addManager("account manager", AccountManagerImpl.class); addManager("domain manager", DomainManagerImpl.class); addManager("resource limit manager", ResourceLimitManagerImpl.class); addManager("network manager", NetworkManagerImpl.class); diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index f1ca879683c..45a82b0f756 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -290,8 +290,9 @@ public class VpcManagerImpl implements VpcManager, Manager{ } svcProviderMap.put(Service.Gateway, defaultProviders); - - return createVpcOffering(name, displayText, svcProviderMap, false, null); + VpcOffering offering = createVpcOffering(name, displayText, svcProviderMap, false, null); + UserContext.current().setEventDetails(" Id: " + offering.getId() + " Name: " + name); + return offering; } @@ -325,7 +326,6 @@ public class VpcManagerImpl implements VpcManager, Manager{ } txn.commit(); - UserContext.current().setEventDetails(" Id: " + offering.getId() + " Name: " + name); return offering; } diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java index 7f5d5828f2e..41ad8a21b3e 100755 --- a/server/src/com/cloud/user/AccountManagerImpl.java +++ b/server/src/com/cloud/user/AccountManagerImpl.java @@ -70,15 +70,10 @@ import com.cloud.network.IpAddress; import com.cloud.network.NetworkManager; import com.cloud.network.NetworkVO; import com.cloud.network.RemoteAccessVpnVO; -import com.cloud.network.Site2SiteCustomerGatewayVO; -import com.cloud.network.Site2SiteVpnConnectionVO; import com.cloud.network.VpnUserVO; import com.cloud.network.dao.IPAddressDao; import com.cloud.network.dao.NetworkDao; import com.cloud.network.dao.RemoteAccessVpnDao; -import com.cloud.network.dao.Site2SiteCustomerGatewayDao; -import com.cloud.network.dao.Site2SiteVpnConnectionDao; -import com.cloud.network.dao.Site2SiteVpnGatewayDao; import com.cloud.network.dao.VpnUserDao; import com.cloud.network.security.SecurityGroupManager; import com.cloud.network.security.dao.SecurityGroupDao; @@ -252,6 +247,9 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag if (_userAuthenticators == null || !_userAuthenticators.isSet()) { s_logger.error("Unable to find an user authenticator."); } + + //initialize admin context + UserContext.setAdminContext(new UserContext(getSystemUser().getId(), getSystemAccount(), null, false)); return true; }