Merge "Fixed Group and meter id bugs"
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / restconf / impl / ControllerContext.xtend
index 470b4735a441ad7b5f3e8f421c53fea904d033d3..602e8b92425ea9d1ab26bd784893f7ff3a3a9ba1 100644 (file)
@@ -32,6 +32,7 @@ import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil
 
 import static com.google.common.base.Preconditions.*
+import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec
 
 class ControllerContext implements SchemaServiceListener {
 
@@ -288,9 +289,10 @@ class ControllerContext implements SchemaServiceListener {
     private def void addKeyValue(HashMap<QName, Object> map, DataSchemaNode node, String uriValue) {
         checkNotNull(uriValue);
         checkArgument(node instanceof LeafSchemaNode);
-        val decoded = URLDecoder.decode(uriValue);
+        val urlDecoded = URLDecoder.decode(uriValue);
+        val typedef = (node as LeafSchemaNode).type;
+        val decoded = TypeDefinitionAwareCodec.from(typedef)?.deserialize(urlDecoded)
         map.put(node.QName, decoded);
-
     }
 
     private def String toModuleName(String str) {