package org.ovirt.engine.core.bll;
import java.util.List;
import javax.inject.Inject;
import org.ovirt.engine.core.common.businessentities.VM;
import org.ovirt.engine.core.common.queries.IdQueryParameters;
import org.ovirt.engine.core.dao.VmDao;
public class GetVmsRunningOnOrMigratingToVdsQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> {
@Inject
private VmHandler vmHandler;
@Inject
private VmDao vmDao;
public GetVmsRunningOnOrMigratingToVdsQuery(P parameters) {
super(parameters);
}
@Override
protected void executeQueryCommand() {
List<VM> allRunningOnOrMigratingToVds = vmDao.getAllRunningOnOrMigratingToVds(getParameters().getId());
updateStatistics(allRunningOnOrMigratingToVds);
getQueryReturnValue().setReturnValue(
allRunningOnOrMigratingToVds);
}
protected void updateStatistics(List<VM> allRunningOnOrMigratingToVds) {
if (allRunningOnOrMigratingToVds != null) {
allRunningOnOrMigratingToVds.forEach(vmHandler::updateVmStatistics);
}
}
}