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.KatelloErratum; import org.ovirt.engine.api.model.Vm; 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 BackendVmKatelloErratumResource extends AbstractBackendSubResource<KatelloErratum, Erratum> implements KatelloErratumResource { private String vmId; public BackendVmKatelloErratumResource(String id, String vmId) { super(id, KatelloErratum.class, Erratum.class); this.vmId = vmId; } @Override public KatelloErratum get() { return performGet(VdcQueryType.GetErratumByIdForVm, new HostErratumQueryParameters(asGuid(vmId), hex2string(id)), Vm.class); } @Override protected KatelloErratum addParents(KatelloErratum erratum) { Vm vm = new Vm(); vm.setId(vmId); erratum.setVm(vm); return super.addParents(erratum); } @Override protected KatelloErratum addLinks(KatelloErratum model, Class<? extends BaseResource> suggestedParent, String... subCollectionMembersToExclude) { return super.addLinks(model, Vm.class); } @Override protected Guid asGuidOr404(String id) { // The identifier isn't a UUID. return null; } }