Remove deprecated "sid" parameter in UI events.

Change-Id: Ib39fe563109068e7a97df809e9dd1f9f7506fbc6
This commit is contained in:
Simon Hunt 2017-01-06 16:52:47 -08:00
parent 73ae7d7458
commit 8a0429ad47
28 changed files with 333 additions and 355 deletions

View File

@ -50,9 +50,9 @@ public class DriverViewMessageHandler extends UiMessageHandler {
private static final String MATRIX = "matrix";
private static final Comparator<? super Class<? extends Behaviour>> BEHAVIOUR_BY_NAME =
(o1, o2) -> o1.getSimpleName().compareTo(o2.getSimpleName());
Comparator.comparing(Class::getSimpleName);
private static final Comparator<? super Driver> DRIVER_BY_NAME =
(o1, o2) -> o1.name().compareTo(o2.name());
Comparator.comparing(Driver::name);
@Override
@ -72,7 +72,7 @@ public class DriverViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
DriverService driverService = get(DriverService.class);
List<Driver> drivers = new ArrayList<>(driverService.getDrivers());
@ -82,7 +82,7 @@ public class DriverViewMessageHandler extends UiMessageHandler {
List<Class<? extends Behaviour>> behaviours = orderBehaviours(drivers);
// Produce a JSON structure and send it
sendMessage(DRIVER_DATA_RESPONSE, 0, driversJson(drivers, behaviours));
sendMessage(DRIVER_DATA_RESPONSE, driversJson(drivers, behaviours));
}
private List<Driver> orderDrivers(List<Driver> drivers) {

View File

@ -18,20 +18,22 @@ package org.onosproject.faultmanagement.alarms.gui;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableSet;
import org.joda.time.DateTime;
import org.onosproject.incubator.net.faultmanagement.alarm.Alarm;
import org.onosproject.net.DeviceId;
import org.onosproject.ui.RequestHandler;
import org.onosproject.ui.UiMessageHandler;
import org.onosproject.ui.table.TableModel;
import org.onosproject.ui.table.TableRequestHandler;
import org.onosproject.ui.table.cell.TimeFormatter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Collection;
import java.util.Set;
import org.joda.time.DateTime;
import org.onosproject.incubator.net.faultmanagement.alarm.Alarm;
import org.onosproject.incubator.net.faultmanagement.alarm.AlarmId;
import org.onosproject.net.DeviceId;
import org.onosproject.ui.table.cell.TimeFormatter;
import static java.lang.Long.parseLong;
import static org.onosproject.incubator.net.faultmanagement.alarm.AlarmId.alarmId;
/**
* Skeletal ONOS UI Table-View message handler.
@ -58,8 +60,12 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
// TODO No need to show id column in ONOS-GUI
// TODO Replace SEVERITY column by color-coding of row depending on severity ie. red=critical, green=cleared etc
private static final String[] COLUMN_IDS = {ID, DEVICE_ID_STR, DESCRIPTION, SOURCE, TIME_RAISED, SEVERITY};
// TODO Replace SEVERITY column by color-coding of row depending on severity
// e.g. red=critical, green=cleared etc
private static final String[] COLUMN_IDS = {
ID, DEVICE_ID_STR, DESCRIPTION, SOURCE, TIME_RAISED, SEVERITY
};
private final Logger log = LoggerFactory.getLogger(getClass());
@ -82,7 +88,6 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
@Override
protected String defaultColumnId() {
// if necessary, override defaultColumnId() -- if it isn't "id"
return ID;
}
@ -98,7 +103,6 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
@Override
protected TableModel createTableModel() {
// if required, override createTableModel() to set column formatters / comparators
TableModel tm = super.createTableModel();
tm.setFormatter(TIME_RAISED, new TimeFormatter());
return tm;
@ -106,21 +110,18 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
@Override
protected void populateTable(TableModel tm, ObjectNode payload) {
log.debug(" populateTable tm={} payload ={}", tm, payload);
log.debug(" populateTable: tm = {}; payload = {}", tm, payload);
String devId = string(payload, "devId");
Set<Alarm> alarms = Strings.isNullOrEmpty(devId) ?
AlarmServiceUtil.lookUpAlarms() :
AlarmServiceUtil.lookUpAlarms(DeviceId.deviceId(devId));
alarms.forEach((alarm) -> {
populateRow(tm.addRow(), alarm);
});
alarms.forEach((alarm) -> populateRow(tm.addRow(), alarm));
}
private void populateRow(TableModel.Row row, Alarm alarm) {
log.debug("populate table Row row={} item ={}", row, alarm);
log.debug("populateRow: row = {} alarm = {}", row, alarm);
row.cell(ID, alarm.id().fingerprint())
.cell(DEVICE_ID_STR, alarm.deviceId())
@ -139,11 +140,11 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
log.debug("sid={}, payload ={}", sid, payload);
public void process(ObjectNode payload) {
log.debug("payload = {}", payload);
String id = string(payload, ID, "(none)");
Alarm alarm = AlarmServiceUtil.lookupAlarm(AlarmId.alarmId(Long.parseLong(id)));
Alarm alarm = AlarmServiceUtil.lookupAlarm(alarmId(parseLong(id)));
ObjectNode rootNode = objectNode();
ObjectNode data = objectNode();
rootNode.set(DETAILS, data);
@ -167,9 +168,9 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
data.put(TIME_CLEARED, formatTime(alarm.timeCleared()));
data.put(SEVERITY, alarm.severity().toString());
}
log.debug("send ={}", rootNode);
log.debug("send = {}", rootNode);
sendMessage(ALARM_TABLE_DETAIL_RESP, 0, rootNode);
sendMessage(ALARM_TABLE_DETAIL_RESP, rootNode);
}
}
@ -179,6 +180,4 @@ public class AlarmTableMessageHandler extends UiMessageHandler {
}
return new TimeFormatter().format(new DateTime(msSinceStartOfEpoch));
}
}

View File

@ -19,6 +19,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableSet;
import org.onlab.osgi.ServiceDirectory;
import org.onosproject.incubator.net.faultmanagement.alarm.Alarm;
import org.onosproject.incubator.net.faultmanagement.alarm.AlarmService;
import org.onosproject.net.Device;
import org.onosproject.net.DeviceId;
import org.onosproject.net.Element;
@ -38,8 +40,6 @@ import org.slf4j.LoggerFactory;
import java.util.Collection;
import java.util.Set;
import org.onosproject.incubator.net.faultmanagement.alarm.Alarm;
import org.onosproject.incubator.net.faultmanagement.alarm.AlarmService;
/**
* FaultManagement UI Topology-Overlay message handler.
@ -54,7 +54,6 @@ public class AlarmTopovMessageHandler extends UiMessageHandler {
private static final String MODE = "mode";
private enum Mode {
IDLE, MOUSE
}
@ -67,7 +66,7 @@ public class AlarmTopovMessageHandler extends UiMessageHandler {
private Mode currentMode = Mode.IDLE;
private Element elementOfNote;
// ===============-=-=-=-=-=-======================-=-=-=-=-=-=-================================
// =======================================================================
@Override
public void init(UiConnection connection, ServiceDirectory directory) {
super.init(connection, directory);
@ -94,23 +93,21 @@ public class AlarmTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String mode = string(payload, MODE);
log.debug("Start Display: mode [{}]", mode);
clearState();
clearForMode();
switch (mode) {
case "mouse":
currentMode = Mode.MOUSE;
sendMouseData();
break;
default:
currentMode = Mode.IDLE;
break;
}
}
@ -123,9 +120,10 @@ public class AlarmTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID);
log.debug("Update Display: id [{}]", id);
if (!Strings.isNullOrEmpty(id)) {
updateForMode(id);
} else {
@ -141,8 +139,9 @@ public class AlarmTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
log.debug("Stop Display");
clearState();
clearForMode();
}

View File

@ -21,24 +21,26 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.ImmutableSet;
import org.onosproject.net.ConnectPoint;
import org.onosproject.net.Device;
import org.onosproject.net.Port;
import org.onosproject.net.device.DeviceService;
import org.onosproject.ui.RequestHandler;
import org.onosproject.ui.UiMessageHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.onosproject.net.Device;
import org.onosproject.net.Port;
import org.onosproject.net.device.DeviceService;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static org.onosproject.net.ConnectPoint.deviceConnectPoint;
/**
* ONOS UI Custom-View message handler.
*
* This class contains the request handlers that handle the response
* to each event. In this particular implementation the second message
* handler creates the patch and the first message handler loads the data
* ONOS UI Custom-View message handler.
* <p>
* This class contains the request handlers that handle the response
* to each event. In this particular implementation the second message
* handler creates the patch and the first message handler loads the data.
*/
public class PatchPanelUiMessageHandler extends UiMessageHandler {
@ -48,60 +50,68 @@ public class PatchPanelUiMessageHandler extends UiMessageHandler {
private static final String SAMPLE_CUSTOM_DATA_RESP2 = "sampleCustomDataResponse2";
private static final String SAMPLE_CUSTOM_DATA_REQ3 = "sampleCustomDataRequest3";
private static final String SAMPLE_CUSTOM_DATA_RESP3 = "sampleCustomDataResponse3";
private String message = "";
private String cpoints = "";
private static final String SLASH = "/";
private static final String CPS = "cps";
private static final String RESULT = "result";
private static final String MESSAGE = "message";
private static final String EOL = String.format("%n");
private static final String WITH = " with ";
private static final String CPOINTS = "cpoints";
private List<ConnectPoint> previous = new ArrayList<>();
private static ConnectPoint cp1;
private static ConnectPoint cp2;
private final Logger log = LoggerFactory.getLogger(getClass());
@Override
protected Collection<RequestHandler> createRequestHandlers() {
return ImmutableSet.of(new DataRequestHandler(), new SecondDataRequestHandler(), new ThirdDataRequestHandler());
return ImmutableSet.of(
new DataRequestHandler(),
new SecondDataRequestHandler(),
new ThirdDataRequestHandler()
);
}
// handler for data requests/events
private final class DataRequestHandler extends RequestHandler {
private DataRequestHandler() {
super(SAMPLE_CUSTOM_DATA_REQ);
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
DeviceService service = get(DeviceService.class);
ObjectNode result = objectNode();
ArrayNode cps = arrayNode();
result.set("cps", cps);
result.set(CPS, cps);
for (Device device : service.getDevices()) {
cps.add(device.id().toString());
for (Port port : service.getPorts(device.id())) {
if (!port.number().isLogical()) {
cps.add(port.number().toString());
log.info(device.id().toString() + "/" + port.number());
log.info(device.id() + SLASH + port.number());
}
}
}
sendMessage(SAMPLE_CUSTOM_DATA_RESP, 0, result);
sendMessage(SAMPLE_CUSTOM_DATA_RESP, result);
}
}
private final class SecondDataRequestHandler extends RequestHandler {
private SecondDataRequestHandler() {
super(SAMPLE_CUSTOM_DATA_REQ2);
}
@Override
public void process(long sid, ObjectNode payload) {
boolean done;
String deviceId = payload.get("result").get(0).asText();
cp1 = ConnectPoint.deviceConnectPoint(deviceId + "/" + payload.get("result").get(1).asText());
cp2 = ConnectPoint.deviceConnectPoint(deviceId + "/" + payload.get("result").get(2).asText());
PatchPanelService patchPanelService;
patchPanelService = get(PatchPanelService.class);
done = patchPanelService.addPatch(cp1, cp2);
public void process(ObjectNode payload) {
String deviceId = payload.get(RESULT).get(0).asText();
ConnectPoint cp1 = deviceConnectPoint(deviceId + SLASH + payload.get(RESULT).get(1).asText());
ConnectPoint cp2 = deviceConnectPoint(deviceId + SLASH + payload.get(RESULT).get(2).asText());
PatchPanelService pps = get(PatchPanelService.class);
boolean done = pps.addPatch(cp1, cp2);
String message;
if (done) {
message = "Patch has been created";
previous.add(cp1);
@ -112,28 +122,26 @@ public class PatchPanelUiMessageHandler extends UiMessageHandler {
message = "Both ports can not be the same";
}
}
payload.put("message", message);
sendMessage(SAMPLE_CUSTOM_DATA_RESP2, sid, payload);
payload.put(MESSAGE, message);
sendMessage(SAMPLE_CUSTOM_DATA_RESP2, payload);
}
}
private final class ThirdDataRequestHandler extends RequestHandler {
private ThirdDataRequestHandler() {
super(SAMPLE_CUSTOM_DATA_REQ3);
}
@Override
public void process(long sid, ObjectNode payload) {
cpoints = "";
public void process(ObjectNode payload) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < previous.size(); i++) {
if (i % 2 == 1) {
cpoints += previous.get(i) + "\n";
} else {
cpoints += previous.get(i) + " with ";
}
sb.append(previous.get(i)).append(i % 2 == 0 ? WITH : EOL);
}
payload.put("cpoints", cpoints);
sendMessage(SAMPLE_CUSTOM_DATA_RESP3, sid, payload);
payload.put(CPOINTS, sb.toString());
sendMessage(SAMPLE_CUSTOM_DATA_RESP3, payload);
}
}
}

View File

@ -40,7 +40,6 @@ import org.onosproject.ui.topo.DeviceHighlight;
import org.onosproject.ui.topo.Highlights;
import org.onosproject.ui.topo.HostHighlight;
import org.onosproject.ui.topo.NodeBadge;
import org.onosproject.ui.topo.TopoJson;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -48,6 +47,8 @@ import java.util.Collection;
import java.util.List;
import java.util.Set;
import static org.onosproject.ui.topo.TopoJson.highlightsMessage;
/**
* ONOS UI PathPainter Topology-Overlay message handler.
*/
@ -67,11 +68,11 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
private static final String TYPE = "type";
private static final String SWITCH = "switch";
private static final String ENDSTATION = "endstation";
public static final String DST = "Dst";
public static final String SRC = "Src";
private static final String DST = "Dst";
private static final String SRC = "Src";
// Delay for showHighlights event processing on GUI client side to
// account for addLink animation.
public static final int DELAY_MS = 1100;
private static final int DELAY_MS = 1100;
private final TopologyListener topologyListener = new InternalTopologyListener();
@ -97,7 +98,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
protected TopologyService topologyService;
// ===============-=-=-=-=-=-======================-=-=-=-=-=-=-================================
// ===============-=-=-=-=-=-======================-=-=-=-=-=-=-===========
@Override
@ -139,10 +140,10 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
src = null;
dst = null;
sendMessage(TopoJson.highlightsMessage(new Highlights()));
sendMessage(highlightsMessage(new Highlights()));
}
}
@ -153,17 +154,17 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID);
src = elementId(id);
srcType = string(payload, TYPE);
if (src.equals(dst)) {
dst = null;
}
sendMessage(TopoJson.highlightsMessage(addBadge(new Highlights(),
srcType,
src.toString(),
SRC)));
sendMessage(highlightsMessage(
addBadge(new Highlights(), srcType, src.toString(), SRC))
);
findAndSendPaths(currentMode);
}
}
@ -174,7 +175,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID);
dst = elementId(id);
dstType = string(payload, TYPE);
@ -182,10 +183,9 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
src = null;
}
sendMessage(TopoJson.highlightsMessage(addBadge(new Highlights(),
dstType,
dst.toString(),
DST)));
sendMessage(highlightsMessage(
addBadge(new Highlights(), dstType, dst.toString(), DST))
);
findAndSendPaths(currentMode);
}
}
@ -196,7 +196,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
ElementId temp = src;
src = dst;
dst = temp;
@ -214,7 +214,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
pathIndex = (pathIndex >= paths.size() - 1 ? 0 : pathIndex + 1);
hilightAndSendPaths();
}
@ -226,7 +226,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
pathIndex = (pathIndex <= 0 ? paths.size() - 1 : pathIndex - 1);
hilightAndSendPaths();
}
@ -238,7 +238,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String mode = string(payload, MODE);
switch (mode) {
case "shortest":
@ -287,7 +287,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
paths = ImmutableList.copyOf(pathService.getPaths(src, dst, linkData));
allPathLinks = buildPaths(builder).build();
} else {
log.info("Unsupported MODE");
log.warn("Unsupported MODE");
}
} else {
paths = ImmutableList.of();
@ -342,7 +342,7 @@ public class PathPainterTopovMessageHandler extends UiMessageHandler {
if (dst != null) {
highlights = addBadge(highlights, dstType, dst.toString(), DST);
}
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
}
private Highlights addBadge(Highlights highlights, String type, String elemId, String src) {

View File

@ -16,19 +16,32 @@
package org.onosproject.pceweb;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.ImmutableSet;
import org.onlab.osgi.ServiceDirectory;
import org.onlab.packet.IpAddress;
import org.onlab.util.DataRateUnit;
import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
import org.onosproject.incubator.net.tunnel.Tunnel;
import org.onosproject.incubator.net.tunnel.TunnelEndPoint;
import org.onosproject.incubator.net.tunnel.TunnelEvent;
import org.onosproject.incubator.net.tunnel.TunnelId;
import org.onosproject.incubator.net.tunnel.TunnelListener;
import org.onosproject.incubator.net.tunnel.TunnelService;
import org.onosproject.net.Device;
import org.onosproject.net.DeviceId;
import org.onosproject.net.ElementId;
import org.onosproject.net.HostId;
import org.onosproject.net.Link;
import org.onosproject.net.Path;
import org.onosproject.net.device.DeviceService;
import org.onosproject.net.intent.Constraint;
import org.onosproject.net.intent.constraint.BandwidthConstraint;
import org.onosproject.net.topology.TopologyService;
import org.onosproject.pce.pceservice.LspType;
import org.onosproject.pce.pceservice.api.PceService;
import org.onosproject.pce.pceservice.constraint.CostConstraint;
import org.onosproject.ui.RequestHandler;
import org.onosproject.ui.UiConnection;
import org.onosproject.ui.UiMessageHandler;
@ -37,34 +50,20 @@ import org.onosproject.ui.topo.Highlights;
import org.onosproject.ui.topo.LinkHighlight;
import org.onosproject.ui.topo.Mod;
import org.onosproject.ui.topo.NodeBadge;
import org.onosproject.ui.topo.TopoJson;
import org.onosproject.ui.topo.TopoUtils;
import org.onosproject.net.device.DeviceService;
import org.onosproject.net.intent.Constraint;
import org.onosproject.pce.pceservice.LspType;
import org.onosproject.pce.pceservice.api.PceService;
import org.onosproject.pce.pceservice.constraint.CostConstraint;
import org.onosproject.net.intent.constraint.BandwidthConstraint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
import org.onosproject.incubator.net.tunnel.Tunnel;
import static org.onosproject.incubator.net.tunnel.Tunnel.State.ACTIVE;
import org.onosproject.incubator.net.tunnel.TunnelEndPoint;
import org.onosproject.incubator.net.tunnel.TunnelEvent;
import org.onosproject.incubator.net.tunnel.TunnelId;
import org.onosproject.incubator.net.tunnel.TunnelListener;
import org.onosproject.incubator.net.tunnel.TunnelService;
import static org.onosproject.ui.topo.LinkHighlight.Flavor.*;
import static org.onosproject.incubator.net.tunnel.Tunnel.Type.MPLS;
import com.fasterxml.jackson.databind.node.ArrayNode;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import static org.onosproject.incubator.net.tunnel.Tunnel.State.ACTIVE;
import static org.onosproject.incubator.net.tunnel.Tunnel.Type.MPLS;
import static org.onosproject.ui.topo.LinkHighlight.Flavor.PRIMARY_HIGHLIGHT;
import static org.onosproject.ui.topo.TopoJson.highlightsMessage;
/**
* ONOS UI PCE WEB Topology-Overlay message handler.
*/
@ -105,13 +104,17 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
private static final String STRING_NULL = "null";
// Delay for showHighlights event processing on GUI client side to
// account for addLink animation.
private static final int DELAY_MS = 1100;
private static final int DELAY_MS = 1_100;
private static final double BANDWIDTH_KBPS = 1_000;
private static final double BANDWIDTH_MBPS = 1_000_000;
private static String[] linkColor = {"pCol1", "pCol2", "pCol3", "pCol4", "pCol5",
"pCol6", "pCol7", "pCol8", "pCol9", "pCol10",
"pCol11", "pCol12", "pCol13", "pCol14", "pCol15"};
private static final int LINK_COLOR_MAX = 15;
private static final String[] LINK_COLOR = {
"pCol1", "pCol2", "pCol3", "pCol4", "pCol5",
"pCol6", "pCol7", "pCol8", "pCol9", "pCol10",
"pCol11", "pCol12", "pCol13", "pCol14", "pCol15"
};
private static final int LINK_COLOR_MAX = LINK_COLOR.length;
private Set<Link> allPathLinks;
private ElementId src, dst;
private List<Path> paths = new LinkedList<>();
@ -124,9 +127,9 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
protected TunnelService tunnelService;
protected PceService pceService;
protected DeviceService deviceService;
@Override
public void init(UiConnection connection, ServiceDirectory directory) {
super.init(connection, directory);
tunnelService = directory.get(TunnelService.class);
pceService = directory.get(PceService.class);
@ -155,6 +158,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
// Handler classes
/**
* Handles the 'clear' event received from the client.
*/
@ -165,10 +169,10 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
src = null;
dst = null;
sendMessage(TopoJson.highlightsMessage(new Highlights()));
sendMessage(highlightsMessage(new Highlights()));
}
}
@ -182,7 +186,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String srcId = string(payload, SRCID);
src = elementId(srcId);
String dstId = string(payload, DSTID);
@ -237,7 +241,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String srcId = string(payload, SRCID);
ElementId src = elementId(srcId);
String dstId = string(payload, DSTID);
@ -263,7 +267,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
result.putArray(BUFFER_ARRAY).addAll(arrayNode);
sendMessage(PCEWEB_SHOW_TUNNEL, sid, result);
sendMessage(PCEWEB_SHOW_TUNNEL, result);
}
}
@ -277,7 +281,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String bandWidth = string(payload, BANDWIDTH);
String bandWidthType = string(payload, BANDWIDTHTYPE);
String costType = string(payload, COSTTYPE);
@ -301,7 +305,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String tunnelIdStr = string(payload, TUNNEL_ID);
if (tunnelIdStr == null) {
@ -332,7 +336,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
arrayNode.add(tunnel.annotations().value("costType"));
result.putArray(BUFFER_ARRAY).addAll(arrayNode);
sendMessage(PCEWEB_TUNNEL_UPDATE_INFO_REPLY, sid, result);
sendMessage(PCEWEB_TUNNEL_UPDATE_INFO_REPLY, result);
}
}
@ -346,7 +350,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String srcId = string(payload, SRCID);
ElementId src = elementId(srcId);
String dstId = string(payload, DSTID);
@ -374,7 +378,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
result.putArray(BUFFER_ARRAY).addAll(arrayNode);
sendMessage(PCEWEB_SHOW_TUNNEL_REMOVE, sid, result);
sendMessage(PCEWEB_SHOW_TUNNEL_REMOVE, result);
}
}
@ -388,7 +392,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String tunnelId = string(payload, TUNNEL_ID);
if (tunnelId == null) {
@ -409,7 +413,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
ObjectNode result = objectNode();
ArrayNode arrayNode = arrayNode();
Collection<Tunnel> tunnelSet = null;
@ -423,7 +427,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
result.putArray(BUFFER_ARRAY).addAll(arrayNode);
sendMessage(PCEWEB_TUNNEL_QUERY_INFO, sid, result);
sendMessage(PCEWEB_TUNNEL_QUERY_INFO, result);
}
}
@ -437,7 +441,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String tunnelIdStr = string(payload, TUNNEL_ID);
if (tunnelIdStr == null) {
@ -477,14 +481,18 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
/**
* Handles the setup path and highlights the path.
*
* @param bandWidth
* @param src ID of source
* @param dst ID of destination
* @param bandWidth bandwidth
* @param bandWidthType is the kbps or mbps
* @param costType is igp or te
* @param lspType is WITH_SIGNALLING,WITHOUT_SIGNALLING_AND_WITHOUT_SR or SR_WITHOUT_SIGNALLING
* @param tunnelName tunnel id
* @param costType is igp or te
* @param lspType is WITH_SIGNALLING, WITHOUT_SIGNALLING_AND_WITHOUT_SR
* or SR_WITHOUT_SIGNALLING
* @param tunnelName tunnel id
*/
private void findAndSendPaths(ElementId src, ElementId dst, String bandWidth, String bandWidthType,
String costType, String lspType, String tunnelName) {
private void findAndSendPaths(ElementId src, ElementId dst, String bandWidth,
String bandWidthType, String costType,
String lspType, String tunnelName) {
log.debug("src={}; dst={};", src, dst);
boolean path;
List<Constraint> listConstrnt;
@ -508,25 +516,24 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
//TODO: need to get explicit paths [temporarily using null as the value]
path = pceService.setupPath((DeviceId) src, (DeviceId) dst, tunnelName, listConstrnt, lspTypeVal,
null);
if (!path) {
log.error("setup path is failed");
return;
}
path = pceService.setupPath((DeviceId) src, (DeviceId) dst,
tunnelName, listConstrnt, lspTypeVal, null);
return;
if (!path) {
log.error("setup path is failed");
}
}
/**
* Handles the update path and highlights the path.
*
* @param bandWidth bandWidth
* @param bandWidth bandWidth
* @param bandWidthType is the kbps or mbps
* @param costType is igp or te
* @param tunnelIdStr tunnel id
* @param costType is igp or te
* @param tunnelIdStr tunnel id
*/
private void findAndSendPathsUpdate(String bandWidth, String bandWidthType, String costType, String tunnelIdStr) {
private void findAndSendPathsUpdate(String bandWidth, String bandWidthType,
String costType, String tunnelIdStr) {
if (tunnelIdStr != null) {
List<Constraint> listConstrnt;
@ -546,10 +553,8 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
if (!path) {
log.error("update path is failed");
return;
}
}
return;
}
/**
@ -568,10 +573,8 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
boolean path = pceService.releasePath(tunnelId);
if (!path) {
log.error("remove path is failed");
return;
}
}
return;
}
private ImmutableSet.Builder<Link> buildPaths(ImmutableSet.Builder<Link> pathBuilder) {
@ -582,9 +585,9 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
/**
* Handles the preparation of constraints list with given bandwidth and cost-type.
*
* @param bandWidth bandWidth
* @param bandWidth bandWidth
* @param bandWidthType is the kbps or mbps
* @param costType is igp or te
* @param costType is igp or te
* @return
*/
private List<Constraint> addBandwidthCostTypeConstraints(String bandWidth,
@ -605,14 +608,14 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
//Cost type
CostConstraint.Type costTypeVal = null;
switch (costType) {
case COST_TYPE_IGP:
costTypeVal = CostConstraint.Type.COST;
break;
case COST_TYPE_TE:
costTypeVal = CostConstraint.Type.TE_COST;
break;
default:
break;
case COST_TYPE_IGP:
costTypeVal = CostConstraint.Type.COST;
break;
case COST_TYPE_TE:
costTypeVal = CostConstraint.Type.TE_COST;
break;
default:
break;
}
if (bwValue != 0.0) {
@ -635,7 +638,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
for (Path path : paths) {
for (Link link : path.links()) {
lh = new LinkHighlight(TopoUtils.compactLinkString(link), PRIMARY_HIGHLIGHT)
.addMod(new Mod(linkColor[linkclr]));
.addMod(new Mod(LINK_COLOR[linkclr]));
highlights.add(lh);
}
linkclr = linkclr + 1;
@ -644,19 +647,19 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
}
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
}
/**
* Handles the addition of badge and highlights.
* Handles the addition of badge and highlights.
*
* @param highlights highlights
* @param elemId device to be add badge
* @param src device to be add badge
* @param elemId device to be add badge
* @param src device to be add badge
* @return
*/
private Highlights addBadge(Highlights highlights,
String elemId, String src) {
String elemId, String src) {
highlights = addDeviceBadge(highlights, elemId, src);
return highlights;
}
@ -664,9 +667,9 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
/**
* Handles the badge add and highlights.
*
* @param h highlights
* @param h highlights
* @param elemId device to be add badge
* @param type device badge value
* @param type device badge value
* @return highlights
*/
private Highlights addDeviceBadge(Highlights h, String elemId, String type) {
@ -699,9 +702,9 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
}
}
/**
/**
* Handles the event of topology listeners.
*/
*/
private void findTunnelAndHighlights() {
Collection<Tunnel> tunnelSet = null;
Highlights highlights = new Highlights();
@ -709,31 +712,31 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
tunnelSet = tunnelService.queryTunnel(MPLS);
if (tunnelSet.size() == 0) {
log.warn("Tunnel does not exist");
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
return;
}
for (Tunnel tunnel : tunnelSet) {
if (tunnel.path() == null) {
log.error("path does not exist");
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
return;
}
if (!tunnel.state().equals(ACTIVE)) {
log.debug("Tunnel state is not active");
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
return;
}
Link firstLink = tunnel.path().links().get(0);
if (firstLink != null) {
if (firstLink.src() != null) {
highlights = addBadge(highlights, firstLink.src().deviceId().toString(), SRC);
highlights = addBadge(highlights, firstLink.src().deviceId().toString(), SRC);
}
}
Link lastLink = tunnel.path().links().get(tunnel.path().links().size() - 1);
if (lastLink != null) {
if (lastLink.dst() != null) {
highlights = addBadge(highlights, lastLink.dst().deviceId().toString(), DST);
highlights = addBadge(highlights, lastLink.dst().deviceId().toString(), DST);
}
}
paths.add(tunnel.path());
@ -752,12 +755,12 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
paths.removeAll(paths);
if (tunnel.path() == null) {
log.error("path does not exist");
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
return;
}
if (!tunnel.state().equals(ACTIVE)) {
log.debug("Tunnel state is not active");
sendMessage(TopoJson.highlightsMessage(highlights));
sendMessage(highlightsMessage(highlights));
return;
}
@ -770,7 +773,7 @@ public class PceWebTopovMessageHandler extends UiMessageHandler {
Link lastLink = tunnel.path().links().get(tunnel.path().links().size() - 1);
if (lastLink != null) {
if (lastLink.dst() != null) {
highlights = addBadge(highlights, lastLink.dst().deviceId().toString(), DST);
highlights = addBadge(highlights, lastLink.dst().deviceId().toString(), DST);
}
}
paths.add(tunnel.path());

View File

@ -157,7 +157,7 @@ public class IntentPerfUi {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
streamingEnabled = true;
sendInitData();
}
@ -171,7 +171,7 @@ public class IntentPerfUi {
collector.getSampleHeaders().forEach(an::add);
collector.getSamples().forEach(s -> sn.add(sampleNode(s)));
sendMessage("intentPerfInit", 0, rootNode);
sendMessage("intentPerfInit", rootNode);
}
}
@ -184,7 +184,7 @@ public class IntentPerfUi {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
streamingEnabled = false;
}
}

View File

@ -15,16 +15,10 @@
*/
package org.onosproject.sfcweb;
import static org.onosproject.net.DefaultEdgeLink.createEdgeLink;
import java.util.Collection;
import java.util.List;
import java.util.ListIterator;
import java.util.Set;
import java.util.TimerTask;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.ImmutableSet;
import jersey.repackaged.com.google.common.collect.Lists;
import org.onlab.osgi.DefaultServiceDirectory;
import org.onlab.osgi.ServiceDirectory;
import org.onlab.packet.MacAddress;
@ -59,9 +53,13 @@ import org.onosproject.vtnrsc.virtualport.VirtualPortService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.ImmutableSet;
import java.util.Collection;
import java.util.List;
import java.util.ListIterator;
import java.util.Set;
import java.util.TimerTask;
import static org.onosproject.net.DefaultEdgeLink.createEdgeLink;
/**
* SFC web gui topology-overlay message handler.
@ -125,8 +123,9 @@ public class SfcwebUiTopovMessageHandler extends UiMessageHandler {
public DisplayStartHandler() {
super(SAMPLE_TOPOV_DISPLAY_START);
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String mode = string(payload, MODE);
PortChainService pcs = get(PortChainService.class);
Iterable<PortChain> portChains = pcs.getPortChains();
@ -139,7 +138,7 @@ public class SfcwebUiTopovMessageHandler extends UiMessageHandler {
}
result.putArray("a").addAll(arrayNode);
sendMessage(SAMPLE_TOPOV_DISPLAY_SFC, sid, result);
sendMessage(SAMPLE_TOPOV_DISPLAY_SFC, result);
}
}
@ -149,7 +148,7 @@ public class SfcwebUiTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
log.debug("Stop Display");
clearState();
clearForMode();
@ -163,7 +162,7 @@ public class SfcwebUiTopovMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID);
ServiceDirectory serviceDirectory = new DefaultServiceDirectory();
vtnRscService = serviceDirectory.get(VtnRscService.class);
@ -269,7 +268,7 @@ public class SfcwebUiTopovMessageHandler extends UiMessageHandler {
}
result.putArray("sfcPathList").addAll(arrayNode);
sendMessage(SAMPLE_TOPOV_SHOW_SFC_PATH, sid, result);
sendMessage(SAMPLE_TOPOV_SHOW_SFC_PATH, result);
}
}

View File

@ -59,11 +59,9 @@ public abstract class RequestHandler {
/**
* Processes the incoming message payload from the client.
*
* @param sid message sequence identifier
* @param payload request message payload
*/
// TODO: remove sid from signature
public abstract void process(long sid, ObjectNode payload);
public abstract void process(ObjectNode payload);
// ===================================================================
@ -81,19 +79,6 @@ public abstract class RequestHandler {
return parent.directory().get(serviceClass);
}
/**
* Sends a message back to the client with the given event type and payload.
*
* @param eventType message event type
* @param sid message sequence identifier
* @param payload message payload
*/
// TODO: remove sid from signature
@Deprecated
protected void sendMessage(String eventType, long sid, ObjectNode payload) {
parent.connection().sendMessage(eventType, sid, payload);
}
/**
* Sends a message back to the client with the given event type and payload.
*
@ -108,7 +93,7 @@ public abstract class RequestHandler {
/**
* Sends a message back to the client.
* Here, the message is preformatted; the assumption is that it has its
* eventType and payload attributes already filled in.
* "event" (event type) and "payload" attributes already filled in.
*
* @param message the message to send
*/
@ -122,12 +107,10 @@ public abstract class RequestHandler {
* Note that the message handlers must be defined in the same parent.
*
* @param eventType event type
* @param sid sequence identifier
* @param payload message payload
*/
// TODO: remove sid from signature
protected void chain(String eventType, long sid, ObjectNode payload) {
parent.exec(eventType, sid, payload);
protected void chain(String eventType, ObjectNode payload) {
parent.exec(eventType, payload);
}
// ===================================================================

View File

@ -39,7 +39,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
* </p>
* <pre>
* {
* "type": "<em>event-type</em>",
* "event": "<em>event-type</em>",
* "payload": {
* <em>arbitrary JSON object structure</em>
* }
@ -93,22 +93,19 @@ public abstract class UiMessageHandler {
public void process(ObjectNode message) {
String type = JsonUtils.eventType(message);
ObjectNode payload = JsonUtils.payload(message);
// TODO: remove sid
exec(type, 0, payload);
exec(type, payload);
}
/**
* Finds the appropriate handler and executes the process method.
*
* @param eventType event type
* @param sid sequence identifier
* @param payload message payload
*/
// TODO: remove sid from signature
void exec(String eventType, long sid, ObjectNode payload) {
void exec(String eventType, ObjectNode payload) {
RequestHandler requestHandler = handlerMap.get(eventType);
if (requestHandler != null) {
requestHandler.process(sid, payload);
requestHandler.process(payload);
} else {
log.warn("no request handler for event type {}", eventType);
}

View File

@ -49,7 +49,7 @@ public abstract class ChartRequestHandler extends RequestHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
ChartModel cm = createChartModel();
populateChart(cm, payload);

View File

@ -46,9 +46,9 @@ public abstract class TableRequestHandler extends RequestHandler {
* table rows, sort them according the the request sort parameters, and
* send back the response to the client.
*
* @param reqType type of the request event
* @param respType type of the response event
* @param nodeName name of JSON node holding row data
* @param reqType type of the request event
* @param respType type of the response event
* @param nodeName name of JSON node holding row data
*/
public TableRequestHandler(String reqType, String respType, String nodeName) {
super(reqType);
@ -57,7 +57,7 @@ public abstract class TableRequestHandler extends RequestHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
TableModel tm = createTableModel();
populateTable(tm, payload);
@ -72,7 +72,7 @@ public abstract class TableRequestHandler extends RequestHandler {
ObjectNode rootNode = MAPPER.createObjectNode();
rootNode.set(nodeName, TableUtils.generateRowArrayNode(tm));
rootNode.set(ANNOTS, TableUtils.generateAnnotObjectNode(tm));
sendMessage(respType, 0, rootNode);
sendMessage(respType, rootNode);
}
/**
@ -91,7 +91,7 @@ public abstract class TableRequestHandler extends RequestHandler {
/**
* Adds table configuration specific annotations to table model.
*
* @param tm a table model
* @param tm a table model
* @param payload the event payload from the client
*/
protected void addTableConfigAnnotations(TableModel tm, ObjectNode payload) {
@ -141,7 +141,7 @@ public abstract class TableRequestHandler extends RequestHandler {
* parameters (other than sort column and sort direction) that are required
* to generate the appropriate data.
*
* @param tm the table model
* @param tm the table model
* @param payload request payload
*/
protected abstract void populateTable(TableModel tm, ObjectNode payload);

View File

@ -133,20 +133,27 @@ public class ApplicationViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String action = string(payload, "action");
String name = string(payload, "name");
if (action != null && name != null) {
ApplicationAdminService service = get(ApplicationAdminService.class);
ApplicationId appId = service.getId(name);
if (action.equals("activate")) {
service.activate(appId);
} else if (action.equals("deactivate")) {
service.deactivate(appId);
} else if (action.equals("uninstall")) {
service.uninstall(appId);
switch (action) {
case "activate":
service.activate(appId);
break;
case "deactivate":
service.deactivate(appId);
break;
case "uninstall":
service.uninstall(appId);
break;
default:
break;
}
chain(APP_DATA_REQ, sid, payload);
chain(APP_DATA_REQ, payload);
}
}
}
@ -158,7 +165,7 @@ public class ApplicationViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID);
ApplicationService as = get(ApplicationService.class);
@ -204,7 +211,7 @@ public class ApplicationViewMessageHandler extends UiMessageHandler {
ObjectNode rootNode = objectNode();
rootNode.set(DETAILS, data);
sendMessage(APP_DETAILS_RESP, 0, rootNode);
sendMessage(APP_DETAILS_RESP, rootNode);
}
}

View File

@ -168,7 +168,7 @@ public class ClusterViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID);
ClusterService cs = get(ClusterService.class);

View File

@ -41,7 +41,6 @@ import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
@ -181,7 +180,7 @@ public class DeviceViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String id = string(payload, ID, ZERO_URI);
DeviceId deviceId = deviceId(id);
@ -206,7 +205,7 @@ public class DeviceViewMessageHandler extends UiMessageHandler {
ArrayNode ports = arrayNode();
List<Port> portList = new ArrayList<>(service.getPorts(deviceId));
Collections.sort(portList, (p1, p2) -> {
portList.sort((p1, p2) -> {
long delta = p1.number().toLong() - p2.number().toLong();
return delta == 0 ? 0 : (delta < 0 ? -1 : +1);
});
@ -218,7 +217,7 @@ public class DeviceViewMessageHandler extends UiMessageHandler {
ObjectNode rootNode = objectNode();
rootNode.set(DETAILS, data);
sendMessage(DEV_DETAILS_RESP, 0, rootNode);
sendMessage(DEV_DETAILS_RESP, rootNode);
}
private ObjectNode portData(Port p, DeviceId id) {
@ -262,7 +261,7 @@ public class DeviceViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
DeviceId deviceId = deviceId(string(payload, ID, ZERO_URI));
String name = emptyToNull(string(payload, NAME, null));
log.debug("Name change request: {} -- '{}'", deviceId, name);
@ -275,7 +274,7 @@ public class DeviceViewMessageHandler extends UiMessageHandler {
// means that the friendly name should be unset.
cfg.name(name);
cfg.apply();
sendMessage(DEV_NAME_CHANGE_RESP, 0, payload);
sendMessage(DEV_NAME_CHANGE_RESP, payload);
}
}
}

View File

@ -132,17 +132,17 @@ public class FlowViewMessageHandler extends UiMessageHandler {
private void populateRow(TableModel.Row row, FlowEntry flow) {
row.cell(ID, flow.id().value())
.cell(APP_ID, flow.appId())
.cell(GROUP_ID, flow.groupId().id())
.cell(TABLE_ID, flow.tableId())
.cell(PRIORITY, flow.priority())
.cell(TIMEOUT, flow.timeout())
.cell(PERMANENT, flow.isPermanent())
.cell(STATE, flow.state())
.cell(PACKETS, flow.packets())
.cell(BYTES, flow.bytes())
.cell(SELECTOR, flow)
.cell(TREATMENT, flow);
.cell(APP_ID, flow.appId())
.cell(GROUP_ID, flow.groupId().id())
.cell(TABLE_ID, flow.tableId())
.cell(PRIORITY, flow.priority())
.cell(TIMEOUT, flow.timeout())
.cell(PERMANENT, flow.isPermanent())
.cell(STATE, flow.state())
.cell(PACKETS, flow.packets())
.cell(BYTES, flow.bytes())
.cell(SELECTOR, flow)
.cell(TREATMENT, flow);
}
private final class SelectorFormatter implements CellFormatter {
@ -258,7 +258,7 @@ public class FlowViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String flowId = string(payload, FLOW_ID);
String appId = string(payload, APP_ID);

View File

@ -127,12 +127,12 @@ public class GroupViewMessageHandler extends UiMessageHandler {
private void populateRow(TableModel.Row row, Group g) {
row.cell(ID, g.id().id())
.cell(APP_ID, g.appId().name())
.cell(STATE, g.state())
.cell(TYPE, g.type())
.cell(PACKETS, g.packets())
.cell(BYTES, g.bytes())
.cell(BUCKETS, g.buckets().buckets());
.cell(APP_ID, g.appId().name())
.cell(STATE, g.state())
.cell(TYPE, g.type())
.cell(PACKETS, g.packets())
.cell(BYTES, g.bytes())
.cell(BUCKETS, g.buckets().buckets());
}
private final class BucketFormatter implements CellFormatter {

View File

@ -112,12 +112,12 @@ public class IntentViewMessageHandler extends UiMessageHandler {
private void populateRow(TableModel.Row row, Intent intent, IntentService is) {
row.cell(APP_ID, intent.appId())
.cell(KEY, intent.key())
.cell(TYPE, intent.getClass().getSimpleName())
.cell(PRIORITY, intent.priority())
.cell(STATE, is.getIntentState(intent.key()))
.cell(RESOURCES, intent)
.cell(DETAILS, intent);
.cell(KEY, intent.key())
.cell(TYPE, intent.getClass().getSimpleName())
.cell(PRIORITY, intent.priority())
.cell(STATE, is.getIntentState(intent.key()))
.cell(RESOURCES, intent)
.cell(DETAILS, intent);
}
private final class ResourcesFormatter implements CellFormatter {

View File

@ -20,10 +20,10 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.ImmutableSet;
import org.onosproject.ui.RequestHandler;
import org.onosproject.ui.UiMessageHandler;
import org.onosproject.ui.UiExtensionService;
import org.onosproject.ui.UiTopoMapFactory;
import org.onosproject.ui.UiMessageHandler;
import org.onosproject.ui.UiTopoMap;
import org.onosproject.ui.UiTopoMapFactory;
import java.util.Collection;
import java.util.List;
@ -56,8 +56,8 @@ class MapSelectorMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
sendMessage(MAP_LIST_RESP, 0, mapsJson());
public void process(ObjectNode payload) {
sendMessage(MAP_LIST_RESP, mapsJson());
}
}

View File

@ -78,12 +78,6 @@ public class SettingsViewMessageHandler extends UiMessageHandler {
return COMPONENT;
}
@Override
protected TableModel createTableModel() {
TableModel tm = super.createTableModel();
return tm;
}
@Override
protected void populateTable(TableModel tm, ObjectNode payload) {
ComponentConfigService ccs = get(ComponentConfigService.class);

View File

@ -67,7 +67,6 @@ import org.onosproject.ui.topo.PropertyPanel;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
@ -159,7 +158,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
private static final long SUMMARY_PERIOD = 30000;
private static final Comparator<? super ControllerNode> NODE_COMPARATOR =
(o1, o2) -> o1.id().toString().compareTo(o2.id().toString());
Comparator.comparing(o -> o.id().toString());
private final Timer timer = new Timer("onos-topology-view");
@ -255,7 +254,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
addListeners();
sendAllInstances(null);
sendAllDevices();
@ -271,7 +270,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String deact = string(payload, DEACTIVATE);
String act = string(payload, ACTIVATE);
overlayCache.switchOverlay(deact, act);
@ -284,7 +283,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
removeListeners();
stopSummaryMonitoring();
traffic.stopMonitoring();
@ -297,8 +296,8 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
requestSummary(sid);
public void process(ObjectNode payload) {
requestSummary();
startSummaryMonitoring();
}
}
@ -309,7 +308,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
stopSummaryMonitoring();
}
}
@ -320,12 +319,12 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
ObjectNode root = objectNode();
ArrayNode names = arrayNode();
get(SpriteService.class).getNames().forEach(names::add);
root.set(NAMES, names);
sendMessage(SPRITE_LIST_RESPONSE, sid, root);
sendMessage(SPRITE_LIST_RESPONSE, root);
}
}
@ -335,11 +334,11 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String name = string(payload, NAME);
ObjectNode root = objectNode();
root.set(DATA, get(SpriteService.class).get(name));
sendMessage(SPRITE_DATA_RESPONSE, sid, root);
sendMessage(SPRITE_DATA_RESPONSE, root);
}
}
@ -349,22 +348,22 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String type = string(payload, CLASS, UNKNOWN);
String id = string(payload, ID);
PropertyPanel pp = null;
if (type.equals(DEVICE)) {
DeviceId did = deviceId(id);
pp = deviceDetails(did, sid);
pp = deviceDetails(did);
overlayCache.currentOverlay().modifyDeviceDetails(pp, did);
} else if (type.equals(HOST)) {
HostId hid = hostId(id);
pp = hostDetails(hid, sid);
pp = hostDetails(hid);
overlayCache.currentOverlay().modifyHostDetails(pp, hid);
}
sendMessage(envelope(SHOW_DETAILS, sid, json(pp)));
sendMessage(envelope(SHOW_DETAILS, json(pp)));
}
}
@ -374,7 +373,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
updateMetaUi(payload);
}
}
@ -385,7 +384,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
directory.get(MastershipAdminService.class).balanceRoles();
}
}
@ -401,7 +400,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
// TODO: add protection against device ids and non-existent hosts.
HostId one = hostId(string(payload, ONE));
HostId two = hostId(string(payload, TWO));
@ -441,7 +440,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
Intent intent = findIntentByPayload(payload);
if (intent == null) {
log.warn("Unable to find intent from payload {}", payload);
@ -462,7 +461,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
Intent intent = findIntentByPayload(payload);
if (intent == null) {
log.warn("Unable to find intent from payload {}", payload);
@ -479,7 +478,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
// TODO: add protection against device ids and non-existent hosts.
Set<HostId> src = getHostIds((ArrayNode) payload.path(SRC));
HostId dst = hostId(string(payload, DST));
@ -516,7 +515,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
traffic.monitor(Mode.ALL_FLOW_TRAFFIC);
}
}
@ -527,7 +526,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
traffic.monitor(Mode.ALL_PORT_TRAFFIC);
}
}
@ -538,7 +537,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
NodeSelection nodeSelection =
new NodeSelection(payload, deviceService, hostService, linkService);
traffic.monitor(Mode.DEV_LINK_FLOWS, nodeSelection);
@ -551,7 +550,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
NodeSelection nodeSelection =
new NodeSelection(payload, deviceService, hostService, linkService);
traffic.monitor(Mode.RELATED_INTENTS, nodeSelection);
@ -564,7 +563,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
traffic.selectNextIntent();
}
}
@ -575,7 +574,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
traffic.selectPreviousIntent();
}
}
@ -586,7 +585,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
traffic.monitor(Mode.SELECTED_INTENT);
}
}
@ -597,7 +596,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
Intent intent = findIntentByPayload(payload);
if (intent == null) {
log.warn("Unable to find intent from payload {}", payload);
@ -614,7 +613,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
traffic.stopMonitoring();
}
}
@ -622,15 +621,15 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
//=======================================================================
// Converts highlights to JSON format and sends the message to the client
protected void sendHighlights(Highlights highlights) {
void sendHighlights(Highlights highlights) {
sendMessage(highlightsMessage(highlights));
}
// Subscribes for summary messages.
private synchronized void requestSummary(long sid) {
PropertyPanel pp = summmaryMessage(sid);
private synchronized void requestSummary() {
PropertyPanel pp = summmaryMessage();
overlayCache.currentOverlay().modifySummary(pp);
sendMessage(envelope(SHOW_SUMMARY, sid, json(pp)));
sendMessage(envelope(SHOW_SUMMARY, json(pp)));
}
@ -642,7 +641,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
// Sends all controller nodes to the client as node-added messages.
private void sendAllInstances(String messageType) {
List<ControllerNode> nodes = new ArrayList<>(clusterService.getNodes());
Collections.sort(nodes, NODE_COMPARATOR);
nodes.sort(NODE_COMPARATOR);
for (ControllerNode node : nodes) {
sendMessage(instanceMessage(new ClusterEvent(INSTANCE_ADDED, node),
messageType));
@ -873,7 +872,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
public void run() {
try {
if (summaryRunning) {
msgSender.execute(() -> requestSummary(0));
msgSender.execute(() -> requestSummary());
}
} catch (Exception e) {
log.warn("Unable to handle summary request due to {}", e.getMessage());
@ -900,7 +899,7 @@ public class TopologyViewMessageHandler extends TopologyViewMessageHandlerBase {
try {
if (summaryRunning) {
msgSender.execute(() -> requestSummary(0));
msgSender.execute(() -> requestSummary());
}
} catch (Exception e) {
log.warn("Unable to handle summary request due to {}", e.getMessage());

View File

@ -395,7 +395,7 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler {
// Create models of the data to return, that overlays can adjust / augment
// Returns property panel model for summary response.
protected PropertyPanel summmaryMessage(long sid) {
protected PropertyPanel summmaryMessage() {
Topology topology = topologyService.currentTopology();
return new PropertyPanel("ONOS Summary", "node")
@ -412,7 +412,7 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler {
}
// Returns property panel model for device details response.
protected PropertyPanel deviceDetails(DeviceId deviceId, long sid) {
protected PropertyPanel deviceDetails(DeviceId deviceId) {
Device device = deviceService.getDevice(deviceId);
Annotations annot = device.annotations();
String name = annot.value(AnnotationKeys.NAME);
@ -525,7 +525,7 @@ public abstract class TopologyViewMessageHandlerBase extends UiMessageHandler {
}
// Returns host details response.
protected PropertyPanel hostDetails(HostId hostId, long sid) {
protected PropertyPanel hostDetails(HostId hostId) {
Host host = hostService.getHost(hostId);
Annotations annot = host.annotations();
String type = annot.value(AnnotationKeys.TYPE);

View File

@ -46,12 +46,12 @@ class UserPreferencesMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
if (!isNullOrEmpty(connection().userName())) {
UiPreferencesService service = get(UiPreferencesService.class);
service.setPreference(connection().userName(),
payload.get(KEY).asText(),
(ObjectNode) payload.get(VALUE));
payload.get(KEY).asText(),
(ObjectNode) payload.get(VALUE));
}
}
}

View File

@ -67,7 +67,6 @@ public class Topo2ViewMessageHandler extends UiMessageHandler {
private static final String CURRENT_LAYOUT = "topo2CurrentLayout";
private static final String CURRENT_REGION = "topo2CurrentRegion";
private static final String PEER_REGIONS = "topo2PeerRegions";
private static final String TOPO_START_DONE = "topo2StartDone";
private UiTopoSession topoSession;
@ -122,7 +121,7 @@ public class Topo2ViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
// client view is ready to receive data to display; so start up
// server-side processing, and send over initial state
@ -162,7 +161,7 @@ public class Topo2ViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
String rid = string(payload, "rid");
log.debug("topo2navRegion: rid={}", rid);
@ -185,7 +184,7 @@ public class Topo2ViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
// client view has gone away; so shut down server-side processing
// TODO: implement...
@ -204,7 +203,7 @@ public class Topo2ViewMessageHandler extends UiMessageHandler {
}
@Override
public void process(long sid, ObjectNode payload) {
public void process(ObjectNode payload) {
t2json.updateMeta(payload);
}
}

View File

@ -1,6 +1,6 @@
# Main Application
# Main ONOS UI Web Application
index.html is the main launch point for the application.
../index.html is the main launch point for the application.
fw/ contains framework related code

View File

@ -15,7 +15,7 @@
*/
/*
ONOS GUI -- General Purpose Angular directives defined here.
ONOS GUI -- General Purpose Angular directives.
*/
(function () {

View File

@ -27,7 +27,6 @@
var webSockOpts, // web socket options
ws = null, // web socket reference
wsUp = false, // web socket is good to go
sid = 0, // event sequence identifier
handlers = {}, // event handler bindings
pendingEvents = [], // events TX'd while socket not up
host, // web socket host
@ -108,7 +107,7 @@
function handleClose() {
var gsucc;
$log.info('Web socket closed');
$log.warn('Web socket closed');
ls && ls.stop();
wsUp = false;
@ -167,9 +166,6 @@
// === API Functions
// Required for unit tests to set to known state
function resetSid() {
sid = 0;
}
function resetState() {
webSockOpts = undefined;
ws = null;
@ -178,7 +174,6 @@
url = undefined;
pendingEvents = [];
handlers = {};
sid = 0;
clusterNodes = [];
clusterIndex = -1;
connectRetries = 0;
@ -291,7 +286,6 @@
function sendEvent(evType, payload) {
var ev = {
event: evType,
sid: ++sid,
payload: payload || {}
};
@ -329,7 +323,6 @@
bindHandlers(builtinHandlers);
return {
resetSid: resetSid,
resetState: resetState,
createWebSocket: createWebSocket,
bindHandlers: bindHandlers,

View File

@ -79,7 +79,7 @@ describe('factory: fw/remote/websocket.js', function () {
it('should define api functions', function () {
expect(fs.areFunctions(wss, [
'resetSid', 'resetState',
'resetState',
'createWebSocket', 'bindHandlers', 'unbindHandlers',
'addOpenListener', 'removeOpenListener', 'sendEvent',
'isConnected', 'loggedInUser',
@ -118,7 +118,6 @@ describe('factory: fw/remote/websocket.js', function () {
it('should send pending events, handleOpen', function () {
var fakeEvent = {
event: 'mockEv',
sid: 1,
payload: { mock: 'thing' }
};
wss.sendEvent(fakeEvent.event, fakeEvent.payload);