package org.opendaylight.neutron.northbound.api;
import java.net.HttpURLConnection;
-
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
import org.codehaus.enunciate.jaxrs.ResponseCode;
import org.codehaus.enunciate.jaxrs.StatusCodes;
-import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolAware;
import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD;
-import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolMemberAware;
import org.opendaylight.neutron.spi.NeutronCRUDInterfaces;
import org.opendaylight.neutron.spi.NeutronLoadBalancerPool;
import org.opendaylight.neutron.spi.NeutronLoadBalancerPoolMember;
@Path("/lbaas/pools")
public class NeutronLoadBalancerPoolNorthbound
- extends AbstractNeutronNorthboundIAware<NeutronLoadBalancerPool, NeutronLoadBalancerPoolRequest, INeutronLoadBalancerPoolCRUD, INeutronLoadBalancerPoolAware> {
+ extends AbstractNeutronNorthbound<NeutronLoadBalancerPool, NeutronLoadBalancerPoolRequest, INeutronLoadBalancerPoolCRUD> {
private static final String RESOURCE_NAME = "LoadBalancerPool";
return answer.getLoadBalancerPoolInterface();
}
- @Override
- protected Object[] getInstances() {
- return NeutronUtil.getInstances(INeutronLoadBalancerPoolAware.class, this);
- }
-
- private Object[] getInstancesOfPoolMemberAware() {
- return NeutronUtil.getInstances(INeutronLoadBalancerPoolMemberAware.class, this);
- }
-
- @Override
- protected int canCreate(Object instance, NeutronLoadBalancerPool singleton) {
- INeutronLoadBalancerPoolAware service = (INeutronLoadBalancerPoolAware) instance;
- return service.canCreateNeutronLoadBalancerPool(singleton);
- }
-
- @Override
- protected void created(Object instance, NeutronLoadBalancerPool singleton) {
- INeutronLoadBalancerPoolAware service = (INeutronLoadBalancerPoolAware) instance;
- service.neutronLoadBalancerPoolCreated(singleton);
- }
-
- @Override
- protected int canUpdate(Object instance, NeutronLoadBalancerPool delta, NeutronLoadBalancerPool original) {
- INeutronLoadBalancerPoolAware service = (INeutronLoadBalancerPoolAware) instance;
- return service.canUpdateNeutronLoadBalancerPool(delta, original);
- }
-
- @Override
- protected void updated(Object instance, NeutronLoadBalancerPool updated) {
- INeutronLoadBalancerPoolAware service = (INeutronLoadBalancerPoolAware) instance;
- service.neutronLoadBalancerPoolUpdated(updated);
- }
-
- @Override
- protected int canDelete(Object instance, NeutronLoadBalancerPool singleton) {
- INeutronLoadBalancerPoolAware service = (INeutronLoadBalancerPoolAware) instance;
- return service.canDeleteNeutronLoadBalancerPool(singleton);
- }
-
- @Override
- protected void deleted(Object instance, NeutronLoadBalancerPool singleton) {
- INeutronLoadBalancerPoolAware service = (INeutronLoadBalancerPoolAware) instance;
- service.neutronLoadBalancerPoolDeleted(singleton);
- }
-
/**
* Returns a list of all LoadBalancerPool
* */
@QueryParam("id") String queryLoadBalancerPoolID,
@QueryParam("tenant_id") String queryLoadBalancerPoolTenantID,
@QueryParam("name") String queryLoadBalancerPoolName,
- @QueryParam("description") String queryLoadBalancerDescription,
@QueryParam("protocol") String queryLoadBalancerProtocol,
@QueryParam("lb_algorithm") String queryLoadBalancerPoolLbAlgorithm,
@QueryParam("healthmonitor_id") String queryLoadBalancerPoolHealthMonitorID,
- @QueryParam("admin_state_up") String queryLoadBalancerIsAdminStateUp,
+ @QueryParam("admin_state_up") Boolean queryLoadBalancerIsAdminStateUp,
@QueryParam("members") List<NeutronLoadBalancerPoolMember> queryLoadBalancerPoolMembers,
// pagination
@QueryParam("limit") String limit,
// sorting not supported
) {
INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
- List<NeutronLoadBalancerPool> allLoadBalancerPools = loadBalancerPoolInterface.getAllNeutronLoadBalancerPools();
+ List<NeutronLoadBalancerPool> allLoadBalancerPools = loadBalancerPoolInterface.getAll();
List<NeutronLoadBalancerPool> ans = new ArrayList<NeutronLoadBalancerPool>();
Iterator<NeutronLoadBalancerPool> i = allLoadBalancerPools.iterator();
while (i.hasNext()) {
queryLoadBalancerPoolTenantID.equals(nsg.getTenantID())) &&
(queryLoadBalancerPoolName == null ||
queryLoadBalancerPoolName.equals(nsg.getLoadBalancerPoolName())) &&
- (queryLoadBalancerDescription == null ||
- queryLoadBalancerDescription.equals(nsg.getLoadBalancerPoolDescription())) &&
(queryLoadBalancerPoolLbAlgorithm == null ||
queryLoadBalancerPoolLbAlgorithm.equals(nsg.getLoadBalancerPoolLbAlgorithm())) &&
(queryLoadBalancerPoolHealthMonitorID == null ||
@Consumes({ MediaType.APPLICATION_JSON })
@StatusCodes({
@ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
+ @ResponseCode(code = HttpURLConnection.HTTP_NOT_FOUND, condition = "Not Found"),
@ResponseCode(code = HttpURLConnection.HTTP_UNAVAILABLE, condition = "No providers available") })
public Response updateLoadBalancerPool(
@PathParam("loadBalancerPoolID") String loadBalancerPoolID, final NeutronLoadBalancerPoolRequest input) {
@DELETE
@StatusCodes({
@ResponseCode(code = HttpURLConnection.HTTP_NO_CONTENT, condition = "No Content"),
+ @ResponseCode(code = HttpURLConnection.HTTP_NOT_FOUND, condition = "Not Found"),
@ResponseCode(code = HttpURLConnection.HTTP_UNAVAILABLE, condition = "No providers available") })
public Response deleteLoadBalancerPool(
@PathParam("loadBalancerPoolUUID") String loadBalancerPoolUUID) {
@QueryParam("tenant_id") String queryLoadBalancerPoolMemberTenantID,
@QueryParam("address") String queryLoadBalancerPoolMemberAddress,
@QueryParam("protocol_port") String queryLoadBalancerPoolMemberProtoPort,
- @QueryParam("admin_state_up") String queryLoadBalancerPoolMemberAdminStateUp,
- @QueryParam("weight") String queryLoadBalancerPoolMemberWeight,
+ @QueryParam("admin_state_up") Boolean queryLoadBalancerPoolMemberAdminStateUp,
+ @QueryParam("weight") Integer queryLoadBalancerPoolMemberWeight,
@QueryParam("subnet_id") String queryLoadBalancerPoolMemberSubnetID,
// pagination
// sorting not supported
) {
INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
- if (!loadBalancerPoolInterface.neutronLoadBalancerPoolExists(loadBalancerPoolUUID)) {
+ if (!loadBalancerPoolInterface.exists(loadBalancerPoolUUID)) {
throw new ResourceNotFoundException(uuidNoExist());
}
List<NeutronLoadBalancerPoolMember> members =
- loadBalancerPoolInterface.getNeutronLoadBalancerPool(loadBalancerPoolUUID).getLoadBalancerPoolMembers();
+ loadBalancerPoolInterface.get(loadBalancerPoolUUID).getLoadBalancerPoolMembers();
List<NeutronLoadBalancerPoolMember> ans = new ArrayList<NeutronLoadBalancerPoolMember>();
Iterator<NeutronLoadBalancerPoolMember> i = members.iterator();
while (i.hasNext()) {
@QueryParam("fields") List<String> fields ) {
INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
- if (!loadBalancerPoolInterface.neutronLoadBalancerPoolExists(loadBalancerPoolUUID)) {
+ if (!loadBalancerPoolInterface.exists(loadBalancerPoolUUID)) {
throw new ResourceNotFoundException(uuidNoExist());
}
List<NeutronLoadBalancerPoolMember> members =
- loadBalancerPoolInterface.getNeutronLoadBalancerPool(loadBalancerPoolUUID).getLoadBalancerPoolMembers();
+ loadBalancerPoolInterface.get(loadBalancerPoolUUID).getLoadBalancerPoolMembers();
for (NeutronLoadBalancerPoolMember ans: members) {
if (!ans.getID().equals(loadBalancerPoolMemberUUID)) {
continue;
final NeutronLoadBalancerPoolMemberRequest input) {
INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
- NeutronLoadBalancerPool singletonPool = loadBalancerPoolInterface.getNeutronLoadBalancerPool(loadBalancerPoolUUID);
+ NeutronLoadBalancerPool singletonPool = loadBalancerPoolInterface.get(loadBalancerPoolUUID);
if (input.isSingleton()) {
NeutronLoadBalancerPoolMember singleton = input.getSingleton();
singleton.setPoolID(loadBalancerPoolUUID);
-
- Object[] instances = getInstancesOfPoolMemberAware();
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- int status = service.canCreateNeutronLoadBalancerPoolMember(singleton);
- if (status < HTTP_OK_BOTTOM || status > HTTP_OK_TOP) {
- return Response.status(status).build();
- }
- }
- }
-
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- service.neutronLoadBalancerPoolMemberCreated(singleton);
- }
- }
-
/**
* Add the member from the neutron load balancer pool as well
*/
loadBalancerPoolInterface.addNeutronLoadBalancerPoolMember(loadBalancerPoolUUID, singleton);
} else {
- Object[] instances = getInstancesOfPoolMemberAware();
- if (instances != null) {
- for (NeutronLoadBalancerPoolMember test : input.getBulk()) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- int status = service.canCreateNeutronLoadBalancerPoolMember(test);
- if (status < HTTP_OK_BOTTOM || status > HTTP_OK_TOP) {
- return Response.status(status).build();
- }
- }
- }
- }
/*
* now, each element of the bulk request can be added to the cache
*/
for (NeutronLoadBalancerPoolMember test : input.getBulk()) {
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- service.neutronLoadBalancerPoolMemberCreated(test);
- }
- }
loadBalancerPoolInterface.addNeutronLoadBalancerPoolMember(loadBalancerPoolUUID, test);
}
}
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
@StatusCodes({
- @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful") })
+ @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
+ @ResponseCode(code = HttpURLConnection.HTTP_NOT_FOUND, condition = "Not Found") })
public Response updateLoadBalancerPoolMember(
@PathParam("loadBalancerPoolUUID") String loadBalancerPoolUUID,
@PathParam("loadBalancerPoolMemberUUID") String loadBalancerPoolMemberUUID,
final NeutronLoadBalancerPoolMemberRequest input) {
INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
- NeutronLoadBalancerPool singletonPool = loadBalancerPoolInterface.getNeutronLoadBalancerPool(loadBalancerPoolUUID);
+ NeutronLoadBalancerPool singletonPool = loadBalancerPoolInterface.get(loadBalancerPoolUUID);
NeutronLoadBalancerPoolMember singleton = input.getSingleton();
singleton.setPoolID(loadBalancerPoolUUID);
}
NeutronLoadBalancerPoolMember original = singletonPool.getNeutronLoadBalancerPoolMember(loadBalancerPoolMemberUUID);
- Object[] instances = getInstancesOfPoolMemberAware();
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- int status = service.canUpdateNeutronLoadBalancerPoolMember(singleton, original);
- if (status < HTTP_OK_BOTTOM || status > HTTP_OK_TOP) {
- return Response.status(status).build();
- }
- }
- }
-
loadBalancerPoolInterface.updateNeutronLoadBalancerPoolMember(loadBalancerPoolUUID, loadBalancerPoolMemberUUID, singleton);
-
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- service.neutronLoadBalancerPoolMemberUpdated(singleton);
- }
- }
return Response.status(HttpURLConnection.HTTP_OK).entity(input).build();
}
@DELETE
@StatusCodes({
@ResponseCode(code = HttpURLConnection.HTTP_NO_CONTENT, condition = "No Content"),
+ @ResponseCode(code = HttpURLConnection.HTTP_NOT_FOUND, condition = "Not Found"),
@ResponseCode(code = HttpURLConnection.HTTP_UNAVAILABLE, condition = "No providers available") })
public Response deleteLoadBalancerPoolMember(
@PathParam("loadBalancerPoolUUID") String loadBalancerPoolUUID,
//Verify that the LB pool member exists
NeutronLoadBalancerPoolMember singleton = null;
List<NeutronLoadBalancerPoolMember> members =
- loadBalancerPoolInterface.getNeutronLoadBalancerPool(loadBalancerPoolUUID).getLoadBalancerPoolMembers();
+ loadBalancerPoolInterface.get(loadBalancerPoolUUID).getLoadBalancerPoolMembers();
for (NeutronLoadBalancerPoolMember member: members) {
if (member.getID().equals(loadBalancerPoolMemberUUID)) {
singleton = member;
throw new BadRequestException("LoadBalancerPoolMember UUID does not exist.");
}
- Object[] instances = getInstancesOfPoolMemberAware();
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- int status = service.canDeleteNeutronLoadBalancerPoolMember(singleton);
- if (status < HTTP_OK_BOTTOM || status > HTTP_OK_TOP) {
- return Response.status(status).build();
- }
- }
- }
-
- if (instances != null) {
- for (Object instance : instances) {
- INeutronLoadBalancerPoolMemberAware service = (INeutronLoadBalancerPoolMemberAware) instance;
- service.neutronLoadBalancerPoolMemberDeleted(singleton);
- }
- }
-
/**
* Remove the member from the neutron load balancer pool
*/