in knights/openwebbeans-knight/src/main/java/org/apache/geronimo/arthur/knight/openwebbeans/OpenWebBeansExtension.java [473:513]
private SeContainerInitializer configureInitializer(final Context context, final SeContainerInitializer initializer) {
final Properties config = new Properties();
enrichProperties(config, false); // before starting ensure we use a deterministic proxy generation config
config.stringPropertyNames().forEach(k -> initializer.addProperty(k, config.getProperty(k)));
if (Boolean.parseBoolean(context.getProperty("extension.openwebbeans.container.se.disableDiscovery"))) {
initializer.disableDiscovery();
}
final ClassLoader loader = Thread.currentThread().getContextClassLoader();
initializer.setClassLoader(loader);
ofNullable(context.getProperty("extension.openwebbeans.container.se.properties"))
.ifPresent(props -> {
final Properties properties = readProps(props);
properties.stringPropertyNames().forEach(k -> initializer.addProperty(k, properties.getProperty(k)));
});
ofNullable(context.getProperty("extension.openwebbeans.container.se.services"))
.ifPresent(props -> {
final Properties properties = readProps(props);
properties.stringPropertyNames().forEach(k -> {
try {
initializer.addProperty(k, loader.loadClass(properties.getProperty(k).trim()));
} catch (final ClassNotFoundException e) {
throw new IllegalArgumentException(e);
}
});
});
ofNullable(context.getProperty("extension.openwebbeans.container.se.classes"))
.ifPresent(classes -> initializer.addBeanClasses(Stream.of(classes.split(","))
.map(String::trim)
.filter(it -> !it.isEmpty())
.map(it -> {
try {
return loader.loadClass(it);
} catch (final ClassNotFoundException e) {
throw new IllegalArgumentException(e);
}
})
.toArray(Class<?>[]::new)));
return initializer;
}