@RequestMapping(value = "/nodeports")
@ResponseBody
- public Map<String, Object> getNodePorts(HttpServletRequest request,
+ public List<NodeJsonBean> getNodePorts(HttpServletRequest request,
@RequestParam(required = false) String container) {
String containerName = (container == null) ? GlobalConstants.DEFAULT
.toString() : container;
return null;
}
-
ISwitchManager switchManager = (ISwitchManager) ServiceHelper
.getInstance(ISwitchManager.class, containerName, this);
if (switchManager == null) {
return null;
}
-
- Map<String, Object> nodes = new HashMap<String, Object>();
- Map<Short, String> port;
+ List<NodeJsonBean> nodeJsonBeans = new ArrayList<NodeJsonBean>();
for (Switch node : switchManager.getNetworkDevices()) {
- port = new HashMap<Short, String>(); // new port
+ NodeJsonBean nodeJsonBean = new NodeJsonBean();
+ List<String> port = new ArrayList<String>();
Set<NodeConnector> nodeConnectorSet = node.getNodeConnectors();
if (nodeConnectorSet != null) {
String nodeConnectorName = ((Name) switchManager
.getNodeConnectorProp(nodeConnector,
Name.NamePropName)).getValue();
- port.put((Short) nodeConnector.getID(), nodeConnectorName
+ port.add(nodeConnectorName
+ "(" + nodeConnector.getID() + ")");
}
}
-
- nodes.put(node.getNode().toString(), port);
+ nodeJsonBean.setNodeId(node.getNode().toString());
+ nodeJsonBean.setNodeName(getNodeDesc(node.getNode().toString(), containerName));
+ nodeJsonBean.setNodePorts(port);
+ nodeJsonBeans.add(nodeJsonBean);
}
- return nodes;
+ return nodeJsonBeans;
}
@RequestMapping(value = "/spanPorts/add", method = RequestMethod.GET)
--- /dev/null
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.controller.devices.web;
+
+import java.util.List;
+
+public class NodeJsonBean {
+ String nodeId;
+ String nodeName;
+ List<String> nodePorts;
+
+ public String getNodeId() {
+ return nodeId;
+ }
+
+ public String getNodeName() {
+ return nodeName;
+ }
+
+ public List<String> getNodePorts() {
+ return nodePorts;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ public void setNodeName(String nodeName) {
+ this.nodeName = nodeName;
+ }
+
+ public void setNodePorts(List<String> port) {
+ this.nodePorts = port;
+ }
+
+}
// bind onchange
$select.change(function() {
// retrieve port value
- var node = $(this).find('option:selected').attr('value');
- one.f.switchmanager.spanPortConfig.registry['currentNode'] = node;
+ var nodeId = $(this).find('option:selected').attr('value');
+ one.f.switchmanager.spanPortConfig.registry['currentNode'] = nodeId;
var $ports = $('#' + one.f.switchmanager.spanPortConfig.id.modal.form.port);
- var ports = nodeports[node];
- one.lib.form.select.inject($ports, ports);
+ var ports = one.f.switchmanager.spanPortConfig.registry['nodePorts'][nodeId]
+ one.lib.form.select.inject($ports, ports);
});
$fieldset.append($label).append($select);
ajax: {
nodes: function(callback) {
$.getJSON(one.f.switchmanager.rootUrl + "/nodeports", function(data) {
- var nodes = one.f.switchmanager.spanPortConfig.modal.data.nodes(data);
- var nodeports = data;
- one.f.switchmanager.spanPortConfig.registry['nodeports'] = nodeports;
- callback(nodes, nodeports);
+ var nodes = {};
+ var nodePorts = {};
+ $(data).each(function(index, node) {
+ nodes[node.nodeId] = node.nodeName;
+ nodePorts[node.nodeId] = node.nodePorts;
+ });
+ one.f.switchmanager.spanPortConfig.registry['nodePorts'] = nodePorts;
+ callback(nodes, nodePorts);
});
},
saveSpanPortConfig: function(requestData, callback) {
});
}
},
- data : {
- nodes : function(data) {
- result = {};
- $.each(data, function(key, value) {
- result[key] = key;
- });
- return result;
- }
- },
footer : function() {
var footer = [];
var saveButton = one.lib.dashlet.button.single("Save", one.f.switchmanager.spanPortConfig.id.modal.save, "btn-success", "");