Example usage for org.springframework.beans.factory.config BeanDefinition getBeanClassName

List of usage examples for org.springframework.beans.factory.config BeanDefinition getBeanClassName

Introduction

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

Prototype

@Nullable
String getBeanClassName();

Source Link

Document

Return the current bean class name of this bean definition.

Usage

From source file:com.googlecode.flyway.core.migration.java.JavaMigrationResolver.java

public Collection<Migration> resolveMigrations() {
    Collection<Migration> migrations = new ArrayList<Migration>();

    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            false);/*w  w w.j a va2  s  . co m*/
    provider.addIncludeFilter(new AssignableTypeFilter(JavaMigration.class));
    Set<BeanDefinition> components = provider.findCandidateComponents(basePackage);
    for (BeanDefinition beanDefinition : components) {
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        Class<?> clazz = ClassUtils.resolveClassName(beanDefinition.getBeanClassName(), classLoader);
        JavaMigration javaMigration = (JavaMigration) BeanUtils.instantiateClass(clazz);
        migrations.add(new JavaMigrationExecutor(javaMigration));
    }

    return migrations;
}

From source file:hwolf.spring.boot.servlet.ClassPathScanner.java

private void scanPackage(ClassPathScanningCandidateComponentProvider scanner, String basePackage) {

    for (BeanDefinition bd : scanner.findCandidateComponents(basePackage)) {
        try {//from  ww w.  j  a  va  2  s . c om
            if (debug) {
                LOGGER.debug("Found class " + bd.getBeanClassName());
            }
            result.add(Class.forName(bd.getBeanClassName()));
        } catch (ClassNotFoundException ex) {
            LOGGER.warn("Cannot load class " + bd.getBeanClassName(), ex);
        }
    }
}

From source file:org.bytesoft.bytejta.supports.spring.TransactionEndpointPostProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    ClassLoader cl = Thread.currentThread().getContextClassLoader();

    BeanDefinition protocolDef = null;//from   w w w.j a v a  2 s  . com

    List<BeanDefinition> beanDefList = new ArrayList<BeanDefinition>();
    String[] beanNameArray = beanFactory.getBeanDefinitionNames();
    for (int i = 0; i < beanNameArray.length; i++) {
        String beanName = beanNameArray[i];
        BeanDefinition beanDef = beanFactory.getBeanDefinition(beanName);
        String beanClassName = beanDef.getBeanClassName();

        Class<?> beanClass = null;
        try {
            beanClass = cl.loadClass(beanClassName);
        } catch (Exception ex) {
            continue;
        }

        if (TransactionEndpointAware.class.isAssignableFrom(beanClass)) {
            beanDefList.add(beanDef);
        } else if (ProtocolConfig.class.isAssignableFrom(beanClass)) {
            if (protocolDef == null) {
                protocolDef = beanDef;
            } else {
                throw new FatalBeanException(
                        "There are more than one com.alibaba.dubbo.config.ProtocolConfig was found!");
            }
        }
    }

    if (protocolDef == null) {
        throw new FatalBeanException(
                "No configuration of class com.alibaba.dubbo.config.ProtocolConfig was found.");
    }

    MutablePropertyValues protocolValues = protocolDef.getPropertyValues();
    PropertyValue protocolValue = protocolValues.getPropertyValue("port");
    if (protocolValue == null || protocolValue.getValue() == null) {
        throw new FatalBeanException("Attribute 'port' of <dubbo:protocol ... /> is null.");
    }

    String host = CommonUtils.getInetAddress();
    String port = String.valueOf(protocolValue.getValue());
    String identifier = String.format("%s:%s", host, port);

    for (int i = 0; i < beanDefList.size(); i++) {
        BeanDefinition beanDef = beanDefList.get(i);
        MutablePropertyValues mpv = beanDef.getPropertyValues();
        mpv.addPropertyValue(TransactionEndpointAware.ENDPOINT_FIELD_NAME, identifier);
    }

}

From source file:org.openmrs.module.CDAGenerator.api.impl.CDAGeneratorServiceImpl.java

@Override
public List<BaseCdaSectionHandler> getAllCdaSectionHandlers() {
    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            true);/*from   w  w w.j  a va2  s .c om*/

    provider.addIncludeFilter(new AssignableTypeFilter(BaseCdaSectionHandler.class));

    List<BaseCdaSectionHandler> sectionHandlers = new ArrayList<BaseCdaSectionHandler>();

    // scan in org.openmrs.module.CDAGenerator.Sectionhandlers package
    Set<BeanDefinition> components = provider
            .findCandidateComponents("org.openmrs.module.CDAGenerator.SectionHandlers");

    for (BeanDefinition component : components) {
        try {

            Class cls = Class.forName(component.getBeanClassName());

            BaseCdaSectionHandler p = (BaseCdaSectionHandler) cls.newInstance();
            if (p.templateid != null) {
                sectionHandlers.add(p);
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
    return sectionHandlers;
}

From source file:org.seasar.dao.spring.autoregister.AbstractAutoRegister.java

protected BeanDefinition findBeanDefinition(final String name) {
    if (name == null) {
        return null;
    }//from   www. j av  a2 s  .c om

    final String[] bdNames = getBeanFactory().getBeanDefinitionNames();
    for (int i = 0; i < getBeanFactory().getBeanDefinitionCount(); ++i) {
        final BeanDefinition bd = getBeanFactory().getBeanDefinition(bdNames[i]);
        if (name.equals(bd.getBeanClassName())) {
            return bd;
        }
    }
    return null;
}

From source file:org.openmrs.module.CDAGenerator.api.impl.CDAGeneratorServiceImpl.java

@Override
public List<BaseCdaTypeHandler> getAllCdaTypeChildHandlers() {

    ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(
            true);//w ww  .  j  av  a2  s.  com

    provider.addIncludeFilter(new AssignableTypeFilter(BaseCdaTypeHandler.class));

    List<BaseCdaTypeHandler> handlers = new ArrayList<BaseCdaTypeHandler>();

    // scan in org.openmrs.module.CDAGenerator.CDAHandlers package
    Set<BeanDefinition> components = provider
            .findCandidateComponents("org.openmrs.module.CDAGenerator.CDAHandlers");

    for (BeanDefinition component : components) {
        try {

            Class cls = Class.forName(component.getBeanClassName());

            BaseCdaTypeHandler p = (BaseCdaTypeHandler) cls.newInstance();
            if (p.templateid != null) {
                handlers.add(p);
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
    return handlers;
}

From source file:com.github.bjoern2.yolotyrion.spring.xml.RepositorySingleBeanDefinitionParser.java

protected String buildDefaultBeanName(BeanDefinition definition) {
    //      BeanDefinitionReaderUtils.generateBeanName(beanDefinition, registry)
    String shortClassName = ClassUtils.getShortName(definition.getBeanClassName());
    return Introspector.decapitalize(shortClassName);
}

From source file:com.walmart.gatling.JerseyConfig.java

/**
 * Scans for {@link javax.ws.rs.Path} annotated classes in the given packages and registers them with Jersey.
 * @param controllerPackages Jersery controller base package names
 *///from   w w w. j  a  v  a 2 s .  com
protected void registerControllers(String[] controllerPackages) {
    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false);
    scanner.addIncludeFilter(new AnnotationTypeFilter(javax.ws.rs.Path.class));

    for (String controllerPackage : controllerPackages) {
        logger.info("Scanning for Jersey controllers in '{}' package.", controllerPackage);

        for (BeanDefinition bd : scanner.findCandidateComponents(controllerPackage)) {
            logger.info("Registering Jersey endpoint class:  {}", bd.getBeanClassName());
            Class<?> controllerClazz = getJerseyControllerClass(bd.getBeanClassName());
            if (controllerClazz != null)
                register(controllerClazz);
        }
    }
}

From source file:org.bytesoft.bytetcc.supports.spring.CompensableEndpointPostProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    ClassLoader cl = Thread.currentThread().getContextClassLoader();

    BeanDefinition protocolDef = null;// w ww  . j ava2  s  . co m

    List<BeanDefinition> beanDefList = new ArrayList<BeanDefinition>();
    String[] beanNameArray = beanFactory.getBeanDefinitionNames();
    for (int i = 0; i < beanNameArray.length; i++) {
        String beanName = beanNameArray[i];
        BeanDefinition beanDef = beanFactory.getBeanDefinition(beanName);
        String beanClassName = beanDef.getBeanClassName();

        Class<?> beanClass = null;
        try {
            beanClass = cl.loadClass(beanClassName);
        } catch (Exception ex) {
            logger.debug("Cannot load class {}, beanId= {}!", beanClassName, beanName, ex);
            continue;
        }

        if (CompensableEndpointAware.class.isAssignableFrom(beanClass)) {
            beanDefList.add(beanDef);
        } else if (ProtocolConfig.class.isAssignableFrom(beanClass)) {
            if (protocolDef == null) {
                protocolDef = beanDef;
            } else {
                throw new FatalBeanException(
                        "There are more than one com.alibaba.dubbo.config.ProtocolConfig was found!");
            }
        }
    }

    if (protocolDef == null) {
        throw new FatalBeanException(
                "No configuration of class com.alibaba.dubbo.config.ProtocolConfig was found.");
    }

    MutablePropertyValues protocolValues = protocolDef.getPropertyValues();
    PropertyValue protocolValue = protocolValues.getPropertyValue("port");
    if (protocolValue == null || protocolValue.getValue() == null) {
        throw new FatalBeanException("Attribute 'port' of <dubbo:protocol ... /> is null.");
    }

    String host = CommonUtils.getInetAddress();
    String port = String.valueOf(protocolValue.getValue());
    String identifier = String.format("%s:%s", host, port);

    for (int i = 0; i < beanDefList.size(); i++) {
        BeanDefinition beanDef = beanDefList.get(i);
        MutablePropertyValues mpv = beanDef.getPropertyValues();
        mpv.addPropertyValue(CompensableEndpointAware.ENDPOINT_FIELD_NAME, identifier);
    }

}

From source file:com.reactivetechnologies.analytics.mapper.DataMappers.java

DataMappers() {
    scanner = new ClassPathScanningCandidateComponentProvider(false);
    scanner.addIncludeFilter(new TypeFilter() {

        @Override/* w  w  w  .j  ava  2 s . c om*/
        public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)
                throws IOException {
            if (metadataReader.getClassMetadata().getClassName().equals(DataMappers.class.getName()))
                return false;
            String[] iFaces = metadataReader.getClassMetadata().getInterfaceNames();
            Arrays.sort(iFaces);
            return Arrays.binarySearch(iFaces, DataMapper.class.getName()) >= 0;
        }
    });

    Set<BeanDefinition> set = scanner.findCandidateComponents(ClassUtils.getPackageName(DataMapper.class));
    if (set.isEmpty()) {
        throw new BeanCreationException("No data mapper implementation classes could be found under package ["
                + ClassUtils.getPackageName(DataMapper.class) + "]");
    }
    for (BeanDefinition bd : set) {
        try {
            DataMapper dm = (DataMapper) ObjenesisHelper.newInstance(Class.forName(bd.getBeanClassName()));
            cache.put(dm.type(), dm);
            log.debug("Found data mapper:: Type [" + dm.type() + "] \t" + dm.getClass());
        } catch (ClassNotFoundException e) {
            throw new BeanCreationException("Unable to instantiate data mapper class", e);
        }

    }
}