001
014
015 package com.liferay.portal.kernel.test.context;
016
017 import com.liferay.portal.model.User;
018 import com.liferay.portal.security.auth.PrincipalThreadLocal;
019 import com.liferay.portal.security.permission.PermissionChecker;
020 import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil;
021 import com.liferay.portal.security.permission.PermissionThreadLocal;
022
023
026 public class ContextUserReplace implements AutoCloseable {
027
028 public ContextUserReplace(User user) throws Exception {
029 this(user, PermissionCheckerFactoryUtil.create(user));
030 }
031
032 public ContextUserReplace(User user, PermissionChecker permissionChecker) {
033 _name = PrincipalThreadLocal.getName();
034 _permissionCheker = PermissionThreadLocal.getPermissionChecker();
035
036 PrincipalThreadLocal.setName(user.getUserId());
037 PermissionThreadLocal.setPermissionChecker(permissionChecker);
038 }
039
040 @Override
041 public void close() {
042 PrincipalThreadLocal.setName(_name);
043 PermissionThreadLocal.setPermissionChecker(_permissionCheker);
044 }
045
046 private final String _name;
047 private final PermissionChecker _permissionCheker;
048
049 }