Fixed bug ONOS-1676.
- Added comments and updated counters command display.
- Modified Json output for counters command.
- Fixed indentation and wrapped long code lines
Change-Id: I4ccc7f67071ea587ee0b12e2f59582f5e5ca760f
Change-Id: Id6cdeda344dd429e3a9f9ab7f027b45e7d6f293a
Change-Id: I6b90a868cedfa405f8deabb1cee6988ba6c1f96e
Change-Id: I93710bd69e266779220c5d1a240e6a06090da55c
diff --git a/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java b/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java
index 9706e0e..7a22965 100644
--- a/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/CountersListCommand.java
@@ -64,14 +64,44 @@
return jsonCounters;
}
+ /**
+ * Converts info for counters from different databases into a JSON object.
+ *
+ * @param partitionedDbCounters counters info
+ * @param inMemoryDbCounters counters info
+ */
+ private JsonNode jsonAllCounters(Map<String, Long> partitionedDbCounters,
+ Map<String, Long> inMemoryDbCounters) {
+ ObjectMapper mapper = new ObjectMapper();
+ ArrayNode jsonCounters = mapper.createArrayNode();
+
+ // Create a JSON node for partitioned database counter
+ ObjectNode jsonPartitionedDatabaseCounters = mapper.createObjectNode();
+ jsonPartitionedDatabaseCounters.put("partitionedDatabaseCounters",
+ partitionedDbCounters.toString());
+ jsonCounters.add(jsonPartitionedDatabaseCounters);
+ // Create a JSON node for in-memory database counter
+ ObjectNode jsonInMemoryDatabseCounters = mapper.createObjectNode();
+ jsonInMemoryDatabseCounters.put("inMemoryDatabaseCounters",
+ inMemoryDbCounters.toString());
+ jsonCounters.add(jsonInMemoryDatabseCounters);
+
+ return jsonCounters;
+ }
+
+
@Override
protected void execute() {
StorageAdminService storageAdminService = get(StorageAdminService.class);
- Map<String, Long> counters = storageAdminService.getCounters();
+ Map<String, Long> partitionedDatabaseCounters = storageAdminService.getPartitionedDatabaseCounters();
+ Map<String, Long> inMemoryDatabaseCounters = storageAdminService.getInMemoryDatabaseCounters();
if (outputJson()) {
- print("%s", json(counters));
+ print("%s", jsonAllCounters(partitionedDatabaseCounters, inMemoryDatabaseCounters));
} else {
- displayCounters(counters);
+ print("Partitioned database counters:");
+ displayCounters(partitionedDatabaseCounters);
+ print("In-memory database counters:");
+ displayCounters(inMemoryDatabaseCounters);
}
}
}