Example usage for org.springframework.beans.factory.support BeanDefinitionRegistry getBeanDefinitionNames

List of usage examples for org.springframework.beans.factory.support BeanDefinitionRegistry getBeanDefinitionNames

Introduction

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

Prototype

String[] getBeanDefinitionNames();

Source Link

Document

Return the names of all beans defined in this registry.

Usage

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

/** ?messageSourceRose? */
public static void registerMessageSourceIfNecessary(BeanDefinitionRegistry registry,
        String[] messageBaseNames) {
    if (!ArrayUtils.contains(registry.getBeanDefinitionNames(), MESSAGE_SOURCE_BEAN_NAME)) {
        logger.debug("registerMessageSource  " + ArrayUtils.toString(messageBaseNames));
        GenericBeanDefinition messageSource = new GenericBeanDefinition();
        messageSource.setBeanClass(ReloadableResourceBundleMessageSource.class);
        MutablePropertyValues propertyValues = new MutablePropertyValues();
        propertyValues.addPropertyValue("useCodeAsDefaultMessage", true);
        propertyValues.addPropertyValue("defaultEncoding", "UTF-8"); // propertiesUTF-8?ISO-9959-1
        propertyValues.addPropertyValue("cacheSeconds", 60); // hardcode! 60
        propertyValues.addPropertyValue("basenames", messageBaseNames);

        messageSource.setPropertyValues(propertyValues);
        registry.registerBeanDefinition(MESSAGE_SOURCE_BEAN_NAME, messageSource);
    }/*from w ww  .  java 2s.  c  om*/
}

From source file:de.axelfaust.alfresco.hackathon.cmisserver.repo.beans.PatternBasedBeanRemovingFactoryPostProcessor.java

/**
 * {@inheritDoc}/*from  ww w  .  j  a  v a2  s  .  c  om*/
 */
@Override
public void postProcessBeanDefinitionRegistry(final BeanDefinitionRegistry registry) throws BeansException {
    for (final String beanName : registry.getBeanDefinitionNames()) {
        if (beanName.matches(this.beanNamePattern) && !this.excludeBeanNames.contains(beanName)) {
            registry.removeBeanDefinition(beanName);
        }
    }
}

From source file:com.github.philippn.springremotingautoconfigure.server.annotation.HttpInvokerServiceExporterRegistrar.java

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
    for (String beanName : registry.getBeanDefinitionNames()) {
        BeanDefinition definition = registry.getBeanDefinition(beanName);
        if (definition.getBeanClassName() != null) {
            try {
                Class<?> resolvedClass = ClassUtils.forName(definition.getBeanClassName(), null);
                Class<?>[] beanInterfaces = resolvedClass.getInterfaces();
                for (Class<?> clazz : beanInterfaces) {
                    if (AnnotationUtils.isAnnotationDeclaredLocally(RemoteExport.class, clazz)) {
                        setupExport(clazz, beanName, registry);
                    }//from   ww w .  ja  va 2  s  .co  m
                }
            } catch (ClassNotFoundException e) {
                throw new IllegalStateException("Unable to inspect class " + definition.getBeanClassName()
                        + " for @RemoteExport annotations");
            }
        }
    }
}

From source file:minium.script.js.JsVariablePostProcessor.java

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
    String[] beanDefinitionNames = registry.getBeanDefinitionNames();
    for (String beanDefinitionName : beanDefinitionNames) {
        BeanDefinition beanDefinition = registry.getBeanDefinition(beanDefinitionName);
        if (beanDefinition instanceof AnnotatedBeanDefinition) {
            MethodMetadata metadata = ((AnnotatedBeanDefinition) beanDefinition).getFactoryMethodMetadata();
            if (metadata == null)
                continue;
            MultiValueMap<String, Object> attrs = metadata
                    .getAllAnnotationAttributes(JsVariable.class.getName());
            if (attrs == null)
                continue;
            variables.put(beanDefinitionName, attrs);
        }//from  w w  w .j a v a2  s . c  om
    }
}

From source file:net.peakplatform.sonar.plugins.spring.SpringSensor.java

private void checkXmlFile(final Project project, final SensorContext sensorContext,
        final org.sonar.api.resources.File beanFile) {
    String sourceDirectory = (String) project.getProperty(SpringPlugin.SOURCE_DIRECTORY);
    LOGGER.info("SpringSensor analyse sourceDirectory: " + sourceDirectory);
    File springBeanDefinition = this.projectFileSystem
            .resolvePath(sourceDirectory + "/" + beanFile.getLongName());

    org.springframework.core.io.Resource beanDefinitionsXML = new FileSystemResource(
            springBeanDefinition.getAbsolutePath());
    int beanCount = beanDefinitionReader.loadBeanDefinitions(beanDefinitionsXML);
    LOGGER.info("BeanClassCheck validate " + beanCount + " beans loaded.");
    BeanDefinitionRegistry beanDefinitionRegistry = beanDefinitionReader.getRegistry();
    String[] beanDefinitionNames = beanDefinitionRegistry.getBeanDefinitionNames();
    for (String beanDefinitionName : beanDefinitionNames) {
        LOGGER.info("BeanClassCheck validate beanDefinitionName: " + beanDefinitionName);
        BeanDefinition beanDefinition = beanDefinitionRegistry.getBeanDefinition(beanDefinitionName);
        BeanSourceCode beanSourceCode = new BeanSourceCode(beanFile, beanDefinition);

        for (BeanCheck beanCheck : springChecks) {
            LOGGER.info("SpringSensor analyse BeanCheck: " + beanCheck.getClass().getName());
            beanCheck.validate(beanSourceCode, project);
        }//from  ww w .  jav  a 2  s .  com

        LOGGER.info("SpringSensor analyse beanSourceCode.getViolations().size(): "
                + beanSourceCode.getViolations().size());
        for (Violation violation : beanSourceCode.getViolations()) {
            LOGGER.info("SpringSensor analyse violation.getMessage(): " + violation.getMessage());
            sensorContext.saveViolation(violation);
        }
    }
}

From source file:com.griddynamics.banshun.StrictContextParentBean.java

@Override
protected List<String> analyzeDependencies(List<String> configLocations) throws Exception {
    ContextAnalyzer analyzer = new ContextAnalyzer();
    List<Exception> exceptions = new LinkedList<>();

    List<String> limitedLocations = new ArrayList<>();
    for (String loc : configLocations) {
        BeanDefinitionRegistry beanFactory = getBeanFactory(loc);

        String[] beanNames = beanFactory.getBeanDefinitionNames();
        for (String beanName : beanNames) {
            BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
            try {
                if (isExport(beanDefinition)) {
                    analyzer.addExport(beanDefinition);
                    if (checkForRunOnly(beanName)) {
                        limitedLocations.add(loc);
                    }/*w w w  .j  a  v a2  s . c o m*/
                } else if (isImport(beanDefinition)) {
                    analyzer.addImport(beanDefinition);
                } else if (beanDefinition.getBeanClassName() != null) {
                    checkClassExist(loc, beanName, beanDefinition.getBeanClassName());
                }
            } catch (Exception ex) {
                exceptions.add(ex);
            }
        }
    }

    analyzer.areThereExportsWithoutImport();

    if (analyzer.areThereImportsWithoutExports() || !analyzer.areImportsTypesCorrect()) {
        exceptions.add(new BeanDefinitionValidationException(
                "There are severe errors while parsing contexts. See logs for details"));
    }

    if (!exceptions.isEmpty()) {
        for (Exception exception : exceptions) {
            log.error(exception.getMessage());
        }
        throw exceptions.get(0);
    }

    DependencySorter sorter = new DependencySorter(configLocations.toArray(new String[0]),
            analyzer.getImports(), analyzer.getExports());
    sorter.setProhibitCycles(prohibitCycles);

    locationsGraph = new LocationsGraph(analyzer.getImports(), analyzer.getExports());
    List<String> analyzedConfigLocations = locationsGraph.filterConfigLocations(limitedLocations,
            sorter.sort());

    log.info("ordered list of the contexts: {}", analyzedConfigLocations);

    return analyzedConfigLocations;
}

From source file:tk.mybatis.spring.mapper.MapperScannerConfigurer.java

/**
 * ??MapperFactoryBean?//from w  w  w  .  ja va  2s  .  c om
 *
 * @param registry
 */
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) {
    super.postProcessBeanDefinitionRegistry(registry);
    //?Mapper?
    this.mapperHelper.ifEmptyRegisterDefaultInterface();
    String[] names = registry.getBeanDefinitionNames();
    GenericBeanDefinition definition;
    for (String name : names) {
        BeanDefinition beanDefinition = registry.getBeanDefinition(name);
        if (beanDefinition instanceof GenericBeanDefinition) {
            definition = (GenericBeanDefinition) beanDefinition;
            if (StringUtil.isNotEmpty(definition.getBeanClassName())
                    && definition.getBeanClassName().equals("org.mybatis.spring.mapper.MapperFactoryBean")) {
                definition.setBeanClass(MapperFactoryBean.class);
                definition.getPropertyValues().add("mapperHelper", this.mapperHelper);
            }
        }
    }
}

From source file:com.github.philippn.springremotingautoconfigure.client.annotation.HttpInvokerProxyFactoryBeanRegistrar.java

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {

    Set<String> basePackages = new HashSet<>();
    for (String beanName : registry.getBeanDefinitionNames()) {
        BeanDefinition definition = registry.getBeanDefinition(beanName);
        if (definition.getBeanClassName() != null) {
            try {
                Class<?> resolvedClass = ClassUtils.forName(definition.getBeanClassName(), null);
                EnableHttpInvokerAutoProxy autoProxy = AnnotationUtils.findAnnotation(resolvedClass,
                        EnableHttpInvokerAutoProxy.class);
                if (autoProxy != null) {
                    if (autoProxy.basePackages().length > 0) {
                        Collections.addAll(basePackages, autoProxy.basePackages());
                    } else {
                        basePackages.add(resolvedClass.getPackage().getName());
                    }//w  w  w . ja v  a2s  .c o  m
                }
            } catch (ClassNotFoundException e) {
                throw new IllegalStateException("Unable to inspect class " + definition.getBeanClassName()
                        + " for @EnableHttpInvokerAutoProxy annotations");
            }
        }
    }

    ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(
            false) {

        /* (non-Javadoc)
        * @see org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider#isCandidateComponent(org.springframework.beans.factory.annotation.AnnotatedBeanDefinition)
        */
        @Override
        protected boolean isCandidateComponent(AnnotatedBeanDefinition beanDefinition) {
            return beanDefinition.getMetadata().isInterface() && beanDefinition.getMetadata().isIndependent();
        }
    };
    scanner.addIncludeFilter(new AnnotationTypeFilter(RemoteExport.class));

    for (String basePackage : basePackages) {
        for (BeanDefinition definition : scanner.findCandidateComponents(basePackage)) {
            if (definition.getBeanClassName() != null) {
                try {
                    Class<?> resolvedClass = ClassUtils.forName(definition.getBeanClassName(), null);
                    setupProxy(resolvedClass, registry);
                } catch (ClassNotFoundException e) {
                    throw new IllegalStateException("Unable to inspect class " + definition.getBeanClassName()
                            + " for @RemoteExport annotations");
                }
            }
        }
    }
}

From source file:com.arondor.common.reflection.parser.spring.XMLBeanDefinitionParser.java

public ObjectConfigurationMap parse() {
    BeanDefinitionRegistry registry = getBeanDefinitionRegistry();
    ObjectConfigurationMap parsedObjectConfiguration = objectConfigurationFactory
            .createObjectConfigurationMap();
    for (String beanDefinitionName : registry.getBeanDefinitionNames()) {
        LOGGER.debug("Bean defintion name : " + beanDefinitionName);
        ObjectConfiguration objectConfiguration = parseBeanDefinition(beanDefinitionName);
        objectConfiguration.setObjectName(beanDefinitionName);
        parsedObjectConfiguration.put(beanDefinitionName, objectConfiguration);
    }/*from   ww w  . j a  va  2s  .c om*/
    return parsedObjectConfiguration;
}