package org.ovirt.engine.api.restapi.resource; import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Bookmark; import org.ovirt.engine.api.resource.BookmarkResource; import org.ovirt.engine.core.common.action.BookmarksOperationParameters; import org.ovirt.engine.core.common.action.BookmarksParametersBase; 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 BackendBookmarkResource extends AbstractBackendSubResource<Bookmark, org.ovirt.engine.core.common.businessentities.Bookmark> implements BookmarkResource { protected BackendBookmarkResource(String id) { super(id, Bookmark.class, org.ovirt.engine.core.common.businessentities.Bookmark.class); } @Override public Bookmark get() { return performGet(VdcQueryType.GetBookmarkByBookmarkId, new IdQueryParameters(guid)); } @Override public Bookmark update(Bookmark incoming) { return performUpdate(incoming, new QueryIdResolver<>(VdcQueryType.GetBookmarkByBookmarkId, IdQueryParameters.class), VdcActionType.UpdateBookmark, new UpdateParametersProvider()); } protected class UpdateParametersProvider implements ParametersProvider<Bookmark, org.ovirt.engine.core.common.businessentities.Bookmark> { @Override public VdcActionParametersBase getParameters(Bookmark incoming, org.ovirt.engine.core.common.businessentities.Bookmark entity) { return new BookmarksOperationParameters(map(incoming, entity)); } } @Override public Response remove() { get(); return performAction(VdcActionType.RemoveBookmark, new BookmarksParametersBase(guid)); } }