Explicitly return NO CONTENT type response for http DELETE request
Change-Id: I920084b92197bb1687e7d978ad350b2e1290ecbc
diff --git a/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java b/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java
index 9086f13a..d880121 100644
--- a/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java
+++ b/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java
@@ -113,25 +113,25 @@
* Remove ACL rule.
*
* @param id ACL rule id (in hex string format)
- * @return 200 OK
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{id}")
public Response removeAclRule(@PathParam("id") String id) {
RuleId ruleId = new RuleId(Long.parseLong(id.substring(2), 16));
get(AclService.class).removeAclRule(ruleId);
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
* Remove all ACL rules.
*
- * @return 200 OK
+ * @return 204 NO CONTENT
*/
@DELETE
public Response clearAcl() {
get(AclService.class).clearAcl();
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2NetworksWebResource.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2NetworksWebResource.java
index 57c16d9..ebb3be4 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2NetworksWebResource.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2NetworksWebResource.java
@@ -58,10 +58,8 @@
@DELETE
@Path("{id}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
public Response deleteNetwork(@PathParam("id") String id) {
log.trace(String.format(NETWORKS_MESSAGE, "delete"));
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
index 1c37a2d..17d48a5 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
@@ -108,10 +108,8 @@
@Path("{id}")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
public Response deletePorts(@PathParam("id") String id) {
log.trace(String.format(PORTS_MESSAGE, "delete"));
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2SubnetsWebResource.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2SubnetsWebResource.java
index 75de452..c6b9544 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2SubnetsWebResource.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2SubnetsWebResource.java
@@ -60,10 +60,8 @@
@DELETE
@Path("{id}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
public Response deleteSubnet(@PathParam("id") String id) {
log.trace(String.format(SUBNETS_MESSAGE, "delete"));
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java
index aeebd23..c4b7c52 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java
@@ -79,14 +79,13 @@
*
* @param tServiceId tenant service id
* @param pServiceId provider service id
- * @return 200 OK, or 400 Bad Request
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{tenantServiceId}/{providerServiceId}")
- @Produces(MediaType.APPLICATION_JSON)
public Response removeServiceDependency(@PathParam("tenantServiceId") String tServiceId,
@PathParam("providerServiceId") String pServiceId) {
service.removeServiceDependency(CordServiceId.of(tServiceId), CordServiceId.of(pServiceId));
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
}
diff --git a/apps/kafka-integration/src/main/java/org/onosproject/kafkaintegration/rest/EventExporterWebResource.java b/apps/kafka-integration/src/main/java/org/onosproject/kafkaintegration/rest/EventExporterWebResource.java
index e3b7cc6..9677265 100644
--- a/apps/kafka-integration/src/main/java/org/onosproject/kafkaintegration/rest/EventExporterWebResource.java
+++ b/apps/kafka-integration/src/main/java/org/onosproject/kafkaintegration/rest/EventExporterWebResource.java
@@ -14,20 +14,8 @@
*/
package org.onosproject.kafkaintegration.rest;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.onosproject.codec.JsonCodec;
import org.onosproject.kafkaintegration.api.EventExporterService;
import org.onosproject.kafkaintegration.api.dto.EventSubscriber;
@@ -36,8 +24,18 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.io.InputStream;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
/**
* Rest Interfaces for subscribing/unsubscribing to event notifications.
@@ -85,8 +83,6 @@
* @onos.rsModel KafkaRegistration
*/
@DELETE
- @Produces(MediaType.APPLICATION_JSON)
- @Consumes(MediaType.APPLICATION_JSON)
@Path("unregister")
public Response removeKafkaListener(String appName) {
EventExporterService service = get(EventExporterService.class);
@@ -148,7 +144,7 @@
* @onos.rsModel KafkaSubscription
*/
@DELETE
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
@Path("unsubscribe")
public Response unsubscribe(InputStream input) {
diff --git a/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java b/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java
index 2e6248e4..84536ac 100644
--- a/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java
+++ b/apps/olt/app/src/main/java/org/onosproject/olt/rest/OltWebResource.java
@@ -66,10 +66,9 @@
*
* @param device device id
* @param port port number
- * @return 200 OK
+ * @return 204 NO CONTENT
*/
@DELETE
- @Produces(MediaType.APPLICATION_JSON)
@Path("{device}/{port}")
public Response removeSubscriber(
@PathParam("device")String device,
@@ -79,6 +78,6 @@
PortNumber portNumber = PortNumber.portNumber(port);
ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber);
service.removeSubscriber(connectPoint);
- return ok("").build();
+ return Response.noContent().build();
}
}
diff --git a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpensatckRouterWebResource.java b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpensatckRouterWebResource.java
index 3ad0791..d73ff4f 100644
--- a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpensatckRouterWebResource.java
+++ b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpensatckRouterWebResource.java
@@ -143,7 +143,6 @@
@DELETE
@Path("{id}")
- @Produces(MediaType.APPLICATION_JSON)
public Response deleteRouter(@PathParam("id") String id) {
checkNotNull(id);
OpenstackRoutingService routingService
@@ -151,7 +150,7 @@
routingService.deleteRouter(id);
log.debug("REST API DELETE routers is called {}", id);
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
@PUT
diff --git a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackFloatingIpWebResource.java b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackFloatingIpWebResource.java
index 8940463..bd6c2c9 100644
--- a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackFloatingIpWebResource.java
+++ b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackFloatingIpWebResource.java
@@ -125,7 +125,7 @@
* Delete FloatingIP.
*
* @param id FloatingIP identifier
- * @return 200 OK
+ * @return 204 OK
*/
@DELETE
@Path("{id}")
@@ -139,7 +139,7 @@
log.debug("REST API DELETE floatingip is called {}", id);
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
}
diff --git a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkWebResource.java b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkWebResource.java
index d2a0c8b..c547b2e 100644
--- a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkWebResource.java
+++ b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackNetworkWebResource.java
@@ -57,9 +57,8 @@
@DELETE
@Path("{id}")
@Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
public Response deleteNetwork(InputStream input) {
log.debug("REST API networks is called {}", input.toString());
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
}
diff --git a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackPortWebResource.java b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackPortWebResource.java
index a4f4ccb..af46e7b 100644
--- a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackPortWebResource.java
+++ b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackPortWebResource.java
@@ -72,7 +72,6 @@
}
@Path("{portUUID}")
- @Produces(MediaType.APPLICATION_JSON)
@DELETE
public Response deletePorts(@PathParam("portUUID") String id) {
OpenstackSwitchingService switchingService =
@@ -85,7 +84,7 @@
switchingService.removePort(id);
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
@PUT
diff --git a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackSubnetWebResource.java b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackSubnetWebResource.java
index d2a1f4c..d87021d 100644
--- a/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackSubnetWebResource.java
+++ b/apps/openstacknetworking/web/src/main/java/org/onosproject/openstacknetworking/web/OpenstackSubnetWebResource.java
@@ -57,10 +57,7 @@
@DELETE
@Path("{subnetId}")
- @Produces(MediaType.APPLICATION_JSON)
public Response deleteSubnet(@PathParam("subnetId") String id) {
- return Response.status(Response.Status.OK).build();
+ return Response.noContent().build();
}
-
-
}
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/PolicyWebResource.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/PolicyWebResource.java
index 45af70e..9a19c37 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/PolicyWebResource.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/PolicyWebResource.java
@@ -64,7 +64,6 @@
*
* @param input JSON stream for policy to create
* @return status of the request - OK if the policy is created,
- * INTERNAL_SERVER_ERROR if the JSON is invalid or the policy cannot be created
* @throws IOException if JSON processing fails
*/
@POST
@@ -87,8 +86,7 @@
* Delete a segment routing policy.
*
* @param input JSON stream for policy to delete
- * @return status of the request - OK if the policy is removed,
- * INTERNAL_SERVER_ERROR otherwise
+ * @return 204 NO CONTENT if the policy is removed
* @throws IOException if JSON is invalid
*/
@DELETE
@@ -101,8 +99,7 @@
// TODO: Check the result
srService.removePolicy(policyInfo);
- return Response.ok().build();
-
+ return Response.noContent().build();
}
}
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/TunnelWebResource.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/TunnelWebResource.java
index 217a6b9..94fcd69 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/TunnelWebResource.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/web/TunnelWebResource.java
@@ -64,7 +64,6 @@
*
* @param input JSON stream for tunnel to create
* @return status of the request - OK if the tunnel is created,
- * INTERNAL_SERVER_ERROR if the JSON is invalid or the tunnel cannot be created
* @throws IOException if the JSON is invalid
*/
@POST
@@ -83,8 +82,7 @@
* Delete a segment routing tunnel.
*
* @param input JSON stream for tunnel to delete
- * @return status of the request - OK if the tunnel is removed,
- * INTERNAL_SERVER_ERROR otherwise
+ * @return 204 NO CONTENT, if the tunnel is removed
* @throws IOException if JSON is invalid
*/
@DELETE
@@ -96,7 +94,7 @@
Tunnel tunnelInfo = TUNNEL_CODEC.decode(tunnelJson, this);
srService.removeTunnel(tunnelInfo);
- return Response.ok().build();
+ return Response.noContent().build();
}
}
diff --git a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java
index 9f42191..72f2d3d 100644
--- a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java
+++ b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java
@@ -89,15 +89,16 @@
* Delete a virtual BNG connection.
*
* @param privateIp IP Address for the BNG private network
- * @return public IP address for the new connection
+ * @return 200 OK
*/
@DELETE
@Path("{privateip}")
- public String privateIpDeleteNotification(@PathParam("privateip")
+ public Response privateIpDeleteNotification(@PathParam("privateip")
String privateIp) {
+ String result;
if (privateIp == null) {
log.info("Private IP address to delete is null");
- return "0";
+ result = "0";
}
log.info("Received a private IP address : {} to delete", privateIp);
IpAddress privateIpAddress = IpAddress.valueOf(privateIp);
@@ -109,10 +110,11 @@
assignedPublicIpAddress = vbngService.deleteVbng(privateIpAddress);
if (assignedPublicIpAddress != null) {
- return assignedPublicIpAddress.toString();
+ result = assignedPublicIpAddress.toString();
} else {
- return "0";
+ result = "0";
}
+ return Response.ok().entity(result).build();
}
/**
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FloatingIpWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FloatingIpWebResource.java
index d4b269c..c5ddb07 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FloatingIpWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FloatingIpWebResource.java
@@ -15,21 +15,25 @@
*/
package org.onosproject.vtnweb.resources;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-import static javax.ws.rs.core.Response.Status.CREATED;
-import static javax.ws.rs.core.Response.Status.CONFLICT;
-import static javax.ws.rs.core.Response.Status.NO_CONTENT;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.Sets;
+import org.onlab.packet.IpAddress;
+import org.onlab.util.ItemNotFoundException;
+import org.onosproject.rest.AbstractWebResource;
+import org.onosproject.vtnrsc.DefaultFloatingIp;
+import org.onosproject.vtnrsc.FloatingIp;
+import org.onosproject.vtnrsc.FloatingIp.Status;
+import org.onosproject.vtnrsc.FloatingIpId;
+import org.onosproject.vtnrsc.RouterId;
+import org.onosproject.vtnrsc.TenantId;
+import org.onosproject.vtnrsc.TenantNetworkId;
+import org.onosproject.vtnrsc.VirtualPortId;
+import org.onosproject.vtnrsc.floatingip.FloatingIpService;
+import org.onosproject.vtnweb.web.FloatingIpCodec;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -42,27 +46,20 @@
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
-import org.onlab.packet.IpAddress;
-import org.onlab.util.ItemNotFoundException;
-import org.onosproject.rest.AbstractWebResource;
-import org.onosproject.vtnrsc.DefaultFloatingIp;
-import org.onosproject.vtnrsc.FloatingIp;
-import org.onosproject.vtnrsc.FloatingIpId;
-import org.onosproject.vtnrsc.TenantId;
-import org.onosproject.vtnrsc.TenantNetworkId;
-import org.onosproject.vtnrsc.VirtualPortId;
-import org.onosproject.vtnrsc.RouterId;
-import org.onosproject.vtnrsc.FloatingIp.Status;
-import org.onosproject.vtnrsc.floatingip.FloatingIpService;
-import org.onosproject.vtnweb.web.FloatingIpCodec;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Sets;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
+import static javax.ws.rs.core.Response.Status.CONFLICT;
+import static javax.ws.rs.core.Response.Status.CREATED;
+import static javax.ws.rs.core.Response.Status.NOT_FOUND;
@Path("floatingips")
public class FloatingIpWebResource extends AbstractWebResource {
@@ -165,7 +162,7 @@
if (!result) {
return Response.status(CONFLICT).entity(DELETE_FAIL).build();
}
- return Response.status(NO_CONTENT).entity(DELETE_SUCCESS).build();
+ return Response.noContent().entity(DELETE_SUCCESS).build();
} catch (Exception e) {
return Response.status(NOT_FOUND).entity(e.getMessage()).build();
}
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FlowClassifierWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FlowClassifierWebResource.java
index 6099769..10cb399 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FlowClassifierWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/FlowClassifierWebResource.java
@@ -149,16 +149,16 @@
/**
* Delete details of a flow classifier.
*
- * @param id
- * flow classifier id
+ * @param id flow classifier id
+ * @return 204 NO CONTENT
*/
@Path("{flow_id}")
@DELETE
- public void deleteFlowClassifier(@PathParam("flow_id") String id) {
+ public Response deleteFlowClassifier(@PathParam("flow_id") String id) {
log.debug("Deletes flow classifier by identifier {}.", id);
FlowClassifierId flowClassifierId = FlowClassifierId.of(id);
Boolean issuccess = nullIsNotFound(get(FlowClassifierService.class).removeFlowClassifier(flowClassifierId),
FLOW_CLASSIFIER_NOT_FOUND);
-
+ return Response.noContent().build();
}
}
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortChainWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortChainWebResource.java
index 81e2940..d5948cc 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortChainWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortChainWebResource.java
@@ -146,10 +146,11 @@
* Delete details of a specified port chain id.
*
* @param id port chain id
+ * @return 204 NO CONTENT
*/
@Path("{chain_id}")
@DELETE
- public void deletePortPain(@PathParam("chain_id") String id) {
+ public Response deletePortPain(@PathParam("chain_id") String id) {
log.debug("Deletes port chain by identifier {}.", id);
PortChainId portChainId = PortChainId.of(id);
@@ -158,5 +159,6 @@
if (!issuccess) {
log.debug("Port Chain identifier {} does not exist", id);
}
+ return Response.noContent().build();
}
}
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairGroupWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairGroupWebResource.java
index 34fe255..68fc6bd 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairGroupWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairGroupWebResource.java
@@ -153,10 +153,11 @@
* Delete details of a specified port pair group id.
*
* @param id port pair group id
+ * @return 204 NO CONTENT
*/
@Path("{group_id}")
@DELETE
- public void deletePortPairGroup(@PathParam("group_id") String id) {
+ public Response deletePortPairGroup(@PathParam("group_id") String id) {
log.debug("Deletes port pair group by identifier {}.", id);
PortPairGroupId portPairGroupId = PortPairGroupId.of(id);
Boolean issuccess = nullIsNotFound(get(PortPairGroupService.class).removePortPairGroup(portPairGroupId),
@@ -164,5 +165,7 @@
if (!issuccess) {
log.debug("Port pair group identifier {} does not exist", id);
}
+
+ return Response.noContent().build();
}
}
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairWebResource.java
index 5b4945c..34bea37 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/PortPairWebResource.java
@@ -145,15 +145,17 @@
* Delete details of a specified port pair id.
*
* @param id port pair id
+ * @return 204 NO CONTENT
*/
@Path("{pair_id}")
@DELETE
- public void deletePortPair(@PathParam("pair_id") String id) {
+ public Response deletePortPair(@PathParam("pair_id") String id) {
PortPairId portPairId = PortPairId.of(id);
Boolean isSuccess = nullIsNotFound(get(PortPairService.class).removePortPair(portPairId), PORT_PAIR_NOT_FOUND);
if (!isSuccess) {
log.debug("Port pair identifier {} does not exist", id);
}
+ return Response.noContent().build();
}
}
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/RouterWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/RouterWebResource.java
index d7389b7..f8b87cc 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/RouterWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/RouterWebResource.java
@@ -15,37 +15,11 @@
*/
package org.onosproject.vtnweb.resources;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
-import static javax.ws.rs.core.Response.Status.CONFLICT;
-import static javax.ws.rs.core.Response.Status.CREATED;
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-import static javax.ws.rs.core.Response.Status.NO_CONTENT;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import org.onlab.packet.IpAddress;
import org.onlab.util.ItemNotFoundException;
import org.onosproject.rest.AbstractWebResource;
@@ -66,11 +40,34 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentMap;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
+import static javax.ws.rs.core.Response.Status.CONFLICT;
+import static javax.ws.rs.core.Response.Status.CREATED;
+import static javax.ws.rs.core.Response.Status.NOT_FOUND;
@Path("routers")
public class RouterWebResource extends AbstractWebResource {
@@ -168,7 +165,7 @@
RouterId routerId = RouterId.valueOf(id);
Set<RouterId> routerIds = Sets.newHashSet(routerId);
get(RouterService.class).removeRouters(routerIds);
- return Response.status(NO_CONTENT).entity(DELETE_SUCCESS).build();
+ return Response.noContent().entity(DELETE_SUCCESS).build();
} catch (Exception e) {
return Response.status(BAD_REQUEST).entity(e.getMessage()).build();
}
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/SubnetWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/SubnetWebResource.java
index 5d1ccad..e77358d 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/SubnetWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/SubnetWebResource.java
@@ -158,7 +158,7 @@
Set<SubnetId> subIds = new HashSet<>();
subIds.add(subId);
get(SubnetService.class).removeSubnets(subIds);
- return Response.status(201).entity("SUCCESS").build();
+ return Response.noContent().entity("SUCCESS").build();
} catch (Exception e) {
return Response.status(INTERNAL_SERVER_ERROR).entity(e.toString())
.build();
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/TenantNetworkWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/TenantNetworkWebResource.java
index f32b131..cf17985 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/TenantNetworkWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/TenantNetworkWebResource.java
@@ -15,18 +15,24 @@
*/
package org.onosproject.vtnweb.resources;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkArgument;
-import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
-import static javax.ws.rs.core.Response.Status.OK;
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.Maps;
+import org.onlab.util.ItemNotFoundException;
+import org.onosproject.rest.AbstractWebResource;
+import org.onosproject.vtnrsc.DefaultTenantNetwork;
+import org.onosproject.vtnrsc.PhysicalNetwork;
+import org.onosproject.vtnrsc.SegmentationId;
+import org.onosproject.vtnrsc.TenantId;
+import org.onosproject.vtnrsc.TenantNetwork;
+import org.onosproject.vtnrsc.TenantNetwork.State;
+import org.onosproject.vtnrsc.TenantNetwork.Type;
+import org.onosproject.vtnrsc.TenantNetworkId;
+import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService;
+import org.onosproject.vtnweb.web.TenantNetworkCodec;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -39,26 +45,18 @@
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.concurrent.ConcurrentMap;
-import org.onlab.util.ItemNotFoundException;
-import org.onosproject.rest.AbstractWebResource;
-import org.onosproject.vtnrsc.DefaultTenantNetwork;
-import org.onosproject.vtnrsc.PhysicalNetwork;
-import org.onosproject.vtnrsc.SegmentationId;
-import org.onosproject.vtnrsc.TenantId;
-import org.onosproject.vtnrsc.TenantNetwork;
-import org.onosproject.vtnrsc.TenantNetworkId;
-import org.onosproject.vtnrsc.TenantNetwork.State;
-import org.onosproject.vtnrsc.TenantNetwork.Type;
-import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService;
-import org.onosproject.vtnweb.web.TenantNetworkCodec;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Maps;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
+import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static javax.ws.rs.core.Response.Status.OK;
/**
* REST resource for interacting with the inventory of networks.
@@ -253,7 +251,7 @@
return Response.status(INTERNAL_SERVER_ERROR)
.entity(NETWORK_ID_NOT_EXIST).build();
}
- return Response.status(OK).entity(issuccess.toString()).build();
+ return ok(issuccess.toString()).build();
}
/**
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VirtualPortWebResource.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VirtualPortWebResource.java
index f99192c..a635c11 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VirtualPortWebResource.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VirtualPortWebResource.java
@@ -15,32 +15,11 @@
*/
package org.onosproject.vtnweb.resources;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
-import static javax.ws.rs.core.Response.Status.OK;
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import org.onlab.packet.IpAddress;
import org.onlab.packet.MacAddress;
import org.onlab.util.ItemNotFoundException;
@@ -62,11 +41,30 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentMap;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
+import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static javax.ws.rs.core.Response.Status.OK;
/**
* REST resource for interacting with the inventory of infrastructure
@@ -146,7 +144,7 @@
return Response.status(INTERNAL_SERVER_ERROR)
.entity(VPORT_ID_NOT_EXIST).build();
}
- return Response.status(OK).entity(issuccess.toString()).build();
+ return ok(issuccess.toString()).build();
} catch (Exception e) {
log.error("Deletes VirtualPort failed because of exception {}",
e.toString());
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/ApplicationsWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/ApplicationsWebResource.java
index 8d0bc3e..5c63035 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/ApplicationsWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/ApplicationsWebResource.java
@@ -104,16 +104,15 @@
* Uninstalls the specified application deactivating it first if necessary.
*
* @param name application name
- * @return 200 OK; 404; 401
+ * @return 204 NO CONTENT
*/
@DELETE
- @Produces(MediaType.APPLICATION_JSON)
@Path("{name}")
public Response uninstallApp(@PathParam("name") String name) {
ApplicationAdminService service = get(ApplicationAdminService.class);
ApplicationId appId = service.getId(name);
service.uninstall(appId);
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/ComponentConfigWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/ComponentConfigWebResource.java
index 0002c3a..cc57581 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/ComponentConfigWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/ComponentConfigWebResource.java
@@ -20,11 +20,13 @@
import org.onosproject.cfg.ConfigProperty;
import org.onosproject.rest.AbstractWebResource;
+import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
+import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
import java.io.InputStream;
@@ -87,6 +89,7 @@
* @throws IOException to signify bad request
*/
@POST
+ @Consumes(MediaType.APPLICATION_JSON)
@Path("{component}")
public Response setConfigs(@PathParam("component") String component,
InputStream request) throws IOException {
@@ -103,10 +106,11 @@
*
* @param component component name
* @param request JSON configuration
- * @return 200 OK
+ * @return 204 NO CONTENT
* @throws IOException to signify bad request
*/
@DELETE
+ @Consumes(MediaType.APPLICATION_JSON)
@Path("{component}")
public Response unsetConfigs(@PathParam("component") String component,
InputStream request) throws IOException {
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/FlowsWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/FlowsWebResource.java
index 1fdb060..ec32b20 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/FlowsWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/FlowsWebResource.java
@@ -224,11 +224,12 @@
*
* @param deviceId device identifier
* @param flowId flow rule identifier
+ * @return 204 NO CONTENT
*/
@DELETE
@Produces(MediaType.APPLICATION_JSON)
@Path("{deviceId}/{flowId}")
- public void deleteFlowByDeviceIdAndFlowId(@PathParam("deviceId") String deviceId,
+ public Response deleteFlowByDeviceIdAndFlowId(@PathParam("deviceId") String deviceId,
@PathParam("flowId") long flowId) {
final Iterable<FlowEntry> flowEntries =
service.getFlowEntries(DeviceId.deviceId(deviceId));
@@ -240,16 +241,18 @@
StreamSupport.stream(flowEntries.spliterator(), false)
.filter(entry -> entry.id().value() == flowId)
.forEach(service::removeFlowRules);
+ return Response.noContent().build();
}
/**
* Removes a batch of flow rules.
*
* @param stream stream for posted JSON
+ * @return NO CONTENT
*/
@DELETE
@Produces(MediaType.APPLICATION_JSON)
- public void deleteFlows(InputStream stream) {
+ public Response deleteFlows(InputStream stream) {
ListMultimap<DeviceId, Long> deviceMap = ArrayListMultimap.create();
List<FlowEntry> rulesToRemove = new ArrayList<>();
@@ -283,6 +286,7 @@
});
service.removeFlowRules(rulesToRemove.toArray(new FlowEntry[0]));
+ return Response.noContent().build();
}
}
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/GroupsWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/GroupsWebResource.java
index ad9c64e..65a1a2f 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/GroupsWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/GroupsWebResource.java
@@ -172,15 +172,17 @@
*
* @param deviceId device identifier
* @param appCookie application cookie to be used for lookup
+ * @return 204 NO CONTENT
*/
@DELETE
@Produces(MediaType.APPLICATION_JSON)
@Path("{deviceId}/{appCookie}")
- public void deleteGroupByDeviceIdAndAppCookie(@PathParam("deviceId") String deviceId,
- @PathParam("appCookie") String appCookie) {
+ public Response deleteGroupByDeviceIdAndAppCookie(@PathParam("deviceId") String deviceId,
+ @PathParam("appCookie") String appCookie) {
DeviceId deviceIdInstance = DeviceId.deviceId(deviceId);
GroupKey appCookieInstance = new DefaultGroupKey(appCookie.getBytes());
groupService.removeGroup(deviceIdInstance, appCookieInstance, null);
+ return Response.noContent().build();
}
}
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/IntentsWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/IntentsWebResource.java
index d275599..3199bcc 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/IntentsWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/IntentsWebResource.java
@@ -15,25 +15,7 @@
*/
package org.onosproject.rest.resources;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Objects;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
-
+import com.fasterxml.jackson.databind.node.ObjectNode;
import org.onosproject.core.ApplicationId;
import org.onosproject.core.CoreService;
import org.onosproject.net.intent.HostToHostIntent;
@@ -47,7 +29,23 @@
import org.onosproject.rest.AbstractWebResource;
import org.slf4j.Logger;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.core.UriInfo;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Objects;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import static org.onlab.util.Tools.nullIsNotFound;
import static org.onosproject.net.intent.IntentState.FAILED;
@@ -168,10 +166,11 @@
*
* @param appId application identifier
* @param key intent key
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{appId}/{key}")
- public void deleteIntentById(@PathParam("appId") String appId,
+ public Response deleteIntentById(@PathParam("appId") String appId,
@PathParam("key") String key) {
final ApplicationId app = get(CoreService.class).getAppId(appId);
@@ -185,10 +184,9 @@
if (intent == null) {
// No such intent. REST standards recommend a positive status code
// in this case.
- return;
+ return Response.noContent().build();
}
-
Key k = intent.key();
// set up latch and listener to track uninstall progress
@@ -216,6 +214,7 @@
// clean up the listener
service.removeListener(listener);
}
+ return Response.noContent().build();
}
}
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java
index 4e675f6..34a014f 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/MetersWebResource.java
@@ -165,11 +165,11 @@
*
* @param deviceId device identifier
* @param meterId meter identifier
+ * @return 204 NO CONTENT
*/
@DELETE
- @Produces(MediaType.APPLICATION_JSON)
@Path("{deviceId}/{meterId}")
- public void deleteMeterByDeviceIdAndMeterId(@PathParam("deviceId") String deviceId,
+ public Response deleteMeterByDeviceIdAndMeterId(@PathParam("deviceId") String deviceId,
@PathParam("meterId") String meterId) {
DeviceId did = DeviceId.deviceId(deviceId);
MeterId mid = MeterId.meterId(Long.valueOf(meterId));
@@ -178,6 +178,7 @@
final MeterRequest meterRequest = meterToMeterRequest(tmpMeter, "REMOVE");
meterService.withdraw(meterRequest, tmpMeter.id());
}
+ return Response.noContent().build();
}
/**
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/MulticastRouteWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/MulticastRouteWebResource.java
index f87351e..2a3cd8d 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/MulticastRouteWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/MulticastRouteWebResource.java
@@ -87,12 +87,12 @@
* Removes a route from the multicast RIB.
*
* @param stream multicast route JSON
+ * @return 204 NO CONTENT
* @onos.rsModel McastRoutePost
*/
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- public void deleteRoute(InputStream stream) {
+ public Response deleteRoute(InputStream stream) {
MulticastRouteService service = get(MulticastRouteService.class);
try {
ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
@@ -101,5 +101,6 @@
} catch (IOException ex) {
throw new IllegalArgumentException(ex);
}
+ return Response.noContent().build();
}
}
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/NetworkConfigWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/NetworkConfigWebResource.java
index 81e77a9..a39d81c 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/NetworkConfigWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/NetworkConfigWebResource.java
@@ -289,7 +289,7 @@
/**
* Clear entire network configuration base.
*
- * @return empty response
+ * @return 204 NO CONTENT
*/
@DELETE
@SuppressWarnings("unchecked")
@@ -299,22 +299,24 @@
.forEach(subjectClass -> service.getSubjects(subjectClass)
.forEach(subject -> service.getConfigs(subject)
.forEach(config -> service.removeConfig(subject, config.getClass()))));
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
* Clear all network configurations for a subject class.
*
* @param subjectClassKey subject class key
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{subjectClassKey}")
@SuppressWarnings("unchecked")
- public void delete(@PathParam("subjectClassKey") String subjectClassKey) {
+ public Response delete(@PathParam("subjectClassKey") String subjectClassKey) {
NetworkConfigService service = get(NetworkConfigService.class);
service.getSubjects(service.getSubjectFactory(subjectClassKey).subjectClass())
.forEach(subject -> service.getConfigs(subject)
.forEach(config -> service.removeConfig(subject, config.getClass())));
+ return Response.noContent().build();
}
/**
@@ -322,15 +324,17 @@
*
* @param subjectClassKey subjectKey class key
* @param subjectKey subjectKey key
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{subjectClassKey}/{subjectKey}")
@SuppressWarnings("unchecked")
- public void delete(@PathParam("subjectClassKey") String subjectClassKey,
+ public Response delete(@PathParam("subjectClassKey") String subjectClassKey,
@PathParam("subjectKey") String subjectKey) {
NetworkConfigService service = get(NetworkConfigService.class);
Object s = service.getSubjectFactory(subjectClassKey).createSubject(subjectKey);
service.getConfigs(s).forEach(c -> service.removeConfig(s, c.getClass()));
+ return Response.noContent().build();
}
/**
@@ -339,16 +343,18 @@
* @param subjectClassKey subjectKey class key
* @param subjectKey subjectKey key
* @param configKey configuration class key
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{subjectClassKey}/{subjectKey}/{configKey}")
@SuppressWarnings("unchecked")
- public void delete(@PathParam("subjectClassKey") String subjectClassKey,
+ public Response delete(@PathParam("subjectClassKey") String subjectClassKey,
@PathParam("subjectKey") String subjectKey,
@PathParam("configKey") String configKey) {
NetworkConfigService service = get(NetworkConfigService.class);
service.removeConfig(service.getSubjectFactory(subjectClassKey).createSubject(subjectKey),
service.getConfigClass(subjectClassKey, configKey));
+ return Response.noContent().build();
}
}
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/RegionsWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/RegionsWebResource.java
index 3a54eb4..20c080a 100644
--- a/web/api/src/main/java/org/onosproject/rest/resources/RegionsWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/RegionsWebResource.java
@@ -173,11 +173,10 @@
*/
@DELETE
@Path("{regionId}")
- @Produces(MediaType.APPLICATION_JSON)
public Response removeRegion(@PathParam("regionId") String regionId) {
final RegionId rid = RegionId.regionId(regionId);
regionAdminService.removeRegion(rid);
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
@@ -213,13 +212,12 @@
*
* @param regionId region identifier
* @param stream deviceIds JSON stream
- * @return 200 OK, 404 not found
+ * @return 204 NO CONTENT
* @onos.rsModel RegionDeviceIds
*/
@DELETE
@Path("{regionId}/devices")
@Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
public Response removeDevices(@PathParam("regionId") String regionId,
InputStream stream) {
final RegionId rid = RegionId.regionId(regionId);
@@ -230,7 +228,7 @@
throw new IllegalArgumentException(e);
}
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/TenantWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/TenantWebResource.java
index afef7a7..83c6c4d 100755
--- a/web/api/src/main/java/org/onosproject/rest/resources/TenantWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/TenantWebResource.java
@@ -97,7 +97,7 @@
* Removes the specified tenant with the specified tenant identifier.
*
* @param tenantId tenant identifier
- * @return 200 OK, 404 not found
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{tenantId}")
@@ -105,7 +105,7 @@
final TenantId tid = TenantId.tenantId(tenantId);
final TenantId existingTid = getExistingTenantId(vnetAdminService, tid);
vnetAdminService.unregisterTenantId(existingTid);
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
diff --git a/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java b/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java
index 22078c2..252ca53 100755
--- a/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/resources/VirtualNetworkWebResource.java
@@ -135,14 +135,14 @@
* Removes the virtual network with the specified network identifier.
*
* @param networkId network identifier
- * @return 200 OK, 404 not found
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{networkId}")
public Response removeVirtualNetwork(@PathParam("networkId") long networkId) {
NetworkId nid = NetworkId.networkId(networkId);
vnetAdminService.removeVirtualNetwork(nid);
- return Response.ok().build();
+ return Response.noContent().build();
}
// VirtualDevice
@@ -203,7 +203,7 @@
*
* @param networkId network identifier
* @param deviceId device identifier
- * @return 200 OK, 404 not found
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{networkId}/devices/{deviceId}")
@@ -212,7 +212,7 @@
NetworkId nid = NetworkId.networkId(networkId);
DeviceId did = DeviceId.deviceId(deviceId);
vnetAdminService.removeVirtualDevice(nid, did);
- return Response.ok().build();
+ return Response.noContent().build();
}
// VirtualPort
@@ -293,7 +293,7 @@
* @param networkId network identifier
* @param deviceId virtual device identifier
* @param portNum virtual port number
- * @return 200 OK, 404 not found
+ * @return 204 NO CONTENT
*/
@DELETE
@Path("{networkId}/devices/{deviceId}/ports/{portNum}")
@@ -303,7 +303,7 @@
NetworkId nid = NetworkId.networkId(networkId);
vnetAdminService.removeVirtualPort(nid, DeviceId.deviceId(deviceId),
PortNumber.portNumber(portNum));
- return Response.ok().build();
+ return Response.noContent().build();
}
// VirtualLink
@@ -364,7 +364,7 @@
*
* @param networkId network identifier
* @param stream virtual link JSON stream
- * @return 200 OK, 404 not found
+ * @return 204 NO CONTENT
* @onos.rsModel VirtualLink
*/
@DELETE
@@ -386,7 +386,7 @@
throw new IllegalArgumentException(e);
}
- return Response.ok().build();
+ return Response.noContent().build();
}
/**
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/RegionsResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/RegionsResourceTest.java
index 155cbd9..574f7e0 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/RegionsResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/RegionsResourceTest.java
@@ -21,6 +21,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
+import org.glassfish.jersey.client.ClientProperties;
import org.hamcrest.Description;
import org.hamcrest.TypeSafeMatcher;
import org.junit.Before;
@@ -383,7 +384,7 @@
WebTarget wt = target();
Response response = wt.path("regions/" + region1.id().toString())
.request().delete();
- assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
verify(mockRegionAdminService);
}
@@ -452,16 +453,16 @@
replay(mockRegionAdminService);
- WebTarget wt = target();
+ WebTarget wt = target()
+ .property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true);
InputStream jsonStream = RegionsResourceTest.class
.getResourceAsStream("region-deviceIds.json");
// FIXME: need to consider whether to use jsonStream for entry deletion
Response response = wt.path("regions/" +
region1.id().toString() + "/devices")
- .request(MediaType.APPLICATION_JSON_TYPE)
- .delete();
- // assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
- // verify(mockRegionAdminService);
+ .request().method("DELETE", Entity.json(jsonStream));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
+ verify(mockRegionAdminService);
}
}
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/TenantWebResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/TenantWebResourceTest.java
index 2f4d65b..eac37d7 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/TenantWebResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/TenantWebResourceTest.java
@@ -289,7 +289,7 @@
.request(MediaType.APPLICATION_JSON_TYPE)
.delete();
- assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
verify(mockVnetAdminService);
}
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java
index dcf2f0b..7c00e55 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/VirtualNetworkWebResourceTest.java
@@ -486,7 +486,7 @@
.request(MediaType.APPLICATION_JSON_TYPE)
.delete();
- assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
verify(mockVnetAdminService);
}
@@ -662,7 +662,7 @@
.request(MediaType.APPLICATION_JSON_TYPE)
.delete();
- assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
verify(mockVnetAdminService);
}
@@ -828,7 +828,7 @@
.request(MediaType.APPLICATION_JSON_TYPE)
.delete();
- assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
verify(mockVnetAdminService);
}
@@ -1034,7 +1034,7 @@
String reqLocation = "vnets/" + networkId.toString() + "/links";
Response response = wt.path(reqLocation).request().method("DELETE", Entity.json(jsonStream));
- assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
verify(mockVnetAdminService);
}
}