X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fnorthbound%2Fbundlescanner%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnorthbound%2Fbundlescanner%2Finternal%2FBundleScanner.java;h=a5a2073a610886d0aed68044ca70f40c44146556;hb=bbba9ddecc8fa5835d066741328d3d812b8433b0;hp=3e517e9a1f717e3b9a8c889c5b34b2f3bf3d7351;hpb=e506cdb7b0ee5ad7d9cd3223857346a922854053;p=controller.git diff --git a/opendaylight/northbound/bundlescanner/implementation/src/main/java/org/opendaylight/controller/northbound/bundlescanner/internal/BundleScanner.java b/opendaylight/northbound/bundlescanner/implementation/src/main/java/org/opendaylight/controller/northbound/bundlescanner/internal/BundleScanner.java index 3e517e9a1f..a5a2073a61 100644 --- a/opendaylight/northbound/bundlescanner/implementation/src/main/java/org/opendaylight/controller/northbound/bundlescanner/internal/BundleScanner.java +++ b/opendaylight/northbound/bundlescanner/implementation/src/main/java/org/opendaylight/controller/northbound/bundlescanner/internal/BundleScanner.java @@ -73,7 +73,8 @@ import org.slf4j.LoggerFactory; Pattern pattern = mergePatterns(annotations, false); List> result = null; if (includeDependentBundleClasses) { - result = info.getAnnotatedClasses(bundleAnnotations.values(), pattern); + result = info.getAnnotatedClasses(bundleAnnotations.values(), + pattern, context.getBundle()); } else { result = info.getAnnotatedClasses(pattern); } @@ -237,17 +238,23 @@ import org.slf4j.LoggerFactory; // find bundle dependencies } - public static List> loadClasses(Bundle bundle, - Collection annotatedClasses) + public static List> loadClasses( + Collection annotatedClasses, + Bundle initBundle) { List> result = new ArrayList>(); + StringBuilder errors = new StringBuilder(); for (String name : annotatedClasses) { try { - result.add(bundle.loadClass(name)); - } catch (Exception e) { - LOGGER.error("Unable to load class: {}", name, e); + result.add(initBundle.loadClass(name)); + } catch (ClassNotFoundException e) { + errors.append(name).append(", "); } } + if (LOGGER.isDebugEnabled() && errors.length() > 0) { + LOGGER.debug("Bundle: {} could not load classes: {}", + initBundle.getSymbolicName(), errors.toString()); + } return result; }