Example usage for org.springframework.context.annotation ScannedGenericBeanDefinition setPropertyValues

List of usage examples for org.springframework.context.annotation ScannedGenericBeanDefinition setPropertyValues

Introduction

In this page you can find the example usage for org.springframework.context.annotation ScannedGenericBeanDefinition setPropertyValues.

Prototype

public void setPropertyValues(MutablePropertyValues propertyValues) 

Source Link

Document

Specify property values for this bean, if any.

Usage

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

private void registerLioDefinition(ConfigurableListableBeanFactory beanFactory, BeanDefinition beanDefinition) {
    final String LioClassName = beanDefinition.getBeanClassName();
    MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
    /*/*from  ww  w  .ja v  a 2s.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:com.laxser.blitz.lama.core.LamaDaoProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    if (logger.isInfoEnabled()) {
        logger.info("[jade] starting ...");
    }//from   w  w w  . ja va 2  s.  c  o m
    final List<ResourceRef> resources;
    try {
        resources = BlitzScanner.getInstance().getJarOrClassesFolderResources();
    } catch (IOException e) {
        throw new ApplicationContextException("error on getJarResources/getClassesFolderResources", e);
    }
    List<String> urls = new LinkedList<String>();
    for (ResourceRef resourceInfo : resources) {
        if (resourceInfo.hasModifier("dao") || resourceInfo.hasModifier("DAO")) {
            try {
                Resource resource = resourceInfo.getResource();
                File resourceFile = resource.getFile();
                if (resourceFile.isFile()) {
                    urls.add("jar:file:" + resourceFile.toURI().getPath() + ResourceUtils.JAR_URL_SEPARATOR);
                } else if (resourceFile.isDirectory()) {
                    urls.add(resourceFile.toURI().toString());
                }
            } catch (IOException e) {
                throw new ApplicationContextException("error on resource.getFile", e);
            }
        }
    }

    if (logger.isInfoEnabled()) {
        logger.info("[jade] found " + urls.size() + " jade urls: " + urls);
    }
    if (urls.size() > 0) {
        LamaDaoComponentProvider provider = new LamaDaoComponentProvider(true);
        if (filters != null) {
            for (TypeFilter excludeFilter : filters) {
                provider.addExcludeFilter(excludeFilter);
            }
        }

        final DataAccessProvider dataAccessProvider = createJdbcTemplateDataAccessProvider();

        Set<String> daoClassNames = new HashSet<String>();

        for (String url : urls) {
            if (logger.isInfoEnabled()) {
                logger.info("[jade] call 'jade/find'");
            }
            Set<BeanDefinition> dfs = provider.findCandidateComponents(url);
            if (logger.isInfoEnabled()) {
                logger.info("[jade] found " + dfs.size()//
                        + " beanDefinition from '" + url + "'");
            }
            for (BeanDefinition beanDefinition : dfs) {
                String daoClassName = beanDefinition.getBeanClassName();

                if (daoClassNames.contains(daoClassName)) {
                    if (logger.isDebugEnabled()) {
                        logger.debug("[jade] ignored replicated jade dao class: " + daoClassName + "  [" + url
                                + "]");
                    }
                    continue;
                }
                daoClassNames.add(daoClassName);

                MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
                propertyValues.addPropertyValue("dataAccessProvider", dataAccessProvider);
                propertyValues.addPropertyValue("daoClass", daoClassName);
                ScannedGenericBeanDefinition scannedBeanDefinition = (ScannedGenericBeanDefinition) beanDefinition;
                scannedBeanDefinition.setPropertyValues(propertyValues);
                scannedBeanDefinition.setBeanClass(LamaDaoFactoryBean.class);

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

                if (logger.isDebugEnabled()) {
                    logger.debug("[jade] register jade dao bean: " + daoClassName);
                }
            }
        }
    }
    if (logger.isInfoEnabled()) {
        logger.info("[jade] exits");
    }
}

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

private void registerLioDefinition(ConfigurableListableBeanFactory beanFactory, BeanDefinition beanDefinition) {
    final String LioClassName = beanDefinition.getBeanClassName();
    MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
    /*/*from  w ww . ja  v a2s  . c  o m*/
     * ?? MongoFactoryBean ??
     */
    propertyValues.addPropertyValue("objectType", LioClassName);

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

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

From source file:net.paoding.rose.jade.context.spring.JadeBeanFactoryPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    String postProcessor = System.getProperty("jade.spring.postProcessor");
    if ("disable".equals(postProcessor)) {
        logger.info("jade.spring.postProcessor: disable");
        return;//from  ww  w . java 2 s .c o  m
    } else if (postProcessor == null || "enable".equals(postProcessor)) {
        logger.info("jade.spring.postProcessor: enable");
    } else {
        throw new IllegalArgumentException(//
                "illegal property of 'jade.spring.postProcessor': " + postProcessor);
    }
    if (logger.isInfoEnabled()) {
        logger.info("[jade] starting ...");
    }
    final List<ResourceRef> resources;
    try {
        // scope
        resources = RoseScanner.getInstance().getJarOrClassesFolderResources();
    } catch (IOException e) {
        throw new ApplicationContextException("error on getJarResources/getClassesFolderResources", e);
    }
    List<String> urls = new LinkedList<String>();
    for (ResourceRef ref : resources) {
        if (ref.hasModifier("dao") || ref.hasModifier("DAO")) {
            try {
                Resource resource = ref.getResource();
                File resourceFile = resource.getFile();
                if (resourceFile.isFile()) {
                    urls.add("jar:file:" + resourceFile.toURI().getPath() + ResourceUtils.JAR_URL_SEPARATOR);
                } else if (resourceFile.isDirectory()) {
                    urls.add(resourceFile.toURI().toString());
                }
            } catch (IOException e) {
                throw new ApplicationContextException("error on resource.getFile", e);
            }
        }
    }

    if (logger.isInfoEnabled()) {
        logger.info("[jade] found " + urls.size() + " jade urls: " + urls);
    }
    if (urls.size() > 0) {
        DAOComponentProvider provider = new DAOComponentProvider(true);
        if (filters != null) {
            for (TypeFilter excludeFilter : filters) {
                provider.addExcludeFilter(excludeFilter);
            }
        }

        Set<String> daoClassNames = new HashSet<String>();

        for (String url : urls) {
            if (logger.isInfoEnabled()) {
                logger.info("[jade] call 'jade/find'");
            }
            Set<BeanDefinition> dfs = provider.findCandidateComponents(url);
            if (logger.isInfoEnabled()) {
                logger.info("[jade] found " + dfs.size() + " beanDefinition from '" + url + "'");
            }
            for (BeanDefinition beanDefinition : dfs) {
                String daoClassName = beanDefinition.getBeanClassName();

                if (isDisable(daoClassName)) {
                    if (logger.isDebugEnabled()) {
                        logger.debug(
                                "[jade] ignored disabled jade dao class: " + daoClassName + "  [" + url + "]");
                    }
                    continue;
                }

                if (daoClassNames.contains(daoClassName)) {
                    if (logger.isDebugEnabled()) {
                        logger.debug("[jade] ignored replicated jade dao class: " + daoClassName + "  [" + url
                                + "]");
                    }
                    continue;
                }
                daoClassNames.add(daoClassName);

                MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
                propertyValues.addPropertyValue("DAOClass", daoClassName);
                ScannedGenericBeanDefinition scannedBeanDefinition = (ScannedGenericBeanDefinition) beanDefinition;
                scannedBeanDefinition.setPropertyValues(propertyValues);
                scannedBeanDefinition.setBeanClass(DAOFactoryBean.class);

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

                if (logger.isDebugEnabled()) {
                    logger.debug("[jade] register DAO: " + daoClassName);
                }
            }
        }
    }
    if (logger.isInfoEnabled()) {
        logger.info("[jade] exits");
    }
}

From source file:com.gzj.tulip.jade.context.spring.JadeBeanFactoryPostProcessor.java

private void registerDAODefinition(ConfigurableListableBeanFactory beanFactory, BeanDefinition beanDefinition) {
    final String daoClassName = beanDefinition.getBeanClassName();
    MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
    /*/*from   w  w  w .j  a  v a 2s .  c o  m*/
     * ?? JadeFactoryBean ??
     */
    propertyValues.addPropertyValue("objectType", daoClassName);
    propertyValues.addPropertyValue("dataAccessFactory", getDataAccessFactory(beanFactory));
    propertyValues.addPropertyValue("rowMapperFactory", getRowMapperFactory());
    propertyValues.addPropertyValue("interpreterFactory", getInterpreterFactory(beanFactory));
    String cacheProviderName = getCacheProviderName(beanFactory);
    if (cacheProviderName != null) {
        RuntimeBeanReference beanRef = new RuntimeBeanReference(cacheProviderName);
        propertyValues.addPropertyValue("cacheProvider", beanRef);
    }
    String statementWrapperProvider = getStatementWrapperProvider(beanFactory);
    if (statementWrapperProvider != null) {
        RuntimeBeanReference beanRef = new RuntimeBeanReference(statementWrapperProvider);
        propertyValues.addPropertyValue("statementWrapperProvider", beanRef);
    }
    ScannedGenericBeanDefinition scannedBeanDefinition = (ScannedGenericBeanDefinition) beanDefinition;
    scannedBeanDefinition.setPropertyValues(propertyValues);
    scannedBeanDefinition.setBeanClass(JadeFactoryBean.class);

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

    if (logger.isDebugEnabled()) {
        logger.debug("[jade] register DAO: " + daoClassName);
    }
}