/** * Create an {@link ApplicationContextFactory} from each resource provided * in {@link #setResources(Resource[])}. * * @return an array of {@link ApplicationContextFactory} * @see org.springframework.beans.factory.FactoryBean#getObject() */ @Override public ApplicationContextFactory[] getObject() throws Exception { if (resources == null) { return new ApplicationContextFactory[0]; } List<ApplicationContextFactory> applicationContextFactories = new ArrayList<>(); for (Resource resource : resources) { GenericApplicationContextFactory factory = new GenericApplicationContextFactory(resource); factory.setCopyConfiguration(copyConfiguration); if (beanFactoryPostProcessorClasses != null) { factory.setBeanFactoryPostProcessorClasses(beanFactoryPostProcessorClasses); } if (beanPostProcessorExcludeClasses != null) { factory.setBeanPostProcessorExcludeClasses(beanPostProcessorExcludeClasses); } factory.setApplicationContext(applicationContext); applicationContextFactories.add(factory); } return applicationContextFactories.toArray(new ApplicationContextFactory[applicationContextFactories.size()]); }
@SuppressWarnings("resource") @Test public void testBeanFactoryPostProcessorsNotCopied() { GenericApplicationContextFactory factory = new GenericApplicationContextFactory( new ClassPathResource(ClassUtils.addResourcePathToPackagePath(getClass(), "child-context.xml"))); factory.setApplicationContext(new ClassPathXmlApplicationContext(ClassUtils.addResourcePathToPackagePath( getClass(), "parent-context.xml"))); @SuppressWarnings("unchecked") Class<? extends BeanFactoryPostProcessor>[] classes = (Class<? extends BeanFactoryPostProcessor>[]) new Class<?>[0]; factory.setBeanFactoryPostProcessorClasses(classes); ConfigurableApplicationContext context = factory.createApplicationContext(); assertEquals("test-job", context.getBeanNamesForType(Job.class)[0]); assertEquals("${foo}", context.getBean("test-job", Job.class).getName()); assertEquals(4, context.getBean("foo", Foo.class).values[1], 0.01); }
/** * Create an {@link ApplicationContextFactory} from each resource provided * in {@link #setResources(Resource[])}. * * @return an array of {@link ApplicationContextFactory} * @see org.springframework.beans.factory.FactoryBean#getObject() */ @Override public ApplicationContextFactory[] getObject() throws Exception { if (resources == null) { return new ApplicationContextFactory[0]; } List<ApplicationContextFactory> applicationContextFactories = new ArrayList<>(); for (Resource resource : resources) { GenericApplicationContextFactory factory = new GenericApplicationContextFactory(resource); factory.setCopyConfiguration(copyConfiguration); if (beanFactoryPostProcessorClasses != null) { factory.setBeanFactoryPostProcessorClasses(beanFactoryPostProcessorClasses); } if (beanPostProcessorExcludeClasses != null) { factory.setBeanPostProcessorExcludeClasses(beanPostProcessorExcludeClasses); } factory.setApplicationContext(applicationContext); applicationContextFactories.add(factory); } return applicationContextFactories.toArray(new ApplicationContextFactory[applicationContextFactories.size()]); }
/** * Create an {@link ApplicationContextFactory} from each resource provided * in {@link #setResources(Resource[])}. * * @return an array of {@link ApplicationContextFactory} * @throws Exception * @see org.springframework.beans.factory.FactoryBean#getObject() */ @Override public ApplicationContextFactory[] getObject() throws Exception { if (resources == null) { return new ApplicationContextFactory[0]; } List<ApplicationContextFactory> applicationContextFactories = new ArrayList<ApplicationContextFactory>(); for (Resource resource : resources) { GenericApplicationContextFactory factory = new GenericApplicationContextFactory(resource); factory.setCopyConfiguration(copyConfiguration); if (beanFactoryPostProcessorClasses != null) { factory.setBeanFactoryPostProcessorClasses(beanFactoryPostProcessorClasses); } if (beanPostProcessorExcludeClasses != null) { factory.setBeanPostProcessorExcludeClasses(beanPostProcessorExcludeClasses); } factory.setApplicationContext(applicationContext); applicationContextFactories.add(factory); } return applicationContextFactories.toArray(new ApplicationContextFactory[applicationContextFactories.size()]); }
/** * Create an {@link ApplicationContextFactory} from each resource provided * in {@link #setResources(Resource[])}. * * @return an array of {@link ApplicationContextFactory} * @see org.springframework.beans.factory.FactoryBean#getObject() */ @Override public ApplicationContextFactory[] getObject() throws Exception { if (resources == null) { return new ApplicationContextFactory[0]; } List<ApplicationContextFactory> applicationContextFactories = new ArrayList<>(); for (Resource resource : resources) { GenericApplicationContextFactory factory = new GenericApplicationContextFactory(resource); factory.setCopyConfiguration(copyConfiguration); if (beanFactoryPostProcessorClasses != null) { factory.setBeanFactoryPostProcessorClasses(beanFactoryPostProcessorClasses); } if (beanPostProcessorExcludeClasses != null) { factory.setBeanPostProcessorExcludeClasses(beanPostProcessorExcludeClasses); } factory.setApplicationContext(applicationContext); applicationContextFactories.add(factory); } return applicationContextFactories.toArray(new ApplicationContextFactory[applicationContextFactories.size()]); }