package org.ovirt.engine.core.bll; import java.util.Collections; import java.util.Map; import org.ovirt.engine.core.bll.adbroker.AdActionType; import org.ovirt.engine.core.bll.adbroker.LdapChangeUserPasswordParameters; import org.ovirt.engine.core.bll.adbroker.LdapFactory; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.ChangeUserPasswordParameters; import org.ovirt.engine.core.compat.Guid; public class ChangeUserPasswordCommand<T extends ChangeUserPasswordParameters> extends CommandBase<T> { public ChangeUserPasswordCommand(T parameters) { super(parameters); } @Override public String getUserName() { return getParameters().getUserName(); } @Override public AuditLogType getAuditLogTypeValue() { return getSucceeded() ? AuditLogType.USER_PASSWORD_CHANGED : AuditLogType.USER_PASSWORD_CHANGE_FAILED; } @Override protected void executeCommand() { setSucceeded(LdapFactory .getInstance(getParameters().getDomain()) .RunAdAction( AdActionType.ChangeUserPassword, new LdapChangeUserPasswordParameters(getParameters().getDomain(), getUserName(), getParameters() .getUserPassword(), getParameters().getNewPassword())).getSucceeded()); } @Override public Map<Guid, VdcObjectType> getPermissionCheckSubjects() { // Not needed for admin operations. return Collections.emptyMap(); } }