package org.ovirt.engine.api.restapi.resource; import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Action; import org.ovirt.engine.api.model.Job; import org.ovirt.engine.api.resource.ActionResource; import org.ovirt.engine.api.resource.JobResource; import org.ovirt.engine.api.resource.StepsResource; import org.ovirt.engine.core.common.action.EndExternalJobParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; public class BackendJobResource extends AbstractBackendActionableResource<Job, org.ovirt.engine.core.common.job.Job> implements JobResource{ public BackendJobResource(String id) { super(id, Job.class, org.ovirt.engine.core.common.job.Job.class); } @Override public ActionResource getActionResource(String action, String oid) { return inject(new BackendActionResource(action, oid)); } @Override public Response end(Action action) { EndExternalJobParameters parameters = new EndExternalJobParameters( guid, action.isSetSucceeded() ? action.isSucceeded() : true, action.isSetForce() ? action.isForce() : false ); return doAction(VdcActionType.EndExternalJob, parameters, action); } @Override public Response clear(Action action) { VdcActionParametersBase params = new VdcActionParametersBase(); params.setJobId(guid); return doAction(VdcActionType.ClearExternalJob, params, action); } @Override public Job get() { IdQueryParameters params = new IdQueryParameters(guid); return performGet(VdcQueryType.GetJobByJobId, params); } @Override public StepsResource getStepsResource() { return inject(new BackendStepsResource(guid)); } }