private void registerDBCP2IfPresent()

in knights/openjpa-knight/src/main/java/org/apache/geronimo/arthur/knight/openjpa/OpenJPAExtension.java [77:99]


    private void registerDBCP2IfPresent(final Context context) {
        try {
            final Class<?> evictionPolicy = context.loadClass("org.apache.commons.pool2.impl.DefaultEvictionPolicy");

            final ClassReflectionModel model = new ClassReflectionModel();
            model.setName(evictionPolicy.getName());
            model.setAllPublicConstructors(true);
            context.register(model);

            context.register(new ResourceBundleModel("org.apache.commons.dbcp2.LocalStrings"));

            // dbcp2 depends on commons-logging in a hardcoded way (don't ask)
            addCommonsLogging(context).forEach(it -> {
                final ClassReflectionModel reflect = new ClassReflectionModel();
                reflect.setName(it.getName());
                reflect.setAllPublicConstructors(true);
                reflect.setAllDeclaredConstructors(true);
                context.register(reflect);
            });
        } catch (final NoClassDefFoundError | Exception e) {
            // no-op
        }
    }