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.host.provider.foreman.EngineForemanProviderFinder;
import org.ovirt.engine.core.common.businessentities.ErrataData;
import org.ovirt.engine.core.common.errors.EngineMessage;
import org.ovirt.engine.core.common.queries.GetErrataCountsParameters;
public class GetErrataForEngineQuery<P extends GetErrataCountsParameters> extends QueriesCommandBase<P> {
@Inject
private EngineForemanProviderFinder engineProviderFinder;
public GetErrataForEngineQuery(P parameters) {
super(parameters);
}
@Override
protected void executeQueryCommand() {
HostProviderProxy proxy = engineProviderFinder.findEngineProvider();
if (proxy == null) {
getQueryReturnValue().setSucceeded(false);
getQueryReturnValue().setExceptionString(EngineMessage.NO_FOREMAN_PROVIDER_FOR_ENGINE.name());
getQueryReturnValue().setReturnValue(ErrataData.emptyData());
} else {
ErrataData errataForEngine = proxy.getErrataForHost(engineProviderFinder.getEngineHostName(),
getParameters().getErrataFilter());
setReturnValue(errataForEngine);
}
}
}