Example usage for org.springframework.ide.eclipse.beans.core.model.process IBeansConfigPostProcessingContext getBeansConfig

List of usage examples for org.springframework.ide.eclipse.beans.core.model.process IBeansConfigPostProcessingContext getBeansConfig

Introduction

In this page you can find the example usage for org.springframework.ide.eclipse.beans.core.model.process IBeansConfigPostProcessingContext getBeansConfig.

Prototype

IBeansConfig getBeansConfig();

Source Link

Document

Returns the current IBeansConfig that is being post processed.

Usage

From source file:org.eclipse.virgo.ide.beans.core.internal.locate.SpringOsgiBeansConfigPostProcessor.java

/**
 * {@inheritDoc}/*ww w.  j  a  va  2  s  . c o m*/
 */
public void postProcess(IBeansConfigPostProcessingContext postProcessingContext) {
    IBeansConfig config = postProcessingContext.getBeansConfig();
    if (IBeansConfig.Type.AUTO_DETECTED == config.getType()
            && FacetUtils.isBundleProject(config.getElementResource())) {

        // Check if there is already a bean called bundleContext
        for (IBean bean : postProcessingContext.getBeansConfigRegistrySupport().getBeans()) {
            if (BUNDLE_CONTEXT_BEAN_NAME.equals(bean.getElementName())) {
                return;
            }
        }

        AbstractBeanDefinition beanDefinition = new RootBeanDefinition();
        beanDefinition.setBeanClassName(BUNDLE_CONTEXT_CLASS_NAME);
        beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
        BeanComponentDefinition componentDefinition = new BeanComponentDefinition(beanDefinition,
                BUNDLE_CONTEXT_BEAN_NAME);

        postProcessingContext.getBeansConfigRegistrySupport().registerComponent(componentDefinition);
    }
}