package org.ovirt.engine.api.restapi.resource; import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.StorageConnection; import org.ovirt.engine.core.common.action.EditIscsiBondParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.IscsiBond; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; import org.ovirt.engine.core.common.queries.StorageServerConnectionQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; public class BackendIscsiBondStorageConnectionResource extends BackendStorageServerConnectionResource { private BackendIscsiBondStorageConnectionsResource parent; public BackendIscsiBondStorageConnectionResource(String id, BackendIscsiBondStorageConnectionsResource parent) { super(id, parent); this.parent = parent; } @Override public StorageConnection get() { IscsiBond iscsiBond = parent.getIscsiBond(); if (!iscsiBond.getStorageConnectionIds().contains(guid.toString())) { return notFound(); } StorageServerConnections entity = getEntity(org.ovirt.engine.core.common.businessentities.StorageServerConnections.class, VdcQueryType.GetStorageServerConnectionById, new StorageServerConnectionQueryParametersBase(guid), guid.toString()); if (entity == null) { return notFound(); } return addLinks(map(entity)); } @Override public Response remove() { get(); IscsiBond iscsiBond = parent.getIscsiBond(); iscsiBond.getStorageConnectionIds().remove(id); return performAction(VdcActionType.EditIscsiBond, new EditIscsiBondParameters(iscsiBond)); } }