Example usage for org.springframework.beans.factory ListableBeanFactory getBeanDefinitionNames

List of usage examples for org.springframework.beans.factory ListableBeanFactory getBeanDefinitionNames

Introduction

In this page you can find the example usage for org.springframework.beans.factory ListableBeanFactory getBeanDefinitionNames.

Prototype

String[] getBeanDefinitionNames();

Source Link

Document

Return the names of all beans defined in this factory.

Usage

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

/**
 * Binds all Spring beans from the given factory by name. For a Spring bean
 * named "foo", this method creates a binding to the bean's type and
 * {@code @Named("foo")}.//  w w w  .j a  v  a2  s .c o m
 *
 * @see com.google.inject.name.Named
 * @see com.google.inject.name.Names#named(String) 
 */
public static void bindAll(Binder binder, ListableBeanFactory beanFactory) {
    binder = binder.skipSources(SpringIntegration.class);

    for (String name : beanFactory.getBeanDefinitionNames()) {
        Class<?> type = beanFactory.getType(name);
        bindBean(binder, beanFactory, name, type);
    }
}

From source file:net.paoding.rose.web.impl.module.ModulesBuilderImpl.java

public List<Module> build(List<ModuleResource> moduleResources, WebApplicationContext rootContext)
        throws Exception {

    // ????????//from  w ww  .j  a  va2s . c  o m
    moduleResources = new ArrayList<ModuleResource>(moduleResources);
    Collections.sort(moduleResources);

    // ??
    List<Module> modules = new ArrayList<Module>(moduleResources.size());
    Map<ModuleResource, Module> modulesAsMap = new HashMap<ModuleResource, Module>();

    // 
    for (ModuleResource moduleResource : moduleResources) {
        final Module parentModule = (moduleResource.getParent() == null) ? null//
                : modulesAsMap.get(moduleResource.getParent());
        final WebApplicationContext parentContext = (parentModule == null) ? rootContext//
                : parentModule.getApplicationContext();
        final String namespace = "context@controllers" + moduleResource.getRelativePath().replace('/', '.');

        // modulespring context
        final ServletContext servletContext = parentContext == null ? null //
                : parentContext.getServletContext();
        final ModuleAppContext moduleContext = ModuleAppContext.createModuleContext(//
                parentContext, //
                moduleResource.getContextResources(), //
                moduleResource.getMessageBasenames(), //
                /*id*/moduleResource.getModuleUrl().toString(), //
                namespace//
        );

        // ??...applicationContext
        registerBeanDefinitions(moduleContext, moduleResource.getModuleClasses());

        // module
        final ModuleImpl module = new ModuleImpl(//
                parentModule, //
                moduleResource.getModuleUrl(), //
                moduleResource.getMappingPath(), //
                moduleResource.getRelativePath(), //
                moduleContext);
        //
        modulesAsMap.put(moduleResource, module);

        // servletContext
        if (servletContext != null) {
            String contextAttrKey = WebApplicationContext.class.getName() + "@" + moduleResource.getModuleUrl();
            servletContext.setAttribute(contextAttrKey, moduleContext);
        }

        // Springweb??ParamValidatorParamResolver, ControllerInterceptor, ControllerErrorHandler
        List<ParamResolver> customerResolvers = findContextResolvers(moduleContext);

        // resolvers
        module.setCustomerResolvers(customerResolvers);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply resolvers " + customerResolvers);
        }

        // module
        List<InterceptorDelegate> interceptors = findInterceptors(moduleContext);
        for (Iterator<InterceptorDelegate> iter = interceptors.iterator(); iter.hasNext();) {
            InterceptorDelegate interceptor = iter.next();

            ControllerInterceptor most = InterceptorDelegate.getMostInnerInterceptor(interceptor);

            if (!most.getClass().getName().startsWith("net.paoding.rose.web")) {

                // deny?
                if (moduleResource.getInterceptedDeny() != null) {
                    if (RoseStringUtil.matches(moduleResource.getInterceptedDeny(), interceptor.getName())) {
                        iter.remove();
                        if (logger.isDebugEnabled()) {
                            logger.debug("module '" + module.getMappingPath()
                                    + "': remove interceptor by rose.properties: " + most.getClass().getName());
                        }
                        continue;
                    }
                }
                //  allow?
                if (moduleResource.getInterceptedAllow() != null) {
                    if (!RoseStringUtil.matches(moduleResource.getInterceptedAllow(), interceptor.getName())) {
                        iter.remove();
                        if (logger.isDebugEnabled()) {
                            logger.debug("module '" + module.getMappingPath()
                                    + "': remove interceptor by rose.properties: " + most.getClass().getName());
                        }
                        continue;
                    }
                }
            }
        }
        module.setControllerInterceptors(interceptors);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply intercetpors " + interceptors);
        }

        // validatormodule
        List<ParamValidator> validators = findContextValidators(moduleContext);
        module.setValidators(validators);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply global validators " + validators);
        }

        // errorhandler
        ControllerErrorHandler errorHandler = getContextErrorHandler(moduleContext);
        if (errorHandler != null) {
            if (Proxy.isProxyClass(errorHandler.getClass())) {
                module.setErrorHandler(errorHandler);
            } else {
                ErrorHandlerDispatcher dispatcher = new ErrorHandlerDispatcher(errorHandler);
                module.setErrorHandler(dispatcher);
            }
            if (logger.isInfoEnabled()) {
                logger.info("set errorHandler: " + module.getMappingPath() + "  " + errorHandler);
            }
        }

        // controllers
        final ListableBeanFactory beanFactory = moduleContext.getBeanFactory();
        for (String beanName : beanFactory.getBeanDefinitionNames()) {
            checkController(moduleContext, beanName, module);
        }

        // 
        modules.add(module);
    }

    return modules;
}

From source file:com.laxser.blitz.web.impl.module.ModulesBuilderImpl.java

public List<Module> build(List<ModuleResource> moduleResources, WebApplicationContext rootContext)
        throws Exception {

    // ????????//from   w  w w. j  a v  a 2s . c om
    moduleResources = new ArrayList<ModuleResource>(moduleResources);
    Collections.sort(moduleResources);

    // ??
    List<Module> modules = new ArrayList<Module>(moduleResources.size());
    Map<ModuleResource, Module> modulesAsMap = new HashMap<ModuleResource, Module>();

    // 
    for (ModuleResource moduleResource : moduleResources) {
        final Module parentModule = (moduleResource.getParent() == null) ? null//
                : modulesAsMap.get(moduleResource.getParent());
        final WebApplicationContext parentContext = (parentModule == null) ? rootContext//
                : parentModule.getApplicationContext();
        final String namespace = "context@controllers" + moduleResource.getRelativePath().replace('/', '.');

        // modulespring context
        final ServletContext servletContext = parentContext == null ? null //
                : parentContext.getServletContext();
        final ModuleAppContext moduleContext = ModuleAppContext.createModuleContext(//
                parentContext, //
                moduleResource.getContextResources(), //
                moduleResource.getMessageBasenames(), //
                /*id*/moduleResource.getModuleUrl().toString(), //
                namespace//
        );

        // ??...applicationContext
        registerBeanDefinitions(moduleContext, moduleResource.getModuleClasses());

        // module
        final ModuleImpl module = new ModuleImpl(//
                parentModule, //
                moduleResource.getModuleUrl(), //
                moduleResource.getMappingPath(), //
                moduleResource.getRelativePath(), //
                moduleContext);
        //
        modulesAsMap.put(moduleResource, module);

        // servletContext
        if (servletContext != null) {
            String contextAttrKey = WebApplicationContext.class.getName() + "@" + moduleResource.getModuleUrl();
            servletContext.setAttribute(contextAttrKey, moduleContext);
        }

        // Springweb??ParamValidatorParamResolver, ControllerInterceptor, ControllerErrorHandler
        List<ParamResolver> customerResolvers = findContextResolvers(moduleContext);

        // resolvers
        module.setCustomerResolvers(customerResolvers);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply resolvers " + customerResolvers);
        }

        // module
        List<InterceptorDelegate> interceptors = findInterceptors(moduleContext);
        for (Iterator<InterceptorDelegate> iter = interceptors.iterator(); iter.hasNext();) {
            InterceptorDelegate interceptor = iter.next();

            ControllerInterceptor most = InterceptorDelegate.getMostInnerInterceptor(interceptor);

            if (!most.getClass().getName().startsWith("net.paoding.rose.web")) {

                // deny?
                if (moduleResource.getInterceptedDeny() != null) {
                    if (BlitzStringUtil.matches(moduleResource.getInterceptedDeny(), interceptor.getName())) {
                        iter.remove();
                        if (logger.isDebugEnabled()) {
                            logger.debug("module '" + module.getMappingPath()
                                    + "': remove interceptor by rose.properties: " + most.getClass().getName());
                        }
                        continue;
                    }
                }
                //  allow?
                if (moduleResource.getInterceptedAllow() != null) {
                    if (!BlitzStringUtil.matches(moduleResource.getInterceptedAllow(), interceptor.getName())) {
                        iter.remove();
                        if (logger.isDebugEnabled()) {
                            logger.debug("module '" + module.getMappingPath()
                                    + "': remove interceptor by rose.properties: " + most.getClass().getName());
                        }
                        continue;
                    }
                }
            }
        }
        module.setControllerInterceptors(interceptors);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply intercetpors " + interceptors);
        }

        // validatormodule
        List<ParamValidator> validators = findContextValidators(moduleContext);
        module.setValidators(validators);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply global validators " + validators);
        }

        // errorhandler
        ControllerErrorHandler errorHandler = getContextErrorHandler(moduleContext);
        if (errorHandler != null) {
            if (Proxy.isProxyClass(errorHandler.getClass())) {
                module.setErrorHandler(errorHandler);
            } else {
                ErrorHandlerDispatcher dispatcher = new ErrorHandlerDispatcher(errorHandler);
                module.setErrorHandler(dispatcher);
            }
            if (logger.isInfoEnabled()) {
                logger.info("set errorHandler: " + module.getMappingPath() + "  " + errorHandler);
            }
        }

        // controllers
        final ListableBeanFactory beanFactory = moduleContext.getBeanFactory();
        for (String beanName : beanFactory.getBeanDefinitionNames()) {
            checkController(moduleContext, beanName, module);
        }

        // 
        modules.add(module);
    }

    return modules;
}

From source file:com.sinosoft.one.mvc.web.impl.module.ModulesBuilderImpl.java

public List<Module> build(List<ModuleResource> moduleResources, WebApplicationContext rootContext)
        throws Exception {

    // ????????/* w  w w.j  av  a  2s.c o m*/
    moduleResources = new ArrayList<ModuleResource>(moduleResources);
    Collections.sort(moduleResources);

    // ??
    List<Module> modules = new ArrayList<Module>(moduleResources.size());
    Map<ModuleResource, Module> modulesAsMap = new HashMap<ModuleResource, Module>();

    /*
     * ModuleResource ?web???
     * modelResourcesmodel
     *  
     */
    for (ModuleResource moduleResource : moduleResources) {
        final Module parentModule = (moduleResource.getParent() == null) ? null//
                : modulesAsMap.get(moduleResource.getParent());
        final WebApplicationContext parentContext = (parentModule == null) ? rootContext//
                : parentModule.getApplicationContext();
        final String namespace = "context@controllers" + moduleResource.getRelativePath().replace('/', '.');

        // modulespring context
        final ServletContext servletContext = parentContext == null ? null //
                : parentContext.getServletContext();
        final ModuleAppContext moduleContext = ModuleAppContext.createModuleContext(//
                parentContext, //
                moduleResource.getContextResources(), //
                moduleResource.getMessageBasenames(), //
                /*id*/moduleResource.getModuleUrl().toString(), //
                namespace//
        );

        // ??...applicationContext
        registerBeanDefinitions(moduleContext, moduleResource.getModuleClasses());

        // module
        final ModuleImpl module = new ModuleImpl(//
                parentModule, //
                moduleResource.getModuleUrl(), //
                moduleResource.getMappingPath(), //
                moduleResource.getRelativePath(), //
                moduleContext);
        //
        modulesAsMap.put(moduleResource, module);

        // servletContext
        if (servletContext != null) {
            String contextAttrKey = WebApplicationContext.class.getName() + "@" + moduleResource.getModuleUrl();
            servletContext.setAttribute(contextAttrKey, moduleContext);
        }

        // Springweb??ParamValidatorParamResolver, ControllerInterceptor, ControllerErrorHandler
        List<ParamResolver> customerResolvers = findContextResolvers(moduleContext);

        // resolvers
        module.setCustomerResolvers(customerResolvers);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply resolvers " + customerResolvers);
        }

        // module
        List<InterceptorDelegate> interceptors = findInterceptors(moduleContext);
        for (Iterator<InterceptorDelegate> iter = interceptors.iterator(); iter.hasNext();) {
            InterceptorDelegate interceptor = iter.next();

            ControllerInterceptor most = InterceptorDelegate.getMostInnerInterceptor(interceptor);

            if (!most.getClass().getName().startsWith("com.sinosoft.one.mvc.web")) {

                // deny?
                if (moduleResource.getInterceptedDeny() != null) {
                    if (MvcStringUtil.matches(moduleResource.getInterceptedDeny(), interceptor.getName())) {
                        iter.remove();
                        if (logger.isDebugEnabled()) {
                            logger.debug("module '" + module.getMappingPath()
                                    + "': remove interceptor by mvc.properties: " + most.getClass().getName());
                        }
                        continue;
                    }
                }
                //  allow?
                if (moduleResource.getInterceptedAllow() != null) {
                    if (!MvcStringUtil.matches(moduleResource.getInterceptedAllow(), interceptor.getName())) {
                        iter.remove();
                        if (logger.isDebugEnabled()) {
                            logger.debug("module '" + module.getMappingPath()
                                    + "': remove interceptor by mvc.properties: " + most.getClass().getName());
                        }
                        continue;
                    }
                }
            }
        }
        module.setControllerInterceptors(interceptors);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply intercetpors " + interceptors);
        }

        // validatormodule
        List<ParamValidator> validators = findContextValidators(moduleContext);
        module.setValidators(validators);
        if (logger.isDebugEnabled()) {
            logger.debug("module '" + module.getMappingPath() + "': apply global validators " + validators);
        }

        // errorhandler
        ControllerErrorHandler errorHandler = getContextErrorHandler(moduleContext);
        if (errorHandler != null) {
            if (Proxy.isProxyClass(errorHandler.getClass())) {
                module.setErrorHandler(errorHandler);
            } else {
                ErrorHandlerDispatcher dispatcher = new ErrorHandlerDispatcher(errorHandler);
                module.setErrorHandler(dispatcher);
            }
            if (logger.isInfoEnabled()) {
                logger.info("set errorHandler: " + module.getMappingPath() + "  " + errorHandler);
            }
        }

        // controllers
        final ListableBeanFactory beanFactory = moduleContext.getBeanFactory();
        for (String beanName : beanFactory.getBeanDefinitionNames()) {
            checkController(moduleContext, beanName, module);
        }

        // 
        modules.add(module);
    }

    return modules;
}

From source file:org.openadaptor.spring.SpringAdaptor.java

private void configureMBeanServer(ListableBeanFactory factory) {
    MBeanServer mbeanServer = (MBeanServer) getFirstBeanOfType(factory, MBeanServer.class);
    if (mbeanServer == null && jmxPort != 0) {
        mbeanServer = new org.openadaptor.core.jmx.MBeanServer(jmxPort);
    }/*w  ww . java 2s.c  o  m*/

    /* 
     * Accesses message processors from the adaptor. Message processors that 
     * under the hood wrap IRead & IWriteConnectors, IData & IEnrichmentProcessors
     * are capable of exposing component level metrics. Here they're registered
     * with the JMX server. 
     */
    Object adaptorObj = getFirstBeanOfType(factory, Adaptor.class);
    Map messageProcessorsByName = new HashMap();
    if (adaptorObj != null) {
        Collection messageProcessors = ((Adaptor) adaptorObj).getMessageProcessors();
        Iterator it = messageProcessors.iterator();
        while (it.hasNext()) {
            IComponent messageProcessor = (IComponent) it.next();
            messageProcessorsByName.put(messageProcessor.getId(), messageProcessor);
        }
    }

    /* Registers components with JMX server */
    if (mbeanServer != null) {
        attemptToRegisterBean(new FactoryConfig(configUrls), mbeanServer, "Config");
        String[] beanNames = factory.getBeanDefinitionNames();
        for (int i = 0; i < beanNames.length; i++) {

            /* Register the bean */
            Object bean = factory.getBean(beanNames[i]);
            if (bean instanceof Administrable) {
                bean = ((Administrable) bean).getAdmin();
            }
            attemptToRegisterBean(bean, mbeanServer, beanNames[i]);

            /* Register the message processor corresponding to the bean */
            IComponent msgProcessor = (IComponent) messageProcessorsByName.get(beanNames[i]);
            if (msgProcessor != null && msgProcessor instanceof Administrable) {
                bean = ((Administrable) msgProcessor).getAdmin();
                attemptToRegisterBean(bean, mbeanServer, beanNames[i] + "-metrics");
            }
        }
    }
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

@Test
public void testEmpty() {
    ListableBeanFactory lbf = new DefaultListableBeanFactory();
    assertTrue("No beans defined --> array != null", lbf.getBeanDefinitionNames() != null);
    assertTrue("No beans defined after no arg constructor", lbf.getBeanDefinitionNames().length == 0);
    assertTrue("No beans defined after no arg constructor", lbf.getBeanDefinitionCount() == 0);
}

From source file:org.springframework.beans.factory.DefaultListableBeanFactoryTests.java

private void testSingleTestBean(ListableBeanFactory lbf) {
    assertTrue("1 beans defined", lbf.getBeanDefinitionCount() == 1);
    String[] names = lbf.getBeanDefinitionNames();
    assertTrue(names != lbf.getBeanDefinitionNames());
    assertTrue("Array length == 1", names.length == 1);
    assertTrue("0th element == test", names[0].equals("test"));
    TestBean tb = (TestBean) lbf.getBean("test");
    assertTrue("Test is non null", tb != null);
    assertTrue("Test bean name is Tony", "Tony".equals(tb.getName()));
    assertTrue("Test bean age is 48", tb.getAge() == 48);
}