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

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

Introduction

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

Prototype

BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException;

Source Link

Document

Return the registered BeanDefinition for the specified bean, allowing access to its property values and constructor argument value (which can be modified during bean factory post-processing).

Usage

From source file:com.jaspersoft.jasperserver.api.common.util.spring.AbstractBeanPropertyProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
    BeanDefinition beanDefinition = beanFactory.getBeanDefinition(getBeanName());
    MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
    Object value = null;// www  .j  av  a  2 s.  c  o  m
    PropertyValue propertyValue = propertyValues.getPropertyValue(getPropertyName());
    if (propertyValue != null) {
        value = propertyValue.getValue();
    }

    if (log.isDebugEnabled()) {
        log.debug("Original value of " + getBeanName() + "." + getPropertyName() + ": " + value);
    }

    Object appendedValue = getProcessedPropertyValue(value);

    if (log.isDebugEnabled()) {
        log.debug("New value of " + getBeanName() + "." + getPropertyName() + ": " + appendedValue);
    }

    propertyValues.addPropertyValue(getPropertyName(), appendedValue);
}

From source file:com.apporiented.spring.override.MapMergeProcessor.java

@SuppressWarnings({ "rawtypes", "unchecked" })
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    BeanDefinition bd = beanFactory.getBeanDefinition(ref);
    if (property == null) {
        Assert.state(MapFactoryBean.class.getName().equals(bd.getBeanClassName()),
                "Bean [" + ref + "] must be a MapFactoryBean");

        property = "sourceMap";
    }//  w w  w.ja v a 2 s .com

    if (log.isInfoEnabled()) {
        String keys = StringUtils.collectionToCommaDelimitedString(entries.keySet());
        log.debug("Adding [" + keys + "] to " + ref + "." + property);
    }

    PropertyValue pv = bd.getPropertyValues().getPropertyValue(property);
    if (pv == null) {
        // No map set on the target bean, create a new one ...
        ManagedMap map = new ManagedMap();
        map.putAll(entries);
        bd.getPropertyValues().addPropertyValue(property, map);
    } else {
        Object value = pv.getValue();
        if (value instanceof RuntimeBeanReference) {
            RuntimeBeanReference ref = (RuntimeBeanReference) value;
            value = beanFactory.getBean(ref.getBeanName());
        }
        Assert.isInstanceOf(Map.class, value);
        Map map = (Map) value;
        map.putAll(entries);
    }
}

From source file:com.jaspersoft.jasperserver.api.common.util.spring.BeanDefinitionOverrider.java

protected void overrideDefinition(ConfigurableListableBeanFactory beanFactory) {
    BeanDefinition originalBean = beanFactory.getBeanDefinition(originalBeanName);
    BeanDefinition overridingBean = beanFactory.getBeanDefinition(overridingBeanName);

    if (log.isDebugEnabled()) {
        log.debug("Overriding " + originalBeanName + " bean definition with " + overridingBeanName);
    }//from   ww w . ja v  a2 s  . c o m

    if (!originalBean.getBeanClassName().equals(overridingBean.getBeanClassName())) {
        if (log.isDebugEnabled()) {
            log.debug("Setting " + originalBeanName + " class name to " + " to "
                    + overridingBean.getBeanClassName());
        }

        originalBean.setBeanClassName(overridingBean.getBeanClassName());
    }

    if (log.isDebugEnabled()) {
        log.debug("Adding " + overridingBeanName + " properties to " + originalBeanName);
    }

    MutablePropertyValues originalProps = originalBean.getPropertyValues();
    MutablePropertyValues overridingProps = overridingBean.getPropertyValues();

    if (!mergeProperties) {
        originalProps.getPropertyValueList().clear();
    }

    originalProps.addPropertyValues(overridingProps);
}

From source file:com.apporiented.spring.override.PropertyOverrideProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    log.debug("Overriding properties of bean [" + ref + "]");
    BeanDefinition bd = beanFactory.getBeanDefinition(ref);
    bd.getPropertyValues().addPropertyValues(propertyValues);
}

From source file:com.apporiented.spring.override.ListMergeProcessor.java

@SuppressWarnings({ "rawtypes", "unchecked" })
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    BeanDefinition bd = beanFactory.getBeanDefinition(ref);
    if (property == null) {
        //Assert.state(ListFactoryBean.class.getName().equals(bd.getBeanClassName()),
        //        "Bean [" + ref + "] must be a ListFactoryBean");

        property = "sourceList";
    }//from   w w  w  .ja v  a 2 s.  co  m

    log.debug("Adding " + values.size() + " items to " + ref + "." + property + ": " + values);

    PropertyValue pv = bd.getPropertyValues().getPropertyValue(property);
    if (pv == null) {
        // No list set on the target bean, create a new one ...
        ManagedList list = new ManagedList();
        list.addAll(values);
        bd.getPropertyValues().addPropertyValue(property, list);
    } else {
        Object value = pv.getValue();
        if (value instanceof RuntimeBeanReference) {
            RuntimeBeanReference ref = (RuntimeBeanReference) value;
            value = beanFactory.getBean(ref.getBeanName());
        } else if (value instanceof TypedStringValue) {
            TypedStringValue tsv = (TypedStringValue) value;
            ManagedList list = new ManagedList();
            list.addAll(values);
            list.add(tsv.getValue());
            bd.getPropertyValues().addPropertyValue(property, list);
            return;
        }
        Assert.isInstanceOf(List.class, value);
        List list = (List) value;
        if (append) {
            list.addAll(values);
        } else {
            for (int i = values.size() - 1; i >= 0; i--) {
                list.add(0, values.get(i));
            }
        }
    }
}

From source file:org.jdal.aop.DeclareMixinAutoProxyCreatorConfigurer.java

/**
 * {@inheritDoc}//from www . j a  v  a 2s  .  c o  m
 */
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    AopConfigUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary((BeanDefinitionRegistry) beanFactory);
    BeanDefinition bd = beanFactory.getBeanDefinition(AopConfigUtils.AUTO_PROXY_CREATOR_BEAN_NAME);
    bd.getPropertyValues().add("aspectJAdvisorFactory", new DeclareMixinAspectJAdvisorFactory());
}

From source file:example.app.config.gemfire.GemFireDependsOnBeanFactoryPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    for (String beanName : gemfireCacheBeanNames(beanFactory)) {
        BeanDefinition bean = beanFactory.getBeanDefinition(beanName);
        List<String> beanDependencies = new ArrayList<>(asList(bean.getDependsOn()));
        beanDependencies.addAll(dependsOnBeanNames);
        bean.setDependsOn(beanDependencies.toArray(new String[beanDependencies.size()]));
    }//from  ww w  .  j  a va2 s.c  o  m
}

From source file:net.tirasa.blog.ilgrosso.dynamicspringtransactional.TransactionInterceptorReplacer.java

@Override
public void postProcessBeanFactory(final ConfigurableListableBeanFactory factory) throws BeansException {

    String[] names = factory.getBeanNamesForType(TransactionInterceptor.class);
    for (String name : names) {
        BeanDefinition bd = factory.getBeanDefinition(name);
        bd.setBeanClassName(DynamicTransactionInterceptor.class.getName());
    }//from ww  w. jav  a2  s  . c o  m
}

From source file:com.isalnikov.config.hendler.BeanHendlerFactoryPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    String[] names = beanFactory.getBeanDefinitionNames();
    for (String name : names) {
        BeanDefinition beanDefinition = beanFactory.getBeanDefinition(name);
        String beanClassName = beanDefinition.getBeanClassName();
        try {/*from w  w w . ja va  2s  . c  o m*/
            System.out.println(beanClassName);
            if (beanClassName != null) {
                Class<?> beanClass = Class.forName(beanClassName);
                if (beanClass != null) {
                    ///           System.out.println(beanClassName);
                }
            }
        } catch (ClassNotFoundException e) {
            System.out.println(e);
        }

    }

}

From source file:gov.nih.nci.cabig.ctms.tools.spring.BeanNameControllerUrlResolver.java

protected ResolvedControllerReference createResolvedReference(String controllerName,
        ConfigurableListableBeanFactory beanFactory) {
    if (log.isDebugEnabled())
        log.debug("Resolving URL for controller " + controllerName);
    BeanDefinition def = beanFactory.getBeanDefinition(controllerName);
    String url = resolveUrl(controllerName, beanFactory);
    if (url != null) {
        if (log.isDebugEnabled())
            log.debug("URL for " + controllerName + " is " + url);
        return new ResolvedControllerReference(controllerName, def.getBeanClassName(), servletName, url);
    } else {/*from  w ww  .j  a  va2  s  .c o m*/
        log.warn("Could not find a URL mapping for controller bean " + controllerName);
        return null;
    }
}