From: Sapan Shah Date: Tue, 27 Aug 2013 05:18:08 +0000 (-0700) Subject: Add Select all checkbox to all datagrids, remove out port and out vlan columns from... X-Git-Tag: releasepom-0.1.0~159^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=5a092f4edd202f6e94626a1bdc0e7f64b223da40;ds=sidebyside Add Select all checkbox to all datagrids, remove out port and out vlan columns from troubleshooting, Change WEB to UI for UI generated requests in audit log Signed-off-by: Sapan Shah Change-Id: I5501698720177e51cfd91127fd9e867823575a44 Signed-off-by: Sapan Shah --- diff --git a/opendaylight/web/devices/src/main/resources/js/page.js b/opendaylight/web/devices/src/main/resources/js/page.js index b90e5cbfa0..6cc2b61d1b 100644 --- a/opendaylight/web/devices/src/main/resources/js/page.js +++ b/opendaylight/web/devices/src/main/resources/js/page.js @@ -449,7 +449,8 @@ one.f.switchmanager.subnetGatewayConfig = { addIPAddress: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_addIP", addPorts: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_addPorts", removeIPAddress: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_removeIP", - datagrid: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_datagrid" + datagrid: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_datagrid", + selectAll: "one_f_switchmanager_subnetGatewayConfig_id_dashlet_selectAll" }, modal: { modal: "one_f_switchmanager_subnetGatewayConfig_id_modal_modal", @@ -496,11 +497,12 @@ one.f.switchmanager.subnetGatewayConfig = { var url = one.f.switchmanager.rootUrl + "/subnetGateway/delete"; one.f.switchmanager.subnetGatewayConfig.ajax.main(url, requestData, function(response) { if (response.status == true) { - // refresh dashlet by passing dashlet div as param - one.f.switchmanager.subnetGatewayConfig.dashlet($("#right-bottom .dashlet")); + // refresh dashlet by passing dashlet div as param + one.lib.alert("Subnet Gateway(s) successfully removed"); } else { - alert(response.message); + one.lib.alert(response.message); } + one.f.switchmanager.subnetGatewayConfig.dashlet($("#right-bottom .dashlet")); }); } }); @@ -524,7 +526,25 @@ one.f.switchmanager.subnetGatewayConfig = { }, "table-striped table-condensed"); $dashlet.append($gridHTML); var dataSource = one.f.switchmanager.subnetGatewayConfig.data.devicesgrid(content); - $("#" + one.f.switchmanager.subnetGatewayConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource}); + $("#" + one.f.switchmanager.subnetGatewayConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource}) + .on("loaded", function() { + $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll).click(function() { + $("#" + one.f.switchmanager.subnetGatewayConfig.id.dashlet.datagrid).find(':checkbox').prop('checked', + $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll).is(':checked')); + }); + $(".subnetGatewayConfig").click(function(){ + if (!$('.subnetGatewayConfig[type=checkbox]:not(:checked)').length) { + $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll) + .prop("checked", + true); + } else { + $("#"+one.f.switchmanager.subnetGatewayConfig.id.dashlet.selectAll) + .prop("checked", + false); + } + event.stopPropagation(); + }); + }); }); }, ajax : { @@ -700,7 +720,8 @@ one.f.switchmanager.subnetGatewayConfig = { columns: [ { property: 'selector', - label: ' ', + label: "", sortable: false }, { @@ -722,7 +743,8 @@ one.f.switchmanager.subnetGatewayConfig = { data: data.nodeData, formatter: function(items) { $.each(items, function(index, tableRow) { - tableRow["selector"] = ''; + tableRow["selector"] = ''; var json = tableRow["nodePorts"]; var nodePorts = JSON.parse(json); var nodePortHtml = "
"; @@ -831,7 +853,8 @@ one.f.switchmanager.staticRouteConfig = { dashlet: { add: "one_f_switchmanager_staticRouteConfig_id_dashlet_add", remove: "one_f_switchmanager_staticRouteConfig_id_dashlet_remove", - datagrid: "one_f_switchmanager_staticRouteConfig_id_dashlet_datagrid" + datagrid: "one_f_switchmanager_staticRouteConfig_id_dashlet_datagrid", + selectAll: "one_f_switchmanager_staticRouteConfig_id_dashlet_selectAll" }, modal: { modal: "one_f_switchmanager_staticRouteConfig_id_modal_modal", @@ -875,11 +898,12 @@ one.f.switchmanager.staticRouteConfig = { var url = one.f.switchmanager.rootUrl + "/staticRoute/delete"; one.f.switchmanager.staticRouteConfig.ajax.main(url, requestData, function(response) { if (response.status == true) { - // refresh dashlet by passing dashlet div as param - one.f.switchmanager.staticRouteConfig.dashlet($("#left-bottom .dashlet")); + // refresh dashlet by passing dashlet div as param + one.lib.alert("Static Routes(s) successfully removed"); } else { - alert(response.message); + one.lib.alert(response.message); } + one.f.switchmanager.staticRouteConfig.dashlet($("#left-bottom .dashlet")); }); } }); @@ -893,7 +917,25 @@ one.f.switchmanager.staticRouteConfig = { }, "table-striped table-condensed"); $dashlet.append($gridHTML); var dataSource = one.f.switchmanager.staticRouteConfig.data.staticRouteConfigGrid(content); - $("#" + one.f.switchmanager.staticRouteConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource}); + $("#" + one.f.switchmanager.staticRouteConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource}) + .on("loaded", function() { + $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll).click(function() { + $("#" + one.f.switchmanager.staticRouteConfig.id.dashlet.datagrid).find(':checkbox').prop('checked', + $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll).is(':checked')); + }); + $(".staticRoute").click(function(){ + if (!$('.staticRoute[type=checkbox]:not(:checked)').length) { + $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll) + .prop("checked", + true); + } else { + $("#"+one.f.switchmanager.staticRouteConfig.id.dashlet.selectAll) + .prop("checked", + false); + } + event.stopPropagation(); + }); + }); }); }, // device ajax calls @@ -981,7 +1023,8 @@ one.f.switchmanager.staticRouteConfig = { columns: [ { property: 'selector', - label: ' ', + label: "", sortable: false }, { @@ -1003,7 +1046,7 @@ one.f.switchmanager.staticRouteConfig = { data: data.nodeData, formatter: function(items) { $.each(items, function(index, item) { - item["selector"] = ''; + item["selector"] = ''; }); }, @@ -1037,7 +1080,8 @@ one.f.switchmanager.spanPortConfig = { dashlet: { add: "one_f_switchmanager_spanPortConfig_id_dashlet_add", remove: "one_f_switchmanager_spanPortConfig_id_dashlet_remove", - datagrid: "one_f_switchmanager_spanPortConfig_id_dashlet_datagrid" + datagrid: "one_f_switchmanager_spanPortConfig_id_dashlet_datagrid", + selectAllFlows: "one_f_switchmanager_spanPortConfig_id_dashlet_selectAllFlows" }, modal: { modal: "one_f_switchmanager_spanPortConfig_id_modal_modal", @@ -1087,10 +1131,11 @@ one.f.switchmanager.spanPortConfig = { one.f.switchmanager.spanPortConfig.ajax.main(url, requestData, function(response) { if (response.status == true) { // refresh dashlet by passing dashlet div as param - one.f.switchmanager.spanPortConfig.dashlet($("#right-bottom .dashlet")); + one.lib.alert("Span Port(s) successfully removed"); } else { - alert(response.message); + one.lib.alert(response.message); } + one.f.switchmanager.spanPortConfig.dashlet($("#right-bottom .dashlet")); }); } }); @@ -1104,10 +1149,25 @@ one.f.switchmanager.spanPortConfig = { }, "table-striped table-condensed"); $dashlet.append($gridHTML); var dataSource = one.f.switchmanager.spanPortConfig.data.spanPortConfigGrid(content); - $("#" + one.f.switchmanager.spanPortConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource}); - - - + $("#" + one.f.switchmanager.spanPortConfig.id.dashlet.datagrid).datagrid({dataSource: dataSource}) + .on("loaded", function() { + $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll).click(function() { + $("#" + one.f.switchmanager.spanPortConfig.id.dashlet.datagrid).find(':checkbox').prop('checked', + $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll).is(':checked')); + }); + $(".spanPortConfig").click(function(){ + if (!$('.spanPortConfig[type=checkbox]:not(:checked)').length) { + $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll) + .prop("checked", + true); + } else { + $("#"+one.f.switchmanager.spanPortConfig.id.dashlet.selectAll) + .prop("checked", + false); + } + event.stopPropagation(); + }); + }); }); }, // device ajax calls @@ -1216,7 +1276,8 @@ one.f.switchmanager.spanPortConfig = { columns: [ { property: 'selector', - label: ' ', + label: "", sortable: false }, { @@ -1233,7 +1294,7 @@ one.f.switchmanager.spanPortConfig = { data: data.nodeData, formatter: function(items) { $.each(items, function(index, item) { - item["selector"] = ''; + item["selector"] = ''; }); }, delay: 0 diff --git a/opendaylight/web/root/src/main/java/org/opendaylight/controller/web/DaylightWebUtil.java b/opendaylight/web/root/src/main/java/org/opendaylight/controller/web/DaylightWebUtil.java index 3add0e6a40..4435dcd58b 100644 --- a/opendaylight/web/root/src/main/java/org/opendaylight/controller/web/DaylightWebUtil.java +++ b/opendaylight/web/root/src/main/java/org/opendaylight/controller/web/DaylightWebUtil.java @@ -61,7 +61,7 @@ public class DaylightWebUtil { public static void auditlog(String moduleName, String user, String action, String resource, String containerName) { String auditMsg = ""; - String mode = "WEB"; + String mode = "UI"; if (containerName != null) { auditMsg = "Mode: " + mode + " User " + user + " " + action + " " + moduleName + " " + resource + " in container " + containerName; diff --git a/opendaylight/web/troubleshoot/src/main/java/org/opendaylight/controller/troubleshoot/web/Troubleshoot.java b/opendaylight/web/troubleshoot/src/main/java/org/opendaylight/controller/troubleshoot/web/Troubleshoot.java index 71ba687f2d..eab07418b4 100644 --- a/opendaylight/web/troubleshoot/src/main/java/org/opendaylight/controller/troubleshoot/web/Troubleshoot.java +++ b/opendaylight/web/troubleshoot/src/main/java/org/opendaylight/controller/troubleshoot/web/Troubleshoot.java @@ -21,7 +21,15 @@ import javax.servlet.http.HttpServletRequest; import org.opendaylight.controller.sal.action.Action; import org.opendaylight.controller.sal.action.Output; +import org.opendaylight.controller.sal.action.SetDlDst; +import org.opendaylight.controller.sal.action.SetDlSrc; +import org.opendaylight.controller.sal.action.SetNwDst; +import org.opendaylight.controller.sal.action.SetNwSrc; +import org.opendaylight.controller.sal.action.SetNwTos; +import org.opendaylight.controller.sal.action.SetTpDst; +import org.opendaylight.controller.sal.action.SetTpSrc; import org.opendaylight.controller.sal.action.SetVlanId; +import org.opendaylight.controller.sal.action.SetVlanPcp; import org.opendaylight.controller.sal.authorization.Privilege; import org.opendaylight.controller.sal.authorization.UserLevel; import org.opendaylight.controller.sal.core.Description; @@ -56,7 +64,7 @@ public class Troubleshoot implements IDaylightWeb { private static final List flowStatsColumnNames = Arrays.asList("Node", "In Port", "DL Src", "DL Dst", "DL Type", "DL Vlan", "NW Src", "NW Dst", "NW Proto", "TP Src", "TP Dst", "Actions", "Bytes", "Packets", - "Time (s)", "Timeout (s)", "Out Port(s)", "Out Vlan", + "Time (s)", "Timeout (s)", "Priority"); private static final List portStatsColumnNames = Arrays.asList("Node Connector", "Rx Pkts", "Tx Pkts", "Rx Bytes", "Tx Bytes", "Rx Drops", @@ -346,29 +354,60 @@ public class Troubleshoot implements IDaylightWeb { StringBuffer actions = new StringBuffer(); StringBuffer outPorts = new StringBuffer(); - String outVlanId = null; for (Action action : flow.getActions()) { - actions.append(action.getType().toString() + "\n"); + if (action instanceof Output) { Output ao = (Output) action; if (outPorts.length() > 0) { outPorts.append(" "); } - outPorts.append(ao.getPort().getNodeConnectorIdAsString()); + actions.append(action.getType().toString() + " = " + + ao.getPort().getNodeConnectorIdAsString() + "
"); } else if (action instanceof SetVlanId) { SetVlanId av = (SetVlanId) action; - outVlanId = String.valueOf(av.getVlanId()); + String outVlanId = String.valueOf(av.getVlanId()); + actions.append(action.getType().toString() + " = " + outVlanId + + "
"); + } else if (action instanceof SetDlSrc) { + SetDlSrc ads = (SetDlSrc) action; + actions.append(action.getType().toString() + " = " + + HexEncode.bytesToHexStringFormat(ads.getDlAddress()) + "
"); + } else if (action instanceof SetDlDst) { + SetDlDst add = (SetDlDst) action; + actions.append(action.getType().toString() + " = " + + HexEncode.bytesToHexStringFormat(add.getDlAddress()) + + "
"); + } else if (action instanceof SetNwSrc) { + SetNwSrc ans = (SetNwSrc) action; + actions.append(action.getType().toString() + " = " + + ans.getAddressAsString() + "
"); + } else if (action instanceof SetNwDst) { + SetNwDst and = (SetNwDst) action; + actions.append(action.getType().toString() + " = " + + and.getAddressAsString() + "
"); + } else if (action instanceof SetNwTos) { + SetNwTos ant = (SetNwTos) action; + actions.append(action.getType().toString() + " = " + + ant.getNwTos() + "
"); + } else if (action instanceof SetTpSrc) { + SetTpSrc ads = (SetTpSrc) action; + actions.append(action.getType().toString() + " = " + + ads.getPort() + "
"); + } else if (action instanceof SetTpDst) { + SetTpDst atd = (SetTpDst) action; + actions.append(action.getType().toString() + " = " + + atd.getPort() + "
"); + } else if (action instanceof SetVlanPcp) { + SetVlanPcp avp = (SetVlanPcp) action; + actions.append(action.getType().toString() + " = " + + avp.getPcp() + "
"); + // } else if (action instanceof SetDlSrc) { + // SetDlSrc ads = (SetDlSrc) action; + } else { + actions.append(action.getType().toString() + "
"); } } - if (outPorts.length() == 0) { - outPorts.append("*"); - } - if (outVlanId == null) { - outVlanId = "*"; - } row.put("actions", actions.toString()); - row.put("outPorts", outPorts.toString()); - row.put("outVlanId", outVlanId); row.put("durationSeconds", ((Integer) flowOnNode.getDurationSeconds()).toString()); row.put("idleTimeout", ((Short) flow.getIdleTimeout()).toString()); diff --git a/opendaylight/web/troubleshoot/src/main/resources/js/page.js b/opendaylight/web/troubleshoot/src/main/resources/js/page.js index 3f0dc9e812..1eb2cf0094 100644 --- a/opendaylight/web/troubleshoot/src/main/resources/js/page.js +++ b/opendaylight/web/troubleshoot/src/main/resources/js/page.js @@ -400,16 +400,6 @@ one.f.troubleshooting.existingNodes = { label: 'Idle Timeout', sortable: true }, - { - property: 'outPorts', - label: 'Out Ports', - sortable: true - }, - { - property: 'outVlanId', - label: 'Out VlanId', - sortable: true - }, { property: 'priority', label: 'Priority', @@ -442,8 +432,6 @@ one.f.troubleshooting.existingNodes = { entry.push(value["packetCount"]); entry.push(value["durationSeconds"]); entry.push(value["idleTimeout"]); - entry.push(value["outPorts"]); - entry.push(value["outVlanId"]); entry.push(value["priority"]); tr.entry = entry; result.push(tr);