checkstyle: enable SummaryJavadoc
[neutron.git] / northbound-api / src / main / java / org / opendaylight / neutron / northbound / api / NeutronLoadBalancerNorthbound.java
index 9482158ed95d9c4e398f6241079626b7e86a3e6d..6b35ed82eb481c43040d8bbffc459835f1f46fbc 100644 (file)
@@ -9,11 +9,8 @@
 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;
@@ -25,12 +22,9 @@ import javax.ws.rs.Produces;
 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.INeutronLoadBalancerAware;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD;
-import org.opendaylight.neutron.spi.NeutronCRUDInterfaces;
 import org.opendaylight.neutron.spi.NeutronLoadBalancer;
 
 /**
@@ -51,8 +45,8 @@ import org.opendaylight.neutron.spi.NeutronLoadBalancer;
  *
  */
 @Path("/lbaas/loadbalancers")
-public class NeutronLoadBalancerNorthbound
-    extends AbstractNeutronNorthbound<NeutronLoadBalancer, NeutronLoadBalancerRequest, INeutronLoadBalancerCRUD, INeutronLoadBalancerAware> {
+public final class NeutronLoadBalancerNorthbound
+        extends AbstractNeutronNorthbound<NeutronLoadBalancer, NeutronLoadBalancerRequest, INeutronLoadBalancerCRUD> {
 
     private static final String RESOURCE_NAME = "LoadBalancer";
 
@@ -61,72 +55,12 @@ public class NeutronLoadBalancerNorthbound
         return RESOURCE_NAME;
     }
 
-    @Override
-    protected NeutronLoadBalancer extractFields(NeutronLoadBalancer o, List<String> fields) {
-        return o.extractFields(fields);
-    }
-
-    @Override
-    protected NeutronLoadBalancerRequest newNeutronRequest(NeutronLoadBalancer o) {
-        return new NeutronLoadBalancerRequest(o);
-    }
-
-    @Override
-    protected INeutronLoadBalancerCRUD getNeutronCRUD() {
-        NeutronCRUDInterfaces answer = new NeutronCRUDInterfaces().fetchINeutronLoadBalancerCRUD(this);
-        if (answer.getLoadBalancerInterface() == null) {
-            throw new ServiceUnavailableException(serviceUnavailable());
-        }
-        return answer.getLoadBalancerInterface();
-    }
-
-    @Override
-    protected Object[] getInstances() {
-        return NeutronUtil.getInstances(INeutronLoadBalancerAware.class, this);
-    }
-
-    @Override
-    protected int canCreate(Object instance, NeutronLoadBalancer singleton) {
-        INeutronLoadBalancerAware service = (INeutronLoadBalancerAware) instance;
-        return service.canCreateNeutronLoadBalancer(singleton);
-    }
-
-    @Override
-    protected void created(Object instance, NeutronLoadBalancer singleton) {
-        INeutronLoadBalancerAware service = (INeutronLoadBalancerAware) instance;
-        service.neutronLoadBalancerCreated(singleton);
-    }
-
-    @Override
-    protected int canUpdate(Object instance, NeutronLoadBalancer delta, NeutronLoadBalancer original) {
-        INeutronLoadBalancerAware service = (INeutronLoadBalancerAware) instance;
-        return service.canUpdateNeutronLoadBalancer(delta, original);
-    }
-
-    @Override
-    protected void updated(Object instance, NeutronLoadBalancer updated) {
-        INeutronLoadBalancerAware service = (INeutronLoadBalancerAware) instance;
-        service.neutronLoadBalancerUpdated(updated);
-    }
-
-    @Override
-    protected int canDelete(Object instance, NeutronLoadBalancer singleton) {
-        INeutronLoadBalancerAware service = (INeutronLoadBalancerAware) instance;
-        return service.canDeleteNeutronLoadBalancer(singleton);
-    }
-
-    @Override
-    protected void deleted(Object instance, NeutronLoadBalancer singleton) {
-        INeutronLoadBalancerAware service = (INeutronLoadBalancerAware) instance;
-        service.neutronLoadBalancerDeleted(singleton);
-    }
-
     /**
-     * Returns a list of all LoadBalancer */
+     * Returns a list of all LoadBalancer.
+     */
     @GET
     @Produces({ MediaType.APPLICATION_JSON })
-    @StatusCodes({
-            @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
+    @StatusCodes({ @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
             @ResponseCode(code = HttpURLConnection.HTTP_UNAUTHORIZED, condition = "Unauthorized"),
             @ResponseCode(code = HttpURLConnection.HTTP_NOT_IMPLEMENTED, condition = "Not Implemented"),
             @ResponseCode(code = HttpURLConnection.HTTP_UNAVAILABLE, condition = "No providers available") })
@@ -138,7 +72,6 @@ public class NeutronLoadBalancerNorthbound
             @QueryParam("id") String queryLoadBalancerID,
             @QueryParam("tenant_id") String queryLoadBalancerTenantID,
             @QueryParam("name") String queryLoadBalancerName,
-            @QueryParam("description") String queryLoadBalancerDescription,
             @QueryParam("status") String queryLoadBalancerStatus,
             @QueryParam("vip_address") String queryLoadBalancerVipAddress,
             @QueryParam("vip_subnet") String queryLoadBalancerVipSubnet,
@@ -146,46 +79,38 @@ public class NeutronLoadBalancerNorthbound
             @QueryParam("limit") String limit,
             @QueryParam("marker") String marker,
             @QueryParam("page_reverse") String pageReverse
-            // sorting not supported
+    // sorting not supported
     ) {
         INeutronLoadBalancerCRUD loadBalancerInterface = getNeutronCRUD();
-        List<NeutronLoadBalancer> allLoadBalancers = loadBalancerInterface.getAllNeutronLoadBalancers();
-        List<NeutronLoadBalancer> ans = new ArrayList<NeutronLoadBalancer>();
-        Iterator<NeutronLoadBalancer> i = allLoadBalancers.iterator();
-        while (i.hasNext()) {
-            NeutronLoadBalancer nsg = i.next();
-            if ((queryLoadBalancerID == null ||
-                    queryLoadBalancerID.equals(nsg.getID())) &&
-                    (queryLoadBalancerTenantID == null ||
-                            queryLoadBalancerTenantID.equals(nsg.getTenantID())) &&
-                    (queryLoadBalancerName == null ||
-                            queryLoadBalancerName.equals(nsg.getLoadBalancerName())) &&
-                    (queryLoadBalancerDescription == null ||
-                            queryLoadBalancerDescription.equals(nsg.getLoadBalancerDescription())) &&
-                    (queryLoadBalancerVipAddress == null ||
-                            queryLoadBalancerVipAddress.equals(nsg.getLoadBalancerVipAddress())) &&
-                    (queryLoadBalancerVipSubnet == null ||
-                            queryLoadBalancerVipSubnet.equals(nsg.getLoadBalancerVipSubnetID()))) {
+        List<NeutronLoadBalancer> allLoadBalancers = loadBalancerInterface.getAll();
+        List<NeutronLoadBalancer> ans = new ArrayList<>();
+        for (NeutronLoadBalancer nsg : allLoadBalancers) {
+            if ((queryLoadBalancerID == null || queryLoadBalancerID.equals(nsg.getID()))
+                    && (queryLoadBalancerTenantID == null || queryLoadBalancerTenantID.equals(nsg.getTenantID()))
+                    && (queryLoadBalancerName == null || queryLoadBalancerName.equals(nsg.getName()))
+                    && (queryLoadBalancerVipAddress == null
+                            || queryLoadBalancerVipAddress.equals(nsg.getLoadBalancerVipAddress()))
+                    && (queryLoadBalancerVipSubnet == null
+                            || queryLoadBalancerVipSubnet.equals(nsg.getLoadBalancerVipSubnetID()))) {
                 if (fields.size() > 0) {
-                    ans.add(extractFields(nsg,fields));
+                    ans.add(nsg.extractFields(fields));
                 } else {
                     ans.add(nsg);
                 }
             }
         }
-        return Response.status(HttpURLConnection.HTTP_OK).entity(
-                new NeutronLoadBalancerRequest(ans)).build();
+        return Response.status(HttpURLConnection.HTTP_OK).entity(new NeutronLoadBalancerRequest(ans)).build();
     }
 
     /**
-     * Returns a specific LoadBalancer */
+     * Returns a specific LoadBalancer.
+     */
 
     @Path("{loadBalancerID}")
     @GET
     @Produces({ MediaType.APPLICATION_JSON })
 
-    @StatusCodes({
-            @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
+    @StatusCodes({ @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
             @ResponseCode(code = HttpURLConnection.HTTP_UNAUTHORIZED, condition = "Unauthorized"),
             @ResponseCode(code = HttpURLConnection.HTTP_NOT_FOUND, condition = "Not Found"),
             @ResponseCode(code = HttpURLConnection.HTTP_NOT_IMPLEMENTED, condition = "Not Implemented"),
@@ -197,45 +122,45 @@ public class NeutronLoadBalancerNorthbound
     }
 
     /**
-     * Creates new LoadBalancer */
+     * Creates new LoadBalancer.
+     */
 
     @POST
     @Produces({ MediaType.APPLICATION_JSON })
     @Consumes({ MediaType.APPLICATION_JSON })
 
-    @StatusCodes({
-            @ResponseCode(code = HttpURLConnection.HTTP_CREATED, condition = "Created"),
+    @StatusCodes({ @ResponseCode(code = HttpURLConnection.HTTP_CREATED, condition = "Created"),
             @ResponseCode(code = HttpURLConnection.HTTP_UNAVAILABLE, condition = "No providers available") })
     public Response createLoadBalancers(final NeutronLoadBalancerRequest input) {
         return create(input);
     }
 
     /**
-     * Updates a LoadBalancer Policy
+     * Updates a LoadBalancer Policy.
      */
     @Path("{loadBalancerID}")
     @PUT
     @Produces({ MediaType.APPLICATION_JSON })
     @Consumes({ MediaType.APPLICATION_JSON })
 
-    @StatusCodes({
-            @ResponseCode(code = HttpURLConnection.HTTP_OK, condition = "Operation successful"),
+    @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 updateLoadBalancer(
-            @PathParam("loadBalancerID") String loadBalancerID, final NeutronLoadBalancerRequest input) {
+    public Response updateLoadBalancer(@PathParam("loadBalancerID") String loadBalancerID,
+            final NeutronLoadBalancerRequest input) {
         return update(loadBalancerID, input);
     }
 
     /**
-     * Deletes a LoadBalancer */
+     * Deletes a LoadBalancer.
+     */
 
     @Path("{loadBalancerID}")
     @DELETE
-    @StatusCodes({
-            @ResponseCode(code = HttpURLConnection.HTTP_NO_CONTENT, condition = "No Content"),
+    @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 deleteLoadBalancer(
-            @PathParam("loadBalancerID") String loadBalancerID) {
+    public Response deleteLoadBalancer(@PathParam("loadBalancerID") String loadBalancerID) {
         return delete(loadBalancerID);
     }
 }