- for (Switch device : switchManager.getNetworkDevices()) {
- HashMap<String, String> nodeDatum = new HashMap<String, String>();
- Node node = device.getNode();
- Tier tier = (Tier) switchManager.getNodeProp(node,
- Tier.TierPropName);
-
- nodeDatum.put("containerName", containerName);
- nodeDatum.put("nodeName", switchManager.getNodeDescription(node));
- nodeDatum.put("nodeId", node.toString());
- int tierNumber = (tier == null) ? TierHelper.unknownTierNumber
- : tier.getValue();
- nodeDatum.put("tierName", TierHelper.getTierName(tierNumber)
- + " (Tier-" + tierNumber + ")");
- nodeDatum.put("tier", tierNumber + "");
- SwitchConfig sc = switchManager.getSwitchConfig(device.getNode()
- .toString());
- String modeStr = (sc != null) ? sc.getMode() : "0";
- nodeDatum.put("mode", modeStr);
-
- nodeDatum.put("json", gson.toJson(nodeDatum));
- nodeDatum.put("mac",
- HexEncode.bytesToHexString(device.getDataLayerAddress()));
- StringBuffer sb1 = new StringBuffer();
- Set<NodeConnector> nodeConnectorSet = device.getNodeConnectors();
- if (nodeConnectorSet != null && nodeConnectorSet.size() > 0) {
- Map<Short, String> portList = new HashMap<Short, String>();
- for (NodeConnector nodeConnector : nodeConnectorSet) {
- String nodeConnectorNumberToStr = nodeConnector.getID().toString();
- Name ncName = ((Name) switchManager.getNodeConnectorProp(
- nodeConnector, Name.NamePropName));
- Config portStatus = ((Config) switchManager
- .getNodeConnectorProp(nodeConnector,
- Config.ConfigPropName));
-
- String nodeConnectorName = (ncName != null) ? ncName.getValue()
- : "";
- nodeConnectorName += " ("+nodeConnector.getID()+")";
-
- if (portStatus != null) {
- if (portStatus.getValue() == Config.ADMIN_UP) {
- nodeConnectorName = "<span style='color:green;'>"+nodeConnectorName+"</span>";
- } else if (portStatus.getValue() == Config.ADMIN_DOWN) {
- nodeConnectorName = "<span style='color:red;'>"+nodeConnectorName+"</span>";
+ if (switchManager != null && privilege != Privilege.NONE) {
+ for (Switch device : switchManager.getNetworkDevices()) {
+ HashMap<String, String> nodeDatum = new HashMap<String, String>();
+ Node node = device.getNode();
+ Tier tier = (Tier) switchManager.getNodeProp(node, Tier.TierPropName);
+ nodeDatum.put("containerName", containerName);
+ Description description = (Description) switchManager.getNodeProp(node, Description.propertyName);
+ String desc = (description == null) ? "" : description.getValue();
+ nodeDatum.put("nodeName", desc);
+ nodeDatum.put("nodeId", node.toString());
+ int tierNumber = (tier == null) ? TierHelper.unknownTierNumber : tier.getValue();
+ nodeDatum.put("tierName", TierHelper.getTierName(tierNumber) + " (Tier-" + tierNumber + ")");
+ nodeDatum.put("tier", tierNumber + "");
+ String modeStr = "0";
+ ForwardingMode mode = null;
+ if (!containerName.equals(GlobalConstants.DEFAULT.toString())) {
+ ISwitchManager switchManagerDefault = (ISwitchManager) ServiceHelper.getInstance(
+ ISwitchManager.class, GlobalConstants.DEFAULT.toString(), this);
+ mode = (ForwardingMode) switchManagerDefault.getNodeProp(node, ForwardingMode.name);
+ } else {
+ mode = (ForwardingMode) switchManager.getNodeProp(node, ForwardingMode.name);
+ }
+ if (mode != null) {
+ modeStr = String.valueOf(mode.getValue());
+ }
+ nodeDatum.put("mode", modeStr);
+
+ nodeDatum.put("json", gson.toJson(nodeDatum));
+ nodeDatum.put("mac", HexEncode.bytesToHexString(device.getDataLayerAddress()));
+ StringBuffer sb1 = new StringBuffer();
+ Set<NodeConnector> nodeConnectorSet = device.getNodeConnectors();
+ if (nodeConnectorSet != null && nodeConnectorSet.size() > 0) {
+ Map<Short, String> portList = new HashMap<Short, String>();
+ List<String> intfList = new ArrayList<String>();
+ for (NodeConnector nodeConnector : nodeConnectorSet) {
+ String nodeConnectorNumberToStr = nodeConnector.getID().toString();
+ Name ncName = ((Name) switchManager.getNodeConnectorProp(nodeConnector, Name.NamePropName));
+ Config portStatus = ((Config) switchManager
+ .getNodeConnectorProp(nodeConnector,
+ Config.ConfigPropName));
+ State portState = ((State) switchManager
+ .getNodeConnectorProp(nodeConnector,
+ State.StatePropName));
+ String nodeConnectorName = (ncName != null) ? ncName
+ .getValue() : "";
+ nodeConnectorName += " (" + nodeConnector.getID() + ")";
+
+ if (portStatus != null) {
+ if (portStatus.getValue() == Config.ADMIN_UP) {
+ if (portState.getValue() == State.EDGE_UP) {
+ nodeConnectorName = "<span class='admin-up'>"
+ + nodeConnectorName + "</span>";
+ } else if (portState.getValue() == State.EDGE_DOWN) {
+ nodeConnectorName = "<span class='edge-down'>"
+ + nodeConnectorName + "</span>";
+ }
+ } else if (portStatus.getValue() == Config.ADMIN_DOWN) {
+ nodeConnectorName = "<span class='admin-down'>"
+ + nodeConnectorName + "</span>";
+ }
+ }
+
+ Class<?> idClass = nodeConnector.getID().getClass();
+ if (idClass.equals(Short.class)) {
+ portList.put(
+ Short.parseShort(nodeConnectorNumberToStr),
+ nodeConnectorName);
+ } else {
+ intfList.add(nodeConnectorName);