in bval-jsr/src/main/java/org/apache/bval/jsr/resolver/DefaultTraversableResolver.java [74:104]
private void initJpa() {
final ClassLoader classLoader = Reflection.loaderFromClassOrThread(DefaultTraversableResolver.class);
try {
Reflection.toClass(PERSISTENCE_UTIL_CLASSNAME, classLoader);
if (LOG_FINEST) {
log.log(Level.FINEST, String.format("Found %s on classpath.", PERSISTENCE_UTIL_CLASSNAME));
}
} catch (final Exception e) {
log.log(Level.FINEST,
String.format("Cannot find %s on classpath. All properties will per default be traversable.",
PERSISTENCE_UTIL_CLASSNAME));
return;
}
try {
Class<? extends TraversableResolver> jpaAwareResolverClass =
(Class<? extends TraversableResolver>) Reflection.toClass(JPA_AWARE_TRAVERSABLE_RESOLVER_CLASSNAME,
classLoader);
jpaTR = jpaAwareResolverClass.getConstructor().newInstance();
if (LOG_FINEST) {
log.log(Level.FINEST,
String.format("Instantiated an instance of %s.", JPA_AWARE_TRAVERSABLE_RESOLVER_CLASSNAME));
}
} catch (final Exception e) {
log.log(Level.WARNING,
String.format(
"Unable to load or instantiate JPA aware resolver %s. All properties will per default be traversable.",
JPA_AWARE_TRAVERSABLE_RESOLVER_CLASSNAME),
e);
}
}