package org.ovirt.engine.api.restapi.resource.externalhostproviders;
import static org.ovirt.engine.api.restapi.utils.HexUtils.hex2string;
import org.ovirt.engine.api.model.BaseResource;
import org.ovirt.engine.api.model.Host;
import org.ovirt.engine.api.model.KatelloErratum;
import org.ovirt.engine.api.resource.externalhostproviders.KatelloErratumResource;
import org.ovirt.engine.api.restapi.resource.AbstractBackendSubResource;
import org.ovirt.engine.core.common.businessentities.Erratum;
import org.ovirt.engine.core.common.queries.HostErratumQueryParameters;
import org.ovirt.engine.core.common.queries.VdcQueryType;
import org.ovirt.engine.core.compat.Guid;
public class BackendHostKatelloErratumResource extends AbstractBackendSubResource<KatelloErratum, Erratum> implements KatelloErratumResource {
private String hostId;
public BackendHostKatelloErratumResource(String id, String hostId) {
super(id, KatelloErratum.class, Erratum.class);
this.hostId = hostId;
}
@Override
public KatelloErratum get() {
return performGet(VdcQueryType.GetErratumByIdForHost, new HostErratumQueryParameters(asGuid(hostId),
hex2string(id)), Host.class);
}
@Override
protected KatelloErratum addParents(KatelloErratum erratum) {
Host host = new Host();
host.setId(hostId);
erratum.setHost(host);
return super.addParents(erratum);
}
@Override
protected KatelloErratum addLinks(KatelloErratum model,
Class<? extends BaseResource> suggestedParent,
String... subCollectionMembersToExclude) {
return super.addLinks(model, Host.class);
}
@Override
protected Guid asGuidOr404(String id) {
// The identifier isn't a UUID.
return null;
}
}