package org.ovirt.engine.core.bll;
import javax.inject.Inject;
import org.ovirt.engine.core.bll.host.provider.HostProviderProxy;
import org.ovirt.engine.core.bll.provider.ProviderProxyFactory;
import org.ovirt.engine.core.common.businessentities.Provider;
import org.ovirt.engine.core.common.businessentities.VM;
import org.ovirt.engine.core.common.queries.HostErratumQueryParameters;
import org.ovirt.engine.core.dao.VmDao;
import org.ovirt.engine.core.dao.provider.ProviderDao;
public class GetErratumByIdForVmQuery<P extends HostErratumQueryParameters> extends QueriesCommandBase<P> {
@Inject
private VmDao vmDao;
@Inject
private ProviderDao providerDao;
public GetErratumByIdForVmQuery(P parameters) {
super(parameters);
}
@Override
protected void executeQueryCommand() {
VM vm = vmDao.get(getParameters().getId());
if (vm == null || vm.getDynamicData().getVmHost() == null || vm.getProviderId() == null) {
return;
}
Provider<?> provider = providerDao.get(vm.getProviderId());
if (provider != null) {
HostProviderProxy proxy = ProviderProxyFactory.getInstance().create(provider);
getQueryReturnValue().setReturnValue(proxy.getErratumForHost(vm.getDynamicData().getVmHost(), getParameters().getErratumId()));
}
}
}