| 
 1 | 
  
 |  | 
| 
 2 | 
  
 |  | 
| 
 3 | 
  
 |  | 
| 
 4 | 
  
 |  | 
| 
 5 | 
  
 |  | 
| 
 6 | 
  
 |  | 
| 
 7 | 
  
 |  | 
| 
 8 | 
  
 |  | 
| 
 9 | 
  
 |  | 
| 
 10 | 
  
 |  | 
| 
 11 | 
  
 |  | 
| 
 12 | 
  
 |  | 
| 
 13 | 
  
 |  | 
| 
 14 | 
  
 |  | 
| 
 15 | 
  
 | package org.apache.hivemind.lib.impl; | 
| 
 16 | 
  
 |  | 
| 
 17 | 
  
 | import org.apache.hivemind.ServiceImplementationFactory; | 
| 
 18 | 
  
 | import org.apache.hivemind.ServiceImplementationFactoryParameters; | 
| 
 19 | 
  
 | import org.apache.hivemind.impl.BaseLocatable; | 
| 
 20 | 
  
 | import org.springframework.beans.factory.BeanFactory; | 
| 
 21 | 
  
 |  | 
| 
 22 | 
  
 |  | 
| 
 23 | 
  
 |  | 
| 
 24 | 
  
 |  | 
| 
 25 | 
  
 |  | 
| 
 26 | 
  
 |  | 
| 
 27 | 
  
 |  | 
| 
 28 | 
  
 |  | 
| 
 29 | 
  
 | public class SpringLookupFactory extends BaseLocatable implements ServiceImplementationFactory | 
| 
 30 | 
  
 | { | 
| 
 31 | 
  
 |      | 
| 
 32 | 
  
 |     private BeanFactory _defaultBeanFactory; | 
| 
 33 | 
  
 |  | 
| 
 34 | 
 3
 |     public Object createCoreServiceImplementation(
 | 
| 
 35 | 
  
 |             ServiceImplementationFactoryParameters factoryParameters) | 
| 
 36 | 
  
 |     { | 
| 
 37 | 
 3
 |         SpringBeanParameter p = (SpringBeanParameter) factoryParameters.getFirstParameter();
 | 
| 
 38 | 
 3
 |         String beanName = p.getName();
 | 
| 
 39 | 
  
 |  | 
| 
 40 | 
 3
 |         BeanFactory f = p.getBeanFactory();
 | 
| 
 41 | 
  
 |  | 
| 
 42 | 
 3
 |         if (f == null)
 | 
| 
 43 | 
 2
 |             f = _defaultBeanFactory;
 | 
| 
 44 | 
  
 |  | 
| 
 45 | 
 3
 |         return f.getBean(beanName, factoryParameters.getServiceInterface());
 | 
| 
 46 | 
  
 |     } | 
| 
 47 | 
  
 |  | 
| 
 48 | 
  
 |      | 
| 
 49 | 
 2
 |     public void setDefaultBeanFactory(BeanFactory defaultBeanFactory)
 | 
| 
 50 | 
  
 |     { | 
| 
 51 | 
 2
 |         _defaultBeanFactory = defaultBeanFactory;
 | 
| 
 52 | 
  
 |     } | 
| 
 53 | 
  
 | } |