Fix BindingReflections with no revisions 80/72380/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 28 May 2018 20:48:28 +0000 (22:48 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 28 May 2018 20:51:43 +0000 (22:51 +0200)
When a module does not have a revision statement, we end up using
.norev instead of the usual .revXXYYZZ package component. This means
that valid Binding classes are not recognized by
getModelRootPackageName(), throwing IllegalArgumentException.

Fix this by updating matcher pattern to account for .norev being
a possibility.

Change-Id: Ifeede5cd2371a73eca7b189af3f3ac95db4acb9d
JIRA: MDSAL-346
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 6abeecffa7a64a7c14e02ffa6198cf2276f311d3)

binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java

index 2fa199e5e31a068c0689f6a8b0f852a40b9b99a0..32389650cd8f748194b19e645d5e7ff4389ec6a3 100644 (file)
@@ -58,7 +58,7 @@ public final class BindingReflections {
 
     @RegEx
     private static final String ROOT_PACKAGE_PATTERN_STRING =
-            "(org.opendaylight.yang.gen.v1.[a-z0-9_\\.]*\\.rev[0-9][0-9][0-1][0-9][0-3][0-9])";
+            "(org.opendaylight.yang.gen.v1.[a-z0-9_\\.]*\\.(?:rev[0-9][0-9][0-1][0-9][0-3][0-9]|norev))";
     private static final Pattern ROOT_PACKAGE_PATTERN = Pattern.compile(ROOT_PACKAGE_PATTERN_STRING);
     private static final Logger LOG = LoggerFactory.getLogger(BindingReflections.class);