@Test public void testDecorationViaAttribute() throws Exception { BeanDefinition beanDefinition = this.beanFactory.getBeanDefinition("decorateWithAttribute"); assertEquals("foo", beanDefinition.getAttribute("objectName")); }
protected void removeFilteredBeanDefinitions(ApplicationContext context) { // first looking at a context loading the bean definitions "now" GenericApplicationContext ctx = new GenericApplicationContext(); (new XmlBeanDefinitionReader(ctx)).loadBeanDefinitions("classpath:applicationContext-service.xml"); Set<String> filteredBeanNames = new HashSet<>(); for (String beanName : ctx.getBeanDefinitionNames()) { if (beanName.startsWith("openmrsProfile")) { filteredBeanNames.add(beanName); } } ctx.close(); // then looking at the context as it loaded the bean definitions before the module(s) were started Set<String> originalBeanNames = new HashSet<>(); for (String beanName : ((GenericApplicationContext) context).getBeanDefinitionNames()) { if (beanName.startsWith("openmrsProfile")) { originalBeanNames.add(beanName); } } // removing the bean definitions that have been filtered out by starting the module(s) for (String beanName : originalBeanNames) { if (!filteredBeanNames.contains(beanName)) { filteredDefinitions.put(beanName, ((GenericApplicationContext) context).getBeanDefinition(beanName)); ((GenericApplicationContext) context).removeBeanDefinition(beanName); } } }
@Test public void testStepListenerStepScoped() { @SuppressWarnings("resource") GenericApplicationContext applicationContext = new GenericApplicationContext(); AbstractBeanDefinition newBeanDefinition = BeanDefinitionBuilder.genericBeanDefinition("stepListener").getBeanDefinition(); newBeanDefinition.setScope("step"); applicationContext.registerBeanDefinition("stepListener", newBeanDefinition); ListenerParser listenerParser = new ListenerParser(StepListenerFactoryBean.class, "listeners"); listenerParser.applyListenerScope("stepListener", applicationContext); BeanDefinition beanDefinition = applicationContext.getBeanDefinition("stepListener"); assertEquals("step", beanDefinition.getScope()); }
List<String> bindings = new ArrayList<>(); for(String beanName : applicationContext.getBeanDefinitionNames()) { BeanDefinition definition = applicationContext.getBeanDefinition(beanName); String beanClassName = definition.getBeanClassName();
@Test public void testDefaultLazyInit() { GenericApplicationContext context = new GenericApplicationContext(); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(LOCATION_PREFIX + "defaultWithNoOverridesTests.xml"); assertFalse("lazy-init should be false", context.getBeanDefinition(TEST_BEAN_NAME).isLazyInit()); assertEquals("initCount should be 0", 0, DefaultsTestBean.INIT_COUNT); context.refresh(); assertEquals("bean should have been instantiated", 1, DefaultsTestBean.INIT_COUNT); }
List<String> bindings = new ArrayList<>(); for(String beanName : applicationContext.getBeanDefinitionNames()) { BeanDefinition definition = applicationContext.getBeanDefinition(beanName); String beanClassName = definition.getBeanClassName();
@Test public void testJobListenerSingletonScoped() { @SuppressWarnings("resource") GenericApplicationContext applicationContext = new GenericApplicationContext(); AbstractBeanDefinition newBeanDefinition = BeanDefinitionBuilder.genericBeanDefinition("jobListener").getBeanDefinition(); newBeanDefinition.setScope("step"); applicationContext.registerBeanDefinition("jobListener", newBeanDefinition); ListenerParser listenerParser = new ListenerParser(JsrJobListenerFactoryBean.class, "jobExecutionListeners"); listenerParser.applyListenerScope("jobListener", applicationContext); BeanDefinition beanDefinition = applicationContext.getBeanDefinition("jobListener"); assertEquals("job", beanDefinition.getScope()); } }
@Test public void testLazyInitFalse() { GenericApplicationContext context = new GenericApplicationContext(); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(LOCATION_PREFIX + "defaultLazyInitFalseTests.xml"); assertFalse("lazy-init should be false", context.getBeanDefinition(TEST_BEAN_NAME).isLazyInit()); assertEquals("initCount should be 0", 0, DefaultsTestBean.INIT_COUNT); context.refresh(); assertEquals("bean should have been instantiated", 1, DefaultsTestBean.INIT_COUNT); }
@Test public void testLazyInitTrue() { GenericApplicationContext context = new GenericApplicationContext(); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context); reader.loadBeanDefinitions(LOCATION_PREFIX + "defaultLazyInitTrueTests.xml"); assertTrue("lazy-init should be true", context.getBeanDefinition(TEST_BEAN_NAME).isLazyInit()); assertEquals("initCount should be 0", 0, DefaultsTestBean.INIT_COUNT); context.refresh(); assertEquals("bean should not have been instantiated yet", 0, DefaultsTestBean.INIT_COUNT); context.getBean(TEST_BEAN_NAME); assertEquals("bean should have been instantiated", 1, DefaultsTestBean.INIT_COUNT); }
@Override public BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException { return m_moduleContext.getBeanDefinition(beanName); }
@Override public BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException { return m_moduleContext.getBeanDefinition(beanName); }
@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); }
@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(""); }
@Test public void testSessionScopedClass() { GenericApplicationContext acx = new GenericApplicationContext(); AnnotationConfigUtils.registerAnnotationConfigProcessors(acx); acx.registerBeanDefinition("sessionScopedClass", new AnnotatedGenericBeanDefinition( new StandardAnnotationMetadata(SessionScopedClass.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("sessionScopedClass").getScope()) .isEqualTo(WebApplicationContext.SCOPE_SESSION); assertThat(acx.getBeanDefinition("sessionScopedBean").getScope()) .isEqualTo(WebApplicationContext.SCOPE_SESSION); }
@Test public void testSessionScopedClass() { GenericApplicationContext acx = new GenericApplicationContext(); AnnotationConfigUtils.registerAnnotationConfigProcessors(acx); acx.registerBeanDefinition("sessionScopedClass", new AnnotatedGenericBeanDefinition( new StandardAnnotationMetadata(SessionScopedClass.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("sessionScopedClass").getScope()) .isEqualTo(WebApplicationContext.SCOPE_SESSION); assertThat(acx.getBeanDefinition("sessionScopedBean").getScope()) .isEqualTo(WebApplicationContext.SCOPE_SESSION); }
@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(""); }
@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); }