[ONOS-5675][ONOS-5676] RESTCONF JIRA fixes
This submission contains the fixes for the following 3 problems:
1. [ONOS-5675] RESTCONF clients may stop receiving notifications when multiple client
sessions are opened simultaneously
2. [ONOS-5676] RESTCONF client hangs on event notification subscription
3. bug fix for empty-leaf node
Change-Id: Icf6848d18e0599842d4889d5aa5443c58f23aeeb
diff --git a/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java b/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java
index 546bed7..cf4e690 100755
--- a/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java
+++ b/protocols/restconf/server/utils/src/main/java/org/onosproject/protocol/restconf/server/utils/parser/json/JsonToYdtListener.java
@@ -48,6 +48,7 @@
private static final int INPUT_FIELD_LENGTH = 2;
private static final String E_UNSUP_TYPE = "Unsupported node type %s " +
"field name is %s fieldName";
+ private static final String EMPTY_STRING = "null";
private Logger log = getLogger(getClass());
@@ -140,7 +141,8 @@
}
private void processLeafNode(NormalizedYangNode node, String value) {
- ydtBuilder.addLeaf(node.getName(), node.getNamespace(), value);
+ String leafValue = value.equalsIgnoreCase(EMPTY_STRING) ? null : value;
+ ydtBuilder.addLeaf(node.getName(), node.getNamespace(), leafValue);
}
private void processArrayNode(NormalizedYangNode normalizedNode,