Details
-
Bug
-
Status: Resolved
-
Highest
-
Resolution: Won't Do
-
2.0.6, 2.0.7, 2.0.10
-
None
-
None
-
yang-data-codec-gson-2.0.6.jar
Description
Hello.
There is a problem with parsing MAC address from json
Caused by: java.lang.IllegalArgumentException: Value '00:00:00:00:00:00' does not match regular expression '^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$' at org.opendaylight.yangtools.yang.data.impl.codec.CompiledPatternContext.validate(CompiledPatternContext.java:48) at org.opendaylight.yangtools.yang.data.impl.codec.StringPatternCheckingCodec.validate(StringPatternCheckingCodec.java:39) at org.opendaylight.yangtools.yang.data.impl.codec.StringStringCodec.deserialize(StringStringCodec.java:43) at org.opendaylight.yangtools.yang.data.impl.codec.StringStringCodec.deserialize(StringStringCodec.java:22) at org.opendaylight.yangtools.yang.data.codec.gson.AbstractJSONCodec.parseValue(AbstractJSONCodec.java:34) at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.translateValueByType(JsonParserStream.java:341) at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.setValue(JsonParserStream.java:335) at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.read(JsonParserStream.java:240) at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.read(JsonParserStream.java:300) at org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.parse(JsonParserStream.java:163)
But the pattern actually matches the string.
When java.util.regex.Pattern is created, I found out that it receives pattern string
^(?:\^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}\$)$
instead of what is defined in yang file
^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$
I am using 2.0.6 version but checked also 2.0.7 and 2.0.10 and it happened too.