X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fweb%2Fdevices%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fdevices%2Fweb%2FDevices.java;h=ec59ab740b76e14ca69b6e39643b4a20761fc1ae;hb=3de02c0d3a9fad575f326f022a562042e3034fbe;hp=c7ba7aab1e4b258706c82055e99a81f4edf14aaa;hpb=03000d42fde81a2f8b35976ac5b93823dade3d27;p=controller.git diff --git a/opendaylight/web/devices/src/main/java/org/opendaylight/controller/devices/web/Devices.java b/opendaylight/web/devices/src/main/java/org/opendaylight/controller/devices/web/Devices.java index c7ba7aab1e..ec59ab740b 100644 --- a/opendaylight/web/devices/src/main/java/org/opendaylight/controller/devices/web/Devices.java +++ b/opendaylight/web/devices/src/main/java/org/opendaylight/controller/devices/web/Devices.java @@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletResponse; import org.codehaus.jackson.map.ObjectMapper; import org.opendaylight.controller.usermanager.IUserManager; +import org.opendaylight.controller.web.DaylightWebUtil; import org.opendaylight.controller.web.IDaylightWeb; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -55,7 +56,6 @@ public class Devices implements IDaylightWeb { private final String WEB_NAME = "Devices"; private final String WEB_ID = "devices"; private final short WEB_ORDER = 1; - private final String containerName = GlobalConstants.DEFAULT.toString(); public Devices() { ServiceHelper.registerGlobalService(IDaylightWeb.class, this, null); @@ -83,8 +83,9 @@ public class Devices implements IDaylightWeb { @RequestMapping(value = "/nodesLearnt", method = RequestMethod.GET) @ResponseBody - public DevicesJsonBean getNodesLearnt() { + public DevicesJsonBean getNodesLearnt(HttpServletRequest request, @RequestParam(required = false) String container) { Gson gson = new Gson(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); List> nodeData = new ArrayList>(); @@ -175,12 +176,13 @@ public class Devices implements IDaylightWeb { @RequestParam("nodeId") String nodeId, @RequestParam("tier") String tier, @RequestParam("operationMode") String operationMode, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean resultBean = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); @@ -199,11 +201,15 @@ public class Devices implements IDaylightWeb { @RequestMapping(value = "/staticRoutes", method = RequestMethod.GET) @ResponseBody - public DevicesJsonBean getStaticRoutes() { + public DevicesJsonBean getStaticRoutes(HttpServletRequest request, @RequestParam(required = false) String container) { Gson gson = new Gson(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); IForwardingStaticRouting staticRouting = (IForwardingStaticRouting) ServiceHelper .getInstance(IForwardingStaticRouting.class, containerName, this); + if (staticRouting == null) { + return null; + } List> staticRoutes = new ArrayList>(); ConcurrentMap routeConfigs = staticRouting .getStaticRouteConfigs(); @@ -230,12 +236,14 @@ public class Devices implements IDaylightWeb { public StatusJsonBean addStaticRoute( @RequestParam("routeName") String routeName, @RequestParam("staticRoute") String staticRoute, - @RequestParam("nextHop") String nextHop, HttpServletRequest request) { + @RequestParam("nextHop") String nextHop, + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean result = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { IForwardingStaticRouting staticRouting = (IForwardingStaticRouting) ServiceHelper .getInstance(IForwardingStaticRouting.class, containerName, @@ -263,12 +271,13 @@ public class Devices implements IDaylightWeb { @ResponseBody public StatusJsonBean deleteStaticRoute( @RequestParam("routesToDelete") String routesToDelete, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean resultBean = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { IForwardingStaticRouting staticRouting = (IForwardingStaticRouting) ServiceHelper .getInstance(IForwardingStaticRouting.class, containerName, @@ -297,9 +306,10 @@ public class Devices implements IDaylightWeb { @RequestMapping(value = "/subnets", method = RequestMethod.GET) @ResponseBody - public DevicesJsonBean getSubnetGateways() { + public DevicesJsonBean getSubnetGateways(HttpServletRequest request, @RequestParam(required = false) String container) { Gson gson = new Gson(); List> subnets = new ArrayList>(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); for (SubnetConfig conf : switchManager.getSubnetsConfigList()) { @@ -320,12 +330,13 @@ public class Devices implements IDaylightWeb { public StatusJsonBean addSubnetGateways( @RequestParam("gatewayName") String gatewayName, @RequestParam("gatewayIPAddress") String gatewayIPAddress, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean resultBean = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); @@ -350,12 +361,13 @@ public class Devices implements IDaylightWeb { @ResponseBody public StatusJsonBean deleteSubnetGateways( @RequestParam("gatewaysToDelete") String gatewaysToDelete, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean resultBean = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); @@ -382,12 +394,14 @@ public class Devices implements IDaylightWeb { public StatusJsonBean addSubnetGatewayPort( @RequestParam("portsName") String portsName, @RequestParam("ports") String ports, - @RequestParam("nodeId") String nodeId, HttpServletRequest request) { + @RequestParam("nodeId") String nodeId, + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean resultBean = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); @@ -414,12 +428,13 @@ public class Devices implements IDaylightWeb { public StatusJsonBean deleteSubnetGatewayPort( @RequestParam("gatewayName") String gatewayName, @RequestParam("nodePort") String nodePort, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } StatusJsonBean resultBean = new StatusJsonBean(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); try { ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); @@ -443,9 +458,10 @@ public class Devices implements IDaylightWeb { @RequestMapping(value = "/spanPorts", method = RequestMethod.GET) @ResponseBody - public DevicesJsonBean getSpanPorts() { + public DevicesJsonBean getSpanPorts(HttpServletRequest request, @RequestParam(required = false) String container) { Gson gson = new Gson(); List spanConfigs_json = new ArrayList(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); for (SpanConfig conf : switchManager.getSpanConfigList()) { @@ -463,7 +479,7 @@ public class Devices implements IDaylightWeb { config.put(name, config_data.get(name)); // Add switch name value (non-configuration field) config.put("nodeName", - getNodeDesc(config_data.get("nodeId"))); + getNodeDesc(config_data.get("nodeId"), containerName)); } config.put("json", config_json); spanConfigs.add(config); @@ -479,7 +495,8 @@ public class Devices implements IDaylightWeb { @RequestMapping(value = "/nodeports") @ResponseBody - public Map getNodePorts() { + public Map getNodePorts(HttpServletRequest request, @RequestParam(required = false) String container) { + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); if (switchManager == null) @@ -511,7 +528,7 @@ public class Devices implements IDaylightWeb { @ResponseBody public StatusJsonBean addSpanPort( @RequestParam("jsonData") String jsonData, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } @@ -519,6 +536,7 @@ public class Devices implements IDaylightWeb { StatusJsonBean resultBean = new StatusJsonBean(); try { Gson gson = new Gson(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); SpanConfig cfgObject = gson.fromJson(jsonData, SpanConfig.class); @@ -542,7 +560,7 @@ public class Devices implements IDaylightWeb { @ResponseBody public StatusJsonBean deleteSpanPorts( @RequestParam("spanPortsToDelete") String spanPortsToDelete, - HttpServletRequest request) { + HttpServletRequest request, @RequestParam(required = false) String container) { if (!authorize(UserLevel.NETWORKADMIN, request)) { return unauthorizedMessage(); } @@ -550,6 +568,7 @@ public class Devices implements IDaylightWeb { StatusJsonBean resultBean = new StatusJsonBean(); try { Gson gson = new Gson(); + String containerName = DaylightWebUtil.getAuthorizedContainer(request, container, this); ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); String[] spans = spanPortsToDelete.split("###"); @@ -575,7 +594,7 @@ public class Devices implements IDaylightWeb { return resultBean; } - private String getNodeDesc(String nodeId) { + private String getNodeDesc(String nodeId, String containerName) { ISwitchManager switchManager = (ISwitchManager) ServiceHelper .getInstance(ISwitchManager.class, containerName, this); String description = "";