Fixed missing predicate in package name regex. Improved error reporting. 69/5469/1
authorTony Tkacik <ttkacik@cisco.com>
Wed, 26 Feb 2014 11:23:09 +0000 (12:23 +0100)
committerTony Tkacik <ttkacik@cisco.com>
Wed, 26 Feb 2014 11:23:09 +0000 (12:23 +0100)
Change-Id: If76fe681e37a5421621754d088de99b14eeae05d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/util/BindingReflections.java

index 4a42afd01f20c7afe5bf28a6f93ddf725f5ba02b..ba919dbee035a08db0b3d27c459058d890733a96 100644 (file)
@@ -45,7 +45,7 @@ import com.google.common.collect.ImmutableSet.Builder;
 public class BindingReflections {
 
     private static final long EXPIRATION_TIME = 60;
-    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])";
+    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])";
     private static final Pattern ROOT_PACKAGE_PATTERN = Pattern.compile(ROOT_PACKAGE_PATTERN_STRING);
 
     private static final LoadingCache<Class<?>, Optional<QName>> classToQName = CacheBuilder.newBuilder() //
@@ -170,7 +170,7 @@ public class BindingReflections {
         checkArgument(name.startsWith(BindingMapping.PACKAGE_PREFIX), "Package name not starting with %s, is: %s",
                 BindingMapping.PACKAGE_PREFIX, name);
         Matcher match = ROOT_PACKAGE_PATTERN.matcher(name);
-        checkArgument(match.find());
+        checkArgument(match.find(),"Package name '%s' does not match required pattern '%s'",name,ROOT_PACKAGE_PATTERN_STRING);
         String rootPackage = match.group(0);
         return rootPackage;
     }