/** Worker method so subclass can use it too */
 protected void getInstanceTest3(BeanFactoryLocator facLoc) {
   BeanFactoryReference bfr;
   BeanFactory fac;
   BeanFactoryReference bfr2;
   TestBean tb;
   BeanFactoryReference bfr3;
   BeanFactoryReference bfr4;
   bfr = facLoc.useBeanFactory("a.qualified.name.of.some.sort");
   fac = bfr.getFactory();
   bfr2 = facLoc.useBeanFactory("another.qualified.name");
   fac = bfr2.getFactory();
   // verify that the same instance is returned
   tb = (TestBean) fac.getBean("beans1.bean1");
   assertTrue(tb.getName().equals("beans1.bean1"));
   tb.setName("was beans1.bean1");
   bfr3 = facLoc.useBeanFactory("another.qualified.name");
   fac = bfr3.getFactory();
   tb = (TestBean) fac.getBean("beans1.bean1");
   assertTrue(tb.getName().equals("was beans1.bean1"));
   bfr4 = facLoc.useBeanFactory("a.qualified.name.which.is.an.alias");
   fac = bfr4.getFactory();
   tb = (TestBean) fac.getBean("beans1.bean1");
   assertTrue(tb.getName().equals("was beans1.bean1"));
   bfr4.release();
   bfr3.release();
   bfr2.release();
   bfr.release();
 }
示例#2
0
 public static ApplicationContext getApplicationContext(String selector, String factoryKey) {
   if (selector == null) selector = "configurations/default-spring-context.xml";
   if (factoryKey == null) factoryKey = "spring-context.xml";
   BeanFactoryReference reference =
       ContextSingletonBeanFactoryLocator.getInstance(
               System.getProperty("spring.configuration", selector))
           .useBeanFactory(factoryKey);
   BeanFactory beanFactory = reference.getFactory();
   return (ApplicationContext) beanFactory;
 }
示例#3
0
 public static Object getBean(String selector, String factoryKey, String name, Class type) {
   if (selector == null) selector = "configurations/default-spring-context.xml";
   if (factoryKey == null) factoryKey = "spring-context.xml";
   BeanFactoryReference reference =
       ContextSingletonBeanFactoryLocator.getInstance(
               System.getProperty("spring.configuration", selector))
           .useBeanFactory(factoryKey);
   BeanFactory beanFactory = reference.getFactory();
   return beanFactory.getBean(name, type);
 }
 /** Worker method so subclass can use it too. */
 protected void basicFunctionalityTest(SingletonBeanFactoryLocator facLoc) {
   BeanFactoryReference bfr = facLoc.useBeanFactory("a.qualified.name.of.some.sort");
   BeanFactory fac = bfr.getFactory();
   BeanFactoryReference bfr2 = facLoc.useBeanFactory("another.qualified.name");
   fac = bfr2.getFactory();
   // verify that the same instance is returned
   TestBean tb = (TestBean) fac.getBean("beans1.bean1");
   assertTrue(tb.getName().equals("beans1.bean1"));
   tb.setName("was beans1.bean1");
   BeanFactoryReference bfr3 = facLoc.useBeanFactory("another.qualified.name");
   fac = bfr3.getFactory();
   tb = (TestBean) fac.getBean("beans1.bean1");
   assertTrue(tb.getName().equals("was beans1.bean1"));
   BeanFactoryReference bfr4 = facLoc.useBeanFactory("a.qualified.name.which.is.an.alias");
   fac = bfr4.getFactory();
   tb = (TestBean) fac.getBean("beans1.bean1");
   assertTrue(tb.getName().equals("was beans1.bean1"));
   // Now verify that we can call release in any order.
   // Unfortunately this doesn't validate complete release after the last one.
   bfr2.release();
   bfr3.release();
   bfr.release();
   bfr4.release();
 }