Initialize user context from AccountManager

This commit is contained in:
Alena Prokharchyk 2012-08-08 11:13:30 -07:00
parent a4ca478df5
commit cc212aaecf
4 changed files with 15 additions and 16 deletions

View File

@ -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<UserContext> s_currentContext = new ThreadLocal<UserContext>();
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;
}
}
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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;
}