Example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory getBean

List of usage examples for org.springframework.beans.factory.config ConfigurableListableBeanFactory getBean

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory getBean.

Prototype

<T> T getBean(String name, Class<T> requiredType) throws BeansException;

Source Link

Document

Return an instance, which may be shared or independent, of the specified bean.

Usage

From source file:lodsve.core.condition.ConditionEvaluationReport.java

/**
 * Obtain a {@link ConditionEvaluationReport} for the specified bean factory.
 *
 * @param beanFactory the bean factory/*  w ww . j a v a2 s  . c o m*/
 * @return an existing or new {@link ConditionEvaluationReport}
 */
public static ConditionEvaluationReport get(ConfigurableListableBeanFactory beanFactory) {
    synchronized (beanFactory) {
        ConditionEvaluationReport report;
        if (beanFactory.containsSingleton(BEAN_NAME)) {
            report = beanFactory.getBean(BEAN_NAME, ConditionEvaluationReport.class);
        } else {
            report = new ConditionEvaluationReport();
            beanFactory.registerSingleton(BEAN_NAME, report);
        }
        locateParent(beanFactory.getParentBeanFactory(), report);
        return report;
    }
}

From source file:com.epam.ta.reportportal.auth.PermissionsRegisterBean.java

@SuppressWarnings("unchecked")
@Override//from w  w w  .j a v a  2s .com
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    Map<String, Permission> permissionBeans = beanFactory.getBeansOfType(Permission.class);
    Map<String, Permission> permissionsMap = beanFactory.getBean("permissionsMap", Map.class);
    for (Entry<String, Permission> permission : permissionBeans.entrySet()) {
        /*
         * There will be no NPE since we asked bean factory to get beans
         * with this annotation
         */
        for (String permissionName : permission.getValue().getClass().getAnnotation(LookupPermission.class)
                .value()) {
            /*
             * TODO add check for type before doing this
             */
            Permission permissionBean = permission.getValue();
            beanFactory.autowireBeanProperties(permissionBean, AutowireCapableBeanFactory.AUTOWIRE_NO, true);
            permissionsMap.put(permissionName, permissionBean);
        }
    }
}

From source file:com.asual.summer.core.resource.ResourceOrderProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    AbstractResource resource = null;/*from   w w w.  ja  v a  2 s  . com*/
    int count = 0;
    for (Object key : resources.keySet()) {
        if (key instanceof AbstractResource) {
            resource = (AbstractResource) key;
        } else if (key instanceof String) {
            resource = beanFactory.getBean((String) key, AbstractResource.class);
        }
        Integer order = resources.get(key);
        resource.setOrder(order != null ? order : count);
        count++;
    }
}

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

private Connector getConnector(ConfigurableListableBeanFactory beanFactory) {

    if (beanFactory.containsBeanDefinition("longio.connector")) {

        Connector connector = (Connector) beanFactory.getBean("longio.connector", Connector.class);

        return connector;
    }//from w w  w  .java2 s  . c  o  m
    return null;
}

From source file:com.agileapes.motorex.cli.value.impl.SpringValueReaderContext.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    final String[] names = beanFactory.getBeanDefinitionNames();
    for (String name : names) {
        final BeanDefinition definition = beanFactory.getBeanDefinition(name);
        if (definition.isSingleton()) {
            final String className = definition.getBeanClassName();
            try {
                final Class<?> beanType = ClassUtils.forName(className, beanFactory.getBeanClassLoader());
                if (ValueReader.class.isAssignableFrom(beanType)) {
                    register(beanFactory.getBean(name, ValueReader.class));
                }/* w  w  w  .  j av  a  2s  .c o  m*/
            } catch (ClassNotFoundException e) {
                throw new BeanCreationNotAllowedException(name, "Failed to access bean");
            }
        }
    }
}

From source file:com.agileapes.motorex.cli.target.impl.SpringExecutionTargetContext.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    final String[] names = beanFactory.getBeanDefinitionNames();
    for (String name : names) {
        final BeanDefinition definition = beanFactory.getBeanDefinition(name);
        if (definition.isSingleton()) {
            final String className = definition.getBeanClassName();
            try {
                final Class<?> beanClass = ClassUtils.forName(className, beanFactory.getBeanClassLoader());
                if (ExecutionTarget.class.isAssignableFrom(beanClass)) {
                    final ExecutionTarget target = beanFactory.getBean(name, ExecutionTarget.class);
                    if (target instanceof AbstractIdentifiedExecutionTarget) {
                        AbstractIdentifiedExecutionTarget executionTarget = (AbstractIdentifiedExecutionTarget) target;
                        executionTarget.setIdentifier(name);
                    }/*from   w w  w  . j  ava2s  .  c om*/
                    register(target);
                }
            } catch (ClassNotFoundException e) {
                throw new BeanCreationException(name, "Could not access bean class");
            }
        }
    }
}

From source file:com.baidu.jprotobuf.pbrpc.spring.annotation.ProtobufRpcAnnotationResolver.java

/**
 * Parses the ha rpc proxy annotation.//from   w w  w .j  av  a 2 s .c om
 *
 * @param rpcProxy the rpc proxy
 * @param beanFactory the bean factory
 * @return the object
 * @throws Exception the exception
 */
private Object parseHaRpcProxyAnnotation(HaRpcProxy rpcProxy, ConfigurableListableBeanFactory beanFactory)
        throws Exception {

    String namingServiceBeanName = parsePlaceholder(rpcProxy.namingServiceBeanName());
    NamingService namingService = (NamingService) beanFactory.getBean(namingServiceBeanName,
            NamingService.class);

    // get RpcClientOptions
    String rpcClientOptionsBeanName = parsePlaceholder(rpcProxy.rpcClientOptionsBeanName());

    RpcClientOptions rpcClientOptions;
    if (StringUtils.isBlank(rpcClientOptionsBeanName)) {
        rpcClientOptions = new RpcClientOptions();
    } else {
        // if not exist throw exception
        rpcClientOptions = (RpcClientOptions) beanFactory.getBean(rpcClientOptionsBeanName,
                RpcClientOptions.class);
    }

    HaRpcProxyFactoryBean haRpcProxyFactoryBean = new HaRpcProxyFactoryBean();
    haRpcProxyFactoryBean.copyFrom(rpcClientOptions);
    haRpcProxyFactoryBean.setNamingService(namingService);
    haRpcProxyFactoryBean.setServiceInterface(rpcProxy.serviceInterface());
    haRpcProxyFactoryBean.setLookupStubOnStartup(rpcProxy.lookupStubOnStartup());

    String failoverInteceptorBeanName = parsePlaceholder(rpcProxy.failoverInteceptorBeanName());
    if (!StringUtils.isBlank(failoverInteceptorBeanName)) {
        SocketFailOverInterceptor failOverInterceptor = (SocketFailOverInterceptor) beanFactory
                .getBean(failoverInteceptorBeanName, SocketFailOverInterceptor.class);
        haRpcProxyFactoryBean.setFailOverInterceptor(failOverInterceptor);
    } else {
        if (failOverInterceptor != null) {
            haRpcProxyFactoryBean.setFailOverInterceptor(failOverInterceptor);
        }
    }

    if (namingServiceLoadBalanceStrategyFactory != null) {
        haRpcProxyFactoryBean
                .setNamingServiceLoadBalanceStrategyFactory(namingServiceLoadBalanceStrategyFactory);
    }

    String interceptorName = parsePlaceholder(rpcProxy.invokerIntercepterBeanName());
    if (!StringUtils.isBlank(interceptorName)) {
        InvokerInterceptor interceptor = (InvokerInterceptor) beanFactory.getBean(interceptorName,
                InvokerInterceptor.class);
        haRpcProxyFactoryBean.setInterceptor(interceptor);

    } else {
        if (clientInterceptor != null) {
            haRpcProxyFactoryBean.setInterceptor(clientInterceptor);
        }
    }

    haRpcProxyFactoryBean.afterPropertiesSet();

    haRpcClients.add(haRpcProxyFactoryBean);

    return haRpcProxyFactoryBean.getObject();
}

From source file:org.jnap.core.persistence.factory.DaoFactory.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    Assert.isAssignable(DefaultListableBeanFactory.class, beanFactory.getClass(),
            "The DaoFactory only works within a DefaultListableBeanFactory capable "
                    + "BeanFactory. Your BeanFactory is " + beanFactory.getClass());
    this.beanFactory = beanFactory;
    final DefaultListableBeanFactory listableBeanFactory = (DefaultListableBeanFactory) beanFactory;

    String[] factoryNames = beanFactory.getBeanNamesForType(EntityManagerFactory.class);
    Set<EntityManagerFactory> factories = new HashSet<EntityManagerFactory>(factoryNames.length);
    for (String factoryName : factoryNames) {
        factories.add(beanFactory.getBean(factoryName, EntityManagerFactory.class));
    }//  w  ww  . j  a v  a  2 s .co  m

    for (EntityManagerFactory factory : factories) {
        factory.getMetamodel().getEntities();
        for (EntityType<?> entityMetadata : factory.getMetamodel().getEntities()) {
            Class<? extends PersistentModel> entityClass = (Class<? extends PersistentModel>) entityMetadata
                    .getJavaType();
            if (entityClass != null && !isDaoDefinedForEntity(beanFactory, entityClass)) {
                String daoName = buildDaoName(entityClass);
                listableBeanFactory.registerBeanDefinition(daoName, createDaoDefinition(entityClass, factory));
                daoNameCache.put(entityClass, daoName);
            }
        }
    }

    factories.clear();
    factories = null;
}

From source file:com.baidu.jprotobuf.pbrpc.spring.annotation.ProtobufRpcAnnotationResolver.java

/**
 * Parses the rpc proxy annotation.//from  w  w  w  . j  a va 2  s . co  m
 *
 * @param rpcProxy the rpc proxy
 * @param beanFactory the bean factory
 * @return the object
 * @throws Exception the exception
 */
private Object parseRpcProxyAnnotation(RpcProxy rpcProxy, ConfigurableListableBeanFactory beanFactory)
        throws Exception {

    // get RpcClientOptions
    String rpcClientOptionsBeanName = parsePlaceholder(rpcProxy.rpcClientOptionsBeanName());

    RpcClientOptions rpcClientOptions;
    if (StringUtils.isBlank(rpcClientOptionsBeanName)) {
        rpcClientOptions = new RpcClientOptions();
    } else {
        // if not exist throw exception
        rpcClientOptions = (RpcClientOptions) beanFactory.getBean(rpcClientOptionsBeanName,
                RpcClientOptions.class);
    }

    String port = parsePlaceholder(rpcProxy.port());
    // convert to integer and throw exception on error
    int intPort = Integer.valueOf(port);

    String host = parsePlaceholder(rpcProxy.host());

    RpcProxyFactoryBean rpcProxyFactoryBean = createRpcProxyFactoryBean(rpcProxy, beanFactory, rpcClientOptions,
            intPort, host);

    rpcProxyFactoryBean.afterPropertiesSet();

    rpcClients.add(rpcProxyFactoryBean);
    Object object = rpcProxyFactoryBean.getObject();
    if (protobufRpcAnnotationRessolverListener != null) {

        RpcProxyFactoryBean newRpcProxyFactoryBean = createRpcProxyFactoryBean(rpcProxy, beanFactory,
                rpcClientOptions, intPort, host);

        protobufRpcAnnotationRessolverListener.onRpcProxyAnnotationParsed(rpcProxy, newRpcProxyFactoryBean,
                rpcProxyFactoryBean.getProxyBean());
    }

    return object;
}

From source file:com.baidu.jprotobuf.pbrpc.spring.annotation.ProtobufRpcAnnotationResolver.java

/**
 * Creates the rpc proxy factory bean.//from w ww  .  j  a  v  a 2  s  . c om
 *
 * @param rpcProxy the rpc proxy
 * @param beanFactory the bean factory
 * @param rpcClientOptions the rpc client options
 * @param intPort the int port
 * @param host the host
 * @return the rpc proxy factory bean
 */
protected RpcProxyFactoryBean createRpcProxyFactoryBean(RpcProxy rpcProxy,
        ConfigurableListableBeanFactory beanFactory, RpcClientOptions rpcClientOptions, int intPort,
        String host) {
    RpcProxyFactoryBean rpcProxyFactoryBean = new RpcProxyFactoryBean();
    rpcProxyFactoryBean.copyFrom(rpcClientOptions);
    rpcProxyFactoryBean.setServiceInterface(rpcProxy.serviceInterface());
    rpcProxyFactoryBean.setPort(intPort);
    rpcProxyFactoryBean.setHost(host);
    rpcProxyFactoryBean.setLookupStubOnStartup(rpcProxy.lookupStubOnStartup());

    String interceptorName = parsePlaceholder(rpcProxy.invokerIntercepterBeanName());
    if (!StringUtils.isBlank(interceptorName)) {
        InvokerInterceptor interceptor = (InvokerInterceptor) beanFactory.getBean(interceptorName,
                InvokerInterceptor.class);
        rpcProxyFactoryBean.setInterceptor(interceptor);

    } else {
        if (clientInterceptor != null) {
            rpcProxyFactoryBean.setInterceptor(clientInterceptor);
        }
    }
    return rpcProxyFactoryBean;
}