[ONOS-3722] Augment TableModel to support annotations
Change-Id: Ie90fa6b26887ddd5afb03eb116304c16f10396ff
diff --git a/core/api/src/main/java/org/onosproject/ui/table/TableRequestHandler.java b/core/api/src/main/java/org/onosproject/ui/table/TableRequestHandler.java
index 43700db..5cbf01f 100644
--- a/core/api/src/main/java/org/onosproject/ui/table/TableRequestHandler.java
+++ b/core/api/src/main/java/org/onosproject/ui/table/TableRequestHandler.java
@@ -55,7 +55,7 @@
String sortDir = JsonUtils.string(payload, "sortDir", "asc");
tm.sort(sortCol, TableModel.sortDir(sortDir));
- addTableConfigAnnotations(tm);
+ addTableConfigAnnotations(tm, payload);
ObjectNode rootNode = MAPPER.createObjectNode();
rootNode.set(nodeName, TableUtils.generateRowArrayNode(tm));
@@ -77,12 +77,13 @@
}
/**
- * Adds all annotations to table model.
+ * Adds table configuration specific annotations to table model.
*
* @param tm a table model
+ * @param payload the event payload from the client
*/
- protected void addTableConfigAnnotations(TableModel tm) {
- tm.addAnnotation(NO_ROWS_MSG_KEY, noRowsMessage());
+ protected void addTableConfigAnnotations(TableModel tm, ObjectNode payload) {
+ tm.addAnnotation(NO_ROWS_MSG_KEY, noRowsMessage(payload));
}
/**
@@ -110,9 +111,10 @@
* are no rows to display. For example, a host table might return
* "No hosts found".
*
+ * @param payload request payload
* @return the message
*/
- protected abstract String noRowsMessage();
+ protected abstract String noRowsMessage(ObjectNode payload);
/**
* Subclasses should populate the table model by adding