package org.ovirt.engine.core.bll.aaa;
import javax.inject.Inject;
import org.ovirt.engine.core.bll.tasks.CommandCoordinatorUtil;
import org.ovirt.engine.core.common.job.JobExecutionStatus;
import org.ovirt.engine.core.compat.CommandStatus;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dao.JobDao;
public class SsoSessionUtils {
public static final long EMPTY_SESSION_SEQ_ID = -1L;
@Inject
private JobDao jobDao;
public boolean isSessionInUse(long sessionSeqId) {
CommandStatus cmdStatus;
for (Guid cmdId : CommandCoordinatorUtil.getCommandIdsBySessionSeqId(sessionSeqId)) {
cmdStatus = CommandCoordinatorUtil.getCommandStatus(cmdId);
if (cmdStatus == CommandStatus.NOT_STARTED || cmdStatus == CommandStatus.ACTIVE) {
return true;
}
}
return !jobDao.getJobsBySessionSeqIdAndStatus(sessionSeqId, JobExecutionStatus.STARTED).isEmpty();
}
}