package org.ovirt.engine.api.restapi.resource;
import javax.ws.rs.core.Response;
import org.ovirt.engine.api.model.Network;
import org.ovirt.engine.api.model.Networks;
import org.ovirt.engine.api.resource.VirtualFunctionAllowedNetworkResource;
import org.ovirt.engine.core.common.action.VdcActionType;
import org.ovirt.engine.core.common.action.VfsConfigNetworkParameters;
public class BackendVirtualFunctionAllowedNetworkResource
extends AbstractBackendSubResource<Network, org.ovirt.engine.core.common.businessentities.network.Network>
implements VirtualFunctionAllowedNetworkResource {
private final BackendVirtualFunctionAllowedNetworksResource parent;
public BackendVirtualFunctionAllowedNetworkResource(String id, BackendVirtualFunctionAllowedNetworksResource parent) {
super(id, Network.class, org.ovirt.engine.core.common.businessentities.network.Network.class);
this.parent = parent;
}
@Override
public Network get() {
final Networks networks = getParent().list();
final Network network = networks.getNetworks().stream().filter(n -> n.getId().equals(id)).findFirst().orElse(null);
if (network == null) {
notFound();
}
return network;
}
public BackendVirtualFunctionAllowedNetworksResource getParent() {
return parent;
}
@Override
public Response remove() {
get();
return performAction(VdcActionType.RemoveVfsConfigNetwork,
new VfsConfigNetworkParameters(parent.getNicId(), guid));
}
}