Adding ability for Config to be backed by generic JsonNode, i.e. either ObjectNode or ArrayNode.
Change-Id: I5f9ec423cd5f23f61c97a57073d9d11071c47997
diff --git a/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java
index a254e47..5f2f86e 100644
--- a/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/cfg/NetworkConfigCommand.java
@@ -15,6 +15,7 @@
*/
package org.onosproject.cli.cfg;
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.karaf.shell.commands.Argument;
@@ -51,17 +52,17 @@
@Override
protected void execute() {
service = get(NetworkConfigService.class);
- ObjectNode root = new ObjectMapper().createObjectNode();
+ JsonNode root = new ObjectMapper().createObjectNode();
if (isNullOrEmpty(subjectKey)) {
- addAll(root);
+ addAll((ObjectNode) root);
} else {
SubjectFactory subjectFactory = service.getSubjectFactory(subjectKey);
if (isNullOrEmpty(subject)) {
- addSubjectClass(root, subjectFactory);
+ addSubjectClass((ObjectNode) root, subjectFactory);
} else {
Object s = subjectFactory.createSubject(subject);
if (isNullOrEmpty(configKey)) {
- addSubject(root, s);
+ addSubject((ObjectNode) root, s);
} else {
root = getSubjectConfig(getConfig(s, subjectKey, configKey));
}
@@ -89,7 +90,7 @@
service.getConfigs(s).forEach(c -> root.set(c.key(), c.node()));
}
- private ObjectNode getSubjectConfig(Config config) {
+ private JsonNode getSubjectConfig(Config config) {
return config != null ? config.node() : null;
}