Example usage for org.springframework.beans.factory.support DefaultListableBeanFactory registerBeanDefinition

List of usage examples for org.springframework.beans.factory.support DefaultListableBeanFactory registerBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support DefaultListableBeanFactory registerBeanDefinition.

Prototype

@Override
    public void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
            throws BeanDefinitionStoreException 

Source Link

Usage

From source file:net.itransformers.idiscover.v2.core.Main.java

public static void main(String[] args) throws MalformedURLException {
    logger.debug("iDiscover v2. gearing up");
    Map<String, String> params = CmdLineParser.parseCmdLine(args);
    //        String connectionDetailsFileName = params.get("-f");
    //        if (connectionDetailsFileName == null) {
    //            printUsage("fileName"); return;
    //        }//from  w  ww .  jav a 2  s  .  co m
    String depthCmdArg = params.get("-d");
    //        if (depthCmdArg == null) {
    //            printUsage("depth"); return;
    //        }
    String projectPath = params.get("-p");

    if (projectPath == null) {
        File cwd = new File(".");
        System.out.println("Project path is not specified. Will use current dir: " + cwd.getAbsolutePath());
        projectPath = cwd.getAbsolutePath();
    }

    File workingDir = new File(projectPath);
    if (!workingDir.exists()) {
        System.out.println("Invalid project path!");
        return;
    }
    System.out.println("Loading beans!!");

    File conDetails = new File(projectPath, "iDiscover/conf/txt/connection-details.txt");

    File generic = new File(projectPath, "iDiscover/conf/xml/generic.xml");
    String genericContextPath = generic.toURI().toURL().toString();

    File snmpDiscovery = new File(projectPath, "iDiscover/conf/xml/snmpNetworkDiscovery.xml");
    String snmpDiscoveryContextPath = snmpDiscovery.toURI().toURL().toString();

    File connectionsDetails = new File(projectPath, "iDiscover/conf/xml/connectionsDetails.xml");
    String connectionsDetailsContextPath = connectionsDetails.toURI().toURL().toString();

    DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
    BeanDefinition beanDefinition = BeanDefinitionBuilder.rootBeanDefinition(String.class)
            .addConstructorArgValue(projectPath).getBeanDefinition();

    String labelDirName = autolabel(projectPath);

    BeanDefinition beanDefinition2 = BeanDefinitionBuilder.rootBeanDefinition(String.class)
            .addConstructorArgValue(labelDirName).getBeanDefinition();

    beanFactory.registerBeanDefinition("projectPath", beanDefinition);

    beanFactory.registerBeanDefinition("labelDirName", beanDefinition2);

    GenericApplicationContext cmdArgCxt = new GenericApplicationContext(beanFactory);
    // Must call refresh to initialize context
    cmdArgCxt.refresh();

    String[] paths = new String[] { genericContextPath, snmpDiscoveryContextPath,
            connectionsDetailsContextPath };
    //        ,project.getAbsolutePath()+project.getAbsolutePath()+File.separator+"iDiscover/conf/xml/snmpNetworkDiscovery.xml", project.getAbsolutePath()+File.separator+"iDiscover/src/main/resources/connectionsDetails.xml"
    FileSystemXmlApplicationContext applicationContext = new FileSystemXmlApplicationContext(paths, cmdArgCxt);
    //        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(workingDir+File.separator+"iDiscover/conf/xml/generic.xml",workingDir+File.separator+"/iDiscover/conf/xml/snmpNetworkDiscovery.xml","connectionsDetails.xml");
    // NetworkDiscoverer discoverer = fileApplicationContext.getBean("bgpPeeringMapDiscovery", NetworkDiscoverer.class);
    //NetworkDiscoverer discoverer = fileApplicationContext.getBean("floodLightNodeDiscoverer", NetworkDiscoverer.class);
    NetworkDiscoverer discoverer = applicationContext.getBean("snmpDiscovery", NetworkDiscoverer.class);
    LinkedHashMap<String, ConnectionDetails> connectionList = (LinkedHashMap) applicationContext
            .getBean("connectionList", conDetails);
    int depth = (Integer) applicationContext.getBean("discoveryDepth",
            depthCmdArg == null ? "-1" : depthCmdArg);
    NetworkDiscoveryResult result = discoverer
            .discoverNetwork(new ArrayList<ConnectionDetails>(connectionList.values()), depth);
    if (result != null) {
        for (String s : result.getNodes().keySet()) {
            System.out.println("\nNode: " + s);

        }
    }

    //
}

From source file:com.taobao.itest.spring.context.SpringContextManager.java

public static void registerBeanDefinition(Field field, ApplicationContext applicationContext) {
    @SuppressWarnings("deprecation")
    RootBeanDefinition beanDefinition = new RootBeanDefinition(field.getType(), true);
    beanDefinition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_NAME);
    DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) (applicationContext
            .getAutowireCapableBeanFactory());
    defaultListableBeanFactory.registerBeanDefinition(field.getName(), beanDefinition);
}

From source file:marshalsec.gadgets.SpringUtil.java

public static BeanFactory makeMethodTrigger(Object o, String method) throws Exception {
    DefaultListableBeanFactory bf = new DefaultListableBeanFactory();
    RootBeanDefinition caller = new RootBeanDefinition();

    caller.setFactoryBeanName("obj");
    caller.setFactoryMethodName(method);
    Reflections.setFieldValue(caller.getMethodOverrides(), "overrides", new HashSet<>());
    bf.registerBeanDefinition("caller", caller);

    Reflections.getField(DefaultListableBeanFactory.class, "beanClassLoader").set(bf, null);
    Reflections.getField(DefaultListableBeanFactory.class, "alreadyCreated").set(bf, new HashSet<>());
    Reflections.getField(DefaultListableBeanFactory.class, "singletonsCurrentlyInCreation").set(bf,
            new HashSet<>());
    Reflections.getField(DefaultListableBeanFactory.class, "inCreationCheckExclusions").set(bf,
            new HashSet<>());
    Reflections.getField(DefaultListableBeanFactory.class, "logger").set(bf, new NoOpLog());
    Reflections.getField(DefaultListableBeanFactory.class, "prototypesCurrentlyInCreation").set(bf,
            new ThreadLocal<>());

    @SuppressWarnings("unchecked")
    Map<String, Object> objs = (Map<String, Object>) Reflections.getFieldValue(bf, "singletonObjects");
    objs.put("obj", o);
    return bf;//from  ww w  .  ja v  a 2s  .  c  om
}

From source file:org.apache.zeppelin.lens.LensBootstrap.java

public LensJLineShellComponent getLensJLineShellComponent() {
    GenericApplicationContext ctx = (GenericApplicationContext) getApplicationContext();
    RootBeanDefinition rbd = new RootBeanDefinition();
    rbd.setBeanClass(LensJLineShellComponent.class);
    DefaultListableBeanFactory bf = (DefaultListableBeanFactory) ctx.getBeanFactory();
    bf.registerBeanDefinition(LensJLineShellComponent.class.getSimpleName(), rbd);
    return ctx.getBean(LensJLineShellComponent.class);
}

From source file:org.owasp.webgoat.plugins.PluginEndpointPublisher.java

private void publishEndpoint(Class<? extends MvcEndpoint> e) {
    try {//www  .j av a2  s . c  o m
        BeanDefinition beanDefinition = new RootBeanDefinition(e, Autowire.BY_TYPE.value(), true);
        DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) applicationContext
                .getBeanFactory();
        beanFactory.registerBeanDefinition(beanDefinition.getBeanClassName(), beanDefinition);
    } catch (Exception ex) {
        log.error("Failed to register " + e.getSimpleName() + " as endpoint with Spring, skipping...");
    }
}

From source file:com.longio.spring.LongioBeanFactoryPostProcessor.java

private void registerLioDefinition(ConfigurableListableBeanFactory beanFactory, BeanDefinition beanDefinition) {
    final String LioClassName = beanDefinition.getBeanClassName();
    MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
    /*//  www . jav a 2 s.c o m
     * ?? MongoFactoryBean ??
     */
    propertyValues.addPropertyValue("objectType", LioClassName);
    propertyValues.addPropertyValue("connector", getConnector((DefaultListableBeanFactory) beanFactory));
    propertyValues.addPropertyValue("appLookup", appLookup);
    propertyValues.addPropertyValue("cmdLookup", cmdLookup);

    ScannedGenericBeanDefinition scannedBeanDefinition = (ScannedGenericBeanDefinition) beanDefinition;
    scannedBeanDefinition.setPropertyValues(propertyValues);
    scannedBeanDefinition.setBeanClass(LioFactoryBean.class);

    DefaultListableBeanFactory defaultBeanFactory = (DefaultListableBeanFactory) beanFactory;
    defaultBeanFactory.registerBeanDefinition(LioClassName, beanDefinition);

    if (logger.isDebugEnabled()) {
        logger.debug("[Lio] register Lio: " + LioClassName);
    }
}

From source file:net.firejack.platform.model.config.listener.ConfigContextLoaderListener.java

@Override
public void start() {
    super.contextInitialized(event);

    ConfigurableApplicationContext context = (ConfigurableApplicationContext) getCurrentWebApplicationContext();

    AnnotationTransactionAttributeSource source = context.getBean(AnnotationTransactionAttributeSource.class);
    Map<Object, DefaultTransactionAttribute> map = ClassUtils.getProperty(source, "attributeCache");

    Map<String, BeanDefinition> managers = context.getBean(HibernateFactoryBean.HIBERNATE_MANAGER, Map.class);
    for (Map.Entry<String, BeanDefinition> entry : managers.entrySet()) {
        DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) context.getBeanFactory();
        beanFactory.registerBeanDefinition(entry.getKey(), entry.getValue());
    }/* www .  ja v  a 2  s .  c o  m*/

    Map<Class, String> targets = context.getBean(HibernateFactoryBean.HIBERNATE_TARGET, Map.class);
    Field targetField = null;

    for (Map.Entry<Object, DefaultTransactionAttribute> entry : map.entrySet()) {
        Object key = entry.getKey();
        if (targetField == null)
            targetField = ClassUtils.getField(key.getClass(), "targetClass");

        Class targetClass = ClassUtils.getProperty(key, targetField);
        String name = targets.get(targetClass);
        if (name != null)
            entry.getValue().setQualifier(name);
    }
}

From source file:org.daniels.samples.SpringIntegrationTest.java

public void testBindFromSpring() throws CreationException {
    final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();

    RootBeanDefinition singleton = new RootBeanDefinition(Singleton.class);
    beanFactory.registerBeanDefinition("singleton", singleton);

    Injector injector = Guice.createInjector(new AbstractModule() {
        protected void configure() {
            bind(BeanFactory.class).toInstance(beanFactory);
            bind(Singleton.class).toProvider(fromSpring(Singleton.class, "singleton"));

        }//  w  w  w  .  j  av a  2 s. c  o m
    });

    assertNotNull(injector.getInstance(Singleton.class));
    assertSame(injector.getInstance(Singleton.class), injector.getInstance(Singleton.class));

}

From source file:org.daniels.samples.SpringIntegrationTest.java

public void testBindAll() throws CreationException {
    final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();

    RootBeanDefinition singleton = new RootBeanDefinition(Singleton.class);
    beanFactory.registerBeanDefinition("singleton", singleton);

    Injector injector = Guice.createInjector(new AbstractModule() {
        protected void configure() {
            SpringIntegration.bindAll(binder(), beanFactory);
        }//from  w  w w .j a  v  a2 s .  c  o  m
    });

    Key<Singleton> singletonKey = Key.get(Singleton.class, Names.named("singleton"));

    assertNotNull(injector.getInstance(singletonKey));
    assertSame(injector.getInstance(singletonKey), injector.getInstance(singletonKey));

}

From source file:com.google.inject.spring.SpringIntegrationTest.java

public void testBindFromSpring() throws CreationException {
    final DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();

    RootBeanDefinition singleton = new RootBeanDefinition(Singleton.class);
    beanFactory.registerBeanDefinition("singleton", singleton);

    RootBeanDefinition prototype = new RootBeanDefinition(Prototype.class, false);
    beanFactory.registerBeanDefinition("prototype", prototype);

    Injector injector = Guice.createInjector(new AbstractModule() {
        protected void configure() {
            bind(BeanFactory.class).toInstance(beanFactory);
            bind(Singleton.class).toProvider(fromSpring(Singleton.class, "singleton"));
            bind(Prototype.class).toProvider(fromSpring(Prototype.class, "prototype"));
        }/*from   w w w .j  a  v  a  2s  .c  o m*/
    });

    assertNotNull(injector.getInstance(Singleton.class));
    assertSame(injector.getInstance(Singleton.class), injector.getInstance(Singleton.class));

    assertNotNull(injector.getInstance(Prototype.class));
    assertNotSame(injector.getInstance(Prototype.class), injector.getInstance(Prototype.class));
}