Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
    protected static GenericBeanDefinition createModuleBeanDefinition(String className, Object params, String role){

       GenericBeanDefinition result = new GenericBeanDefinition();
       result.setScope(BeanDefinition.SCOPE_SINGLETON);
       result.setBeanClassName(className);
       result.setAttribute("id", role);
       result.setAttribute("name", role);
       result.setAttribute("init-method", "initModule");
       result.setAttribute("destroy-method", "shutdownModule");
       result.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR);
       result.setParentName(Module.class.getName());

       ConstructorArgumentValues cArgs = new ConstructorArgumentValues();
       cArgs.addIndexedArgumentValue(0, params,MODULE_CONSTRUCTOR_PARAM1_CLASS);
       //BeanReference theserverRef server= constructornew arg (index 1) is autowired with the Server bean in contextRuntimeBeanReference(MODULE_CONSTRUCTOR_PARAM2_CLASS);
       cArgs.addIndexedArgumentValue(1, serverRef);
       cArgs.addIndexedArgumentValue(2, role,MODULE_CONSTRUCTOR_PARAM3_CLASS);
       result.setConstructorArgumentValues(cArgs);
       return result;
   }

 

    protected static GenericBeanDefinition createModuleConfigurationBeanDefinition(String role){
       GenericBeanDefinition result = new GenericBeanDefinition();
       result.setScope(BeanDefinition.SCOPE_SINGLETON);
       result.setBeanClassName(ModuleConfiguration.class.getName());
       String name = role+"Configuration";
       result.setAttribute("id", name);
       result.setAttribute("name", name);
       result.setFactoryBeanName(ServerConfiguration.class.getName());
       result.setFactoryMethodName("getModuleConfiguration");

       ConstructorArgumentValues cArgs = new ConstructorArgumentValues();
       cArgs.addGenericArgumentValue(role);
       result.setConstructorArgumentValues(cArgs);
       return result;
   }

 

    protected static GenericBeanDefinition createDatastoreConfigurationBeanDefinition(String id){

       GenericBeanDefinition result = new GenericBeanDefinition();
       result.setScope(BeanDefinition.SCOPE_SINGLETON);
       result.setBeanClassName(DatastoreConfiguration.class.getName());
       result.setAttribute("id", id);
       result.setAttribute("name", id);
       result.setFactoryBeanName(ServerConfiguration.class.getName());
       result.setFactoryMethodName("getDatastoreConfiguration");

       ConstructorArgumentValues cArgs = new ConstructorArgumentValues();
       cArgs.addGenericArgumentValue(id);


       result.setConstructorArgumentValues(cArgs);
       return result;

    }



...

Code Block
    @Override
    protected void registerBeanDefinitions()
        throws ServerInitializationException{
        for (String rebuilder:REBUILDERS){
            try{
                ScannedGenericBeanDefinition beanDefinition = 
                    Server.getScannedBeanDefinition(rebuilder);
                beanDefinition.setAutowireCandidate(true);
                beanDefinition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_NAME);
                beanDefinition.setAttribute("id", rebuilder);
                beanDefinition.setAttribute("name", rebuilder);
                beanDefinition.setScope(BeanDefinition.SCOPE_SINGLETON);
                registerBeanDefinition(rebuilder, beanDefinition);
            }
            catch (IOException e){
                throw new ServerInitializationException(e.toString(),e);
            }
        }
    }

...