package org.ovirt.engine.api.restapi.resource; import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.MacPool; import org.ovirt.engine.api.resource.MacPoolResource; import org.ovirt.engine.core.common.action.MacPoolParameters; import org.ovirt.engine.core.common.action.RemoveMacPoolByIdParameters; 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 BackendMacPoolResource extends AbstractBackendSubResource<MacPool, org.ovirt.engine.core.common.businessentities.MacPool> implements MacPoolResource { public BackendMacPoolResource(String id) { super(id, MacPool.class, org.ovirt.engine.core.common.businessentities.MacPool.class); } @Override public MacPool get() { return performGet(VdcQueryType.GetMacPoolById, new IdQueryParameters(guid)); } @Override public MacPool update(MacPool macPool) { return performUpdate(macPool, new QueryIdResolver<>(VdcQueryType.GetMacPoolById, IdQueryParameters.class), VdcActionType.UpdateMacPool, new UpdateParametersProvider()); } private class UpdateParametersProvider implements ParametersProvider<MacPool, org.ovirt.engine.core.common.businessentities.MacPool> { @Override public VdcActionParametersBase getParameters(MacPool model, org.ovirt.engine.core.common.businessentities.MacPool entity) { final org.ovirt.engine.core.common.businessentities.MacPool macPool = map(model, entity); return new MacPoolParameters(macPool); } } @Override public Response remove() { get(); return performAction(VdcActionType.RemoveMacPool, new RemoveMacPoolByIdParameters(guid)); } }