use of org.springframework.context.support.GenericApplicationContext in project com.revolsys.open by revolsys.
the class ModuleImport method postProcessBeanDefinitionRegistry.
private void postProcessBeanDefinitionRegistry(final BeanDefinitionRegistry registry) throws BeansException {
beforePostProcessBeanDefinitionRegistry(registry);
if (this.enabled) {
final GenericApplicationContext beanFactory = getApplicationContext(registry);
if (this.exportAllBeans) {
for (final String beanName : beanFactory.getBeanDefinitionNames()) {
if (!this.beanNamesNotToExport.contains(beanName)) {
registerTargetBeanDefinition(registry, beanFactory, beanName, beanName);
for (final String alias : beanFactory.getAliases(beanName)) {
if (!this.beanNamesNotToExport.contains(alias)) {
registerTargetBeanDefinition(registry, beanFactory, beanName, alias);
}
}
}
}
} else {
for (final String beanName : this.exportBeanNames) {
if (!this.beanNamesNotToExport.contains(beanName)) {
registerTargetBeanDefinition(registry, beanFactory, beanName, beanName);
}
}
}
for (final Entry<String, String> exportBeanAlias : this.exportBeanAliases.entrySet()) {
final String beanName = exportBeanAlias.getKey();
final String alias = exportBeanAlias.getValue();
if (!this.beanNamesNotToExport.contains(alias)) {
registerTargetBeanDefinition(registry, beanFactory, beanName, alias);
}
}
afterPostProcessBeanDefinitionRegistry(registry);
}
}
use of org.springframework.context.support.GenericApplicationContext in project com.revolsys.open by revolsys.
the class ScriptExecutorRunnable method runDo.
@Override
public void runDo() {
final long startTime = System.currentTimeMillis();
try {
String logPath = null;
final String logFileName = (String) this.attributes.get("logFile");
if (logFileName != null && logFileName.trim().length() > 0) {
final File logFile = new File(logFileName);
final File parentFile = logFile.getParentFile();
if (parentFile != null) {
parentFile.mkdirs();
}
logPath = logFile.getAbsolutePath();
ThreadLocalFileAppender.getAppender().setLocalFile(logPath);
}
if (this.logScriptInfo) {
final StringBuilder message = new StringBuilder("Processing ");
message.append(" -s ");
message.append(this.script);
if (logPath != null) {
message.append(" -l ");
message.append(logPath);
}
for (final Entry<String, Object> parameter : this.attributes.entrySet()) {
message.append(" ");
message.append(parameter.getKey());
message.append("=");
message.append(parameter.getValue());
}
Logs.info(this, message.toString());
}
ThreadSharedProperties.setProperties(this.attributes);
final GenericApplicationContext applicationContext = new GenericApplicationContext();
applicationContext.getBeanFactory().addPropertyEditorRegistrar(new ResourceEditorRegistrar());
for (final Entry<String, Object> entry : this.beans.entrySet()) {
final String key = entry.getKey();
if (key.indexOf('.') == -1 && key.indexOf('[') == -1) {
final Object value = entry.getValue();
final GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
beanDefinition.setBeanClass(Parameter.class);
final MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
propertyValues.add("type", value.getClass());
propertyValues.add("value", value);
applicationContext.registerBeanDefinition(key, beanDefinition);
}
}
final XmlBeanDefinitionReader beanReader = new XmlBeanDefinitionReader(applicationContext);
if (new File(this.script).exists()) {
beanReader.loadBeanDefinitions("file:" + this.script);
} else {
beanReader.loadBeanDefinitions("classpath:" + this.script);
}
applicationContext.refresh();
try {
final Object bean = applicationContext.getBean("processNetwork");
final ProcessNetwork pipeline = (ProcessNetwork) bean;
pipeline.startAndWait();
} finally {
applicationContext.close();
System.gc();
}
} catch (final BeanCreationException e) {
final Throwable cause = getBeanExceptionCause(e);
Logs.error(this, cause.getMessage(), cause);
System.err.println(cause.getMessage());
System.err.flush();
} catch (final Throwable t) {
Logs.error(this, t.getMessage(), t);
}
if (this.logScriptInfo) {
final long endTime = System.currentTimeMillis();
final long time = endTime - startTime;
long seconds = time / 1000;
final long minutes = seconds / 60;
seconds = seconds % 60;
Logs.info(this, minutes + " minutes " + seconds + " seconds");
}
}
use of org.springframework.context.support.GenericApplicationContext in project joinfaces by joinfaces.
the class JsfCdiToSpringApplicationBeanFactoryPostProcessorIT method testNoScopedClass.
@Test
public void testNoScopedClass() {
GenericApplicationContext acx = new GenericApplicationContext();
AnnotationConfigUtils.registerAnnotationConfigProcessors(acx);
acx.registerBeanDefinition("noScopedClass", new AnnotatedGenericBeanDefinition(new StandardAnnotationMetadata(NoScopedClass.class)));
acx.registerBeanDefinition("scopedBeansConfiguration", new RootBeanDefinition(ScopedBeansConfiguration.class));
acx.addBeanFactoryPostProcessor(JsfScopeAnnotationsAutoConfiguration.jsfScopeAnnotationsConfigurer(acx.getEnvironment()));
acx.addBeanFactoryPostProcessor(CdiScopeAnnotationsAutoConfiguration.cdiScopeAnnotationsConfigurer(acx.getEnvironment()));
acx.refresh();
assertThat(acx.getBeanDefinition("noScopedClass").getScope()).isEqualTo("");
assertThat(acx.getBeanDefinition("noScopedBean").getScope()).isEqualTo("");
}
use of org.springframework.context.support.GenericApplicationContext in project joinfaces by joinfaces.
the class JsfCdiToSpringApplicationBeanFactoryPostProcessorIT method testViewScopedClass.
@Test
public void testViewScopedClass() {
GenericApplicationContext acx = new GenericApplicationContext();
AnnotationConfigUtils.registerAnnotationConfigProcessors(acx);
acx.registerBeanDefinition("viewScopedClass", new AnnotatedGenericBeanDefinition(new StandardAnnotationMetadata(ViewScopedClass.class)));
acx.registerBeanDefinition("scopedBeansConfiguration", new RootBeanDefinition(ScopedBeansConfiguration.class));
acx.addBeanFactoryPostProcessor(JsfScopeAnnotationsAutoConfiguration.jsfScopeAnnotationsConfigurer(acx.getEnvironment()));
acx.addBeanFactoryPostProcessor(CdiScopeAnnotationsAutoConfiguration.cdiScopeAnnotationsConfigurer(acx.getEnvironment()));
acx.refresh();
assertThat(acx.getBeanDefinition("viewScopedClass").getScope()).isEqualTo(ViewScope.SCOPE_VIEW);
assertThat(acx.getBeanDefinition("viewScopedBean").getScope()).isEqualTo(ViewScope.SCOPE_VIEW);
}
use of org.springframework.context.support.GenericApplicationContext in project spring-integration by spring-projects.
the class ExpressionEvaluatingMessageProcessorTests method testProcessMessageWithParameterCoercionToNonPrimitive.
@Test
public void testProcessMessageWithParameterCoercionToNonPrimitive() throws Exception {
class TestTarget {
@SuppressWarnings("unused")
public String find(Resource[] resources) {
return Arrays.toString(resources);
}
}
Expression expression = expressionParser.parseExpression("#target.find(payload)");
ExpressionEvaluatingMessageProcessor<String> processor = new ExpressionEvaluatingMessageProcessor<>(expression);
AbstractApplicationContext applicationContext = new GenericApplicationContext();
processor.setBeanFactory(applicationContext);
IntegrationEvaluationContextFactoryBean factoryBean = new IntegrationEvaluationContextFactoryBean();
factoryBean.setApplicationContext(applicationContext);
applicationContext.getBeanFactory().registerSingleton(IntegrationContextUtils.INTEGRATION_EVALUATION_CONTEXT_BEAN_NAME, factoryBean.getObject());
applicationContext.refresh();
processor.afterPropertiesSet();
EvaluationContext evaluationContext = TestUtils.getPropertyValue(processor, "evaluationContext", EvaluationContext.class);
evaluationContext.setVariable("target", new TestTarget());
String result = processor.processMessage(new GenericMessage<>("classpath*:*-test.xml"));
assertTrue("Wrong result: " + result, result.contains("log4j2-test.xml"));
}
Aggregations