CORD-535 Added purge and sync states CLIs
And improved result format of the existing CLIs
Change-Id: I49476ab52f77f6fadddf00dfc113c51153b300ed
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
index 1a40397..5c995f1 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
@@ -13,11 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.opencord.cordvtn.cli;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import org.apache.karaf.shell.commands.Command;
import org.onosproject.cli.AbstractShellCommand;
@@ -27,6 +26,8 @@
import java.util.Collections;
import java.util.List;
+import static com.fasterxml.jackson.databind.SerializationFeature.INDENT_OUTPUT;
+
/**
* Lists all nodes registered to the service.
*/
@@ -36,6 +37,7 @@
private static final String COMPLETE = "COMPLETE";
private static final String INCOMPLETE = "INCOMPLETE";
+ private static final String FORMAT = "%-30s%-20s%-20s%-15s%-24s%s";
@Override
protected void execute() {
@@ -44,15 +46,21 @@
Collections.sort(nodes, CordVtnNode.CORDVTN_NODE_COMPARATOR);
if (outputJson()) {
- print("%s", json(nodeManager, nodes));
+ try {
+ print("%s", mapper().writeValueAsString(json(nodeManager, nodes)));
+ } catch (JsonProcessingException e) {
+ print("Failed to list networks in JSON format");
+ }
} else {
+ print(FORMAT, "Hostname", "Management IP", "Data IP", "Data Iface",
+ "Br-int", "State");
+
for (CordVtnNode node : nodes) {
- print("hostname=%s, hostMgmtIp=%s, dataIp=%s, br-int=%s, dataIface=%s, init=%s",
- node.hostname(),
+ print(FORMAT, node.hostname(),
node.hostMgmtIp().cidr(),
node.dataIp().cidr(),
- node.integrationBridgeId().toString(),
node.dataIface(),
+ node.integrationBridgeId().toString(),
getState(nodeManager, node));
}
print("Total %s nodes", nodeManager.getNodeCount());
@@ -60,16 +68,15 @@
}
private JsonNode json(CordVtnNodeManager nodeManager, List<CordVtnNode> nodes) {
- ObjectMapper mapper = new ObjectMapper();
- ArrayNode result = mapper.createArrayNode();
+ ArrayNode result = mapper().enable(INDENT_OUTPUT).createArrayNode();
for (CordVtnNode node : nodes) {
- result.add(mapper.createObjectNode()
+ result.add(mapper().createObjectNode()
.put("hostname", node.hostname())
- .put("hostManagementIp", node.hostMgmtIp().cidr())
- .put("dataPlaneIp", node.dataIp().cidr())
+ .put("managementIp", node.hostMgmtIp().cidr())
+ .put("dataIp", node.dataIp().cidr())
+ .put("dataInterface", node.dataIface())
.put("bridgeId", node.integrationBridgeId().toString())
- .put("dataPlaneInterface", node.dataIface())
- .put("init", getState(nodeManager, node)));
+ .put("state", getState(nodeManager, node)));
}
return result;
}