package org.ovirt.engine.core.bll.aaa; import java.util.Collections; import java.util.List; import javax.inject.Inject; import org.ovirt.engine.core.bll.CommandBase; import org.ovirt.engine.core.bll.context.CommandContext; import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.action.IdParameters; import org.ovirt.engine.core.common.businessentities.aaa.DbUser; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.DbUserDao; public abstract class UserCommandBase<T extends IdParameters> extends CommandBase<T> { @Inject private DbUserDao dbUserDao; /** * Constructor for command creation when compensation is applied on startup */ protected UserCommandBase(Guid commandId) { super(commandId); } public UserCommandBase(T parameters, CommandContext cmdContext) { super(parameters, cmdContext); } private String adUserName; @Override protected String getDescription() { return getAdUserName(); } public String getAdUserName() { if (adUserName == null) { DbUser user = dbUserDao.get(getAdUserId()); if (user != null) { adUserName = user.getLoginName(); } } return adUserName; } protected Guid getAdUserId() { return getParameters().getId(); } @Override public List<PermissionSubject> getPermissionCheckSubjects() { // Not needed for admin operations. return Collections.emptyList(); } }