import org.opendaylight.controller.forwardingrulesmanager.IForwardingRulesManager;
import org.opendaylight.controller.sal.authorization.Privilege;
import org.opendaylight.controller.sal.authorization.UserLevel;
+import org.opendaylight.controller.sal.core.Description;
import org.opendaylight.controller.sal.core.Name;
import org.opendaylight.controller.sal.core.Node;
import org.opendaylight.controller.sal.core.NodeConnector;
public class Flows implements IDaylightWeb {
private static final UserLevel AUTH_LEVEL = UserLevel.CONTAINERUSER;
private static final String WEB_NAME = "Flows";
+
private static final String WEB_ID = "flows";
private static final short WEB_ORDER = 2;
entry.put("flow", flowConfig);
entry.put("name", flowConfig.getName());
Node node = flowConfig.getNode();
- String description = switchManager.getNodeDescription(node);
- entry.put("node", (description.isEmpty() || description
- .equalsIgnoreCase("none")) ? node.toString() : description);
+ entry.put("node", getNodeDesc(node, switchManager));
entry.put("nodeId", node.toString());
flowSet.add(entry);
}
entry.put("ports", port);
// add name
- String description = switchManager.getNodeDescription(node
- .getNode());
- entry.put("name", (description.isEmpty() || description
- .equalsIgnoreCase("none")) ? node.getNode().toString()
- : description);
+ entry.put("name", getNodeDesc(node.getNode(), switchManager));
// add to the node
nodes.put(node.getNode().toString(), entry);
String nodeDesc = node.toString();
SwitchConfig config = switchManager.getSwitchConfig(node
.toString());
- if (config != null) {
- nodeDesc = config.getNodeDescription();
+ if ((config != null) && (config.getProperty(Description.propertyName) != null)) {
+ nodeDesc = ((Description) config.getProperty(Description.propertyName)).getValue();
}
nodes.put(nodeDesc, flows.size());
Status result = new Status(StatusCode.BADREQUEST, "Invalid request");
if (action.equals("add")) {
result = frm.addStaticFlow(flow);
+ DaylightWebUtil.auditlog("Flow", userName, "added", flow.getName(), containerName);
}
return (result.isSuccess()) ? StatusCode.SUCCESS.toString() : result
}
if (action.equals("remove")) {
result = frm.removeStaticFlow(name, node);
+ if(result.isSuccess()) {
+ DaylightWebUtil.auditlog("Flow", userName, "removed", name, containerName);
+ }
} else if (action.equals("toggle")) {
result = frm.toggleStaticFlowStatus(name, node);
+ if(result.isSuccess()) {
+ DaylightWebUtil.auditlog("Flow", userName, "toggled", name, containerName);
+ }
} else {
result = new Status(StatusCode.BADREQUEST, "Unknown action");
}
return (result.isSuccess()) ? StatusCode.SUCCESS.toString() : result
.getDescription();
}
+
+ private String getNodeDesc(Node node, ISwitchManager switchManager) {
+ Description desc = (Description) switchManager.getNodeProp(node, Description.propertyName);
+ String description = (desc == null) ? "" : desc.getValue();
+ return (description.isEmpty() || description.equalsIgnoreCase("none")) ? node.toString() : description;
+ }
+
}