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=1102a6382e649aa9389528ce5b6d438e5fc2ba8b;hb=d34ec441f8a5f16186e927fc18fa527b9b6ee8e5;hp=4c31dee54225f0350bb3568ddea671ec787571fa;hpb=fbfab4661220d56543ceabbcba5a40b335be1e07;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 4c31dee542..1102a6382e 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>(); @@ -125,10 +126,13 @@ public class Devices implements IDaylightWeb { String nodeConnectorName = (ncName != null) ? ncName.getValue() : ""; nodeConnectorName += " ("+nodeConnector.getID()+")"; - if (portStatus.getValue() == Config.ADMIN_UP) { - nodeConnectorName = ""+nodeConnectorName+""; - } else if (portStatus.getValue() == Config.ADMIN_DOWN) { - nodeConnectorName = ""+nodeConnectorName+""; + + if (portStatus != null) { + if (portStatus.getValue() == Config.ADMIN_UP) { + nodeConnectorName = ""+nodeConnectorName+""; + } else if (portStatus.getValue() == Config.ADMIN_DOWN) { + nodeConnectorName = ""+nodeConnectorName+""; + } } portList.put(Short.parseShort(nodeConnectorNumberToStr), @@ -172,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); @@ -196,8 +201,9 @@ 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); @@ -227,12 +233,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, @@ -260,12 +268,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, @@ -294,9 +303,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()) { @@ -317,12 +327,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); @@ -347,12 +358,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); @@ -379,12 +391,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); @@ -411,12 +425,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); @@ -440,9 +455,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()) { @@ -460,7 +476,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); @@ -476,7 +492,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) @@ -508,7 +525,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(); } @@ -516,6 +533,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); @@ -539,7 +557,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(); } @@ -547,6 +565,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("###"); @@ -572,7 +591,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 = "";