Fix for JIRA ONOS-4620. Whenever networkconfiguration is deleted even the queued will be removed
Change-Id: I8d7f1a873af90cf86ea34f1a2b1585ef4c3e46e4
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 327d1ca..00daa28 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
@@ -294,28 +294,22 @@
@SuppressWarnings("unchecked")
public Response delete() {
NetworkConfigService service = get(NetworkConfigService.class);
- service.getSubjectClasses()
- .forEach(subjectClass -> service.getSubjects(subjectClass)
- .forEach(subject -> service.getConfigs(subject)
- .forEach(config -> service.removeConfig(subject, config.getClass()))));
- return Response.noContent().build();
+ service.removeConfig();
+ return Response.ok().build();
}
/**
* Clear all network configurations for a subject class.
*
* @param subjectClassKey subject class key
- * @return 204 NO CONTENT
*/
@DELETE
@Path("{subjectClassKey}")
@SuppressWarnings("unchecked")
- public Response delete(@PathParam("subjectClassKey") String subjectClassKey) {
+ public void 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();
+ .forEach(subject -> service.removeConfig(subject));
}
/**
@@ -323,17 +317,14 @@
*
* @param subjectClassKey subjectKey class key
* @param subjectKey subjectKey key
- * @return 204 NO CONTENT
*/
@DELETE
@Path("{subjectClassKey}/{subjectKey}")
@SuppressWarnings("unchecked")
- public Response delete(@PathParam("subjectClassKey") String subjectClassKey,
+ public void 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();
+ service.removeConfig(subjectKey);
}
/**
@@ -342,18 +333,17 @@
* @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 Response delete(@PathParam("subjectClassKey") String subjectClassKey,
+ public void 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();
+ service.removeConfig(subjectClassKey,
+ service.getSubjectFactory(subjectClassKey).createSubject(subjectKey),
+ configKey);
}
}