Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder rootBeanDefinition

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder rootBeanDefinition

Introduction

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

Prototype

public static BeanDefinitionBuilder rootBeanDefinition(Class<?> beanClass) 

Source Link

Document

Create a new BeanDefinitionBuilder used to construct a RootBeanDefinition .

Usage

From source file:pl.bristleback.server.bristle.conf.namespace.BristlebackServerMessagesBeanDefinitionParser.java

private void registerClientActionClasses(ParserContext parserContext) {
    BeanDefinition autoProxyCreator = BeanDefinitionBuilder
            .rootBeanDefinition(DefaultAdvisorAutoProxyCreator.class).getBeanDefinition();
    registerBean(parserContext, autoProxyCreator, "autoProxyCreator");

    BeanDefinition clientActionClassPointcut = BeanDefinitionBuilder
            .rootBeanDefinition(AnnotationClassFilter.class).addConstructorArgValue(ClientActionClass.class)
            .getBeanDefinition();/*from w  w  w .j  a v  a2 s. c  o m*/
    registerBean(parserContext, clientActionClassPointcut, "outputAnnotationPointcut");

    BeanDefinition clientActionPointcut = BeanDefinitionBuilder
            .rootBeanDefinition(AnnotationMethodMatcher.class).addConstructorArgValue(ClientAction.class)
            .getBeanDefinition();
    registerBean(parserContext, clientActionPointcut, "outputActionAnnotationPointcut");

    BeanDefinition clientActionMechanismPointcut = BeanDefinitionBuilder
            .rootBeanDefinition(ComposablePointcut.class).addConstructorArgReference("outputAnnotationPointcut")
            .addConstructorArgReference("outputActionAnnotationPointcut").getBeanDefinition();
    registerBean(parserContext, clientActionMechanismPointcut, "clientActionMechanismPointcut");

    BeanDefinition clientActionInterceptor = BeanDefinitionBuilder
            .rootBeanDefinition(ClientActionProxyInterceptor.class).getBeanDefinition();
    registerBean(parserContext, clientActionInterceptor, "clientActionInterceptor");

    BeanDefinition clientActionMessageProxyAdvisor = BeanDefinitionBuilder
            .rootBeanDefinition(DefaultPointcutAdvisor.class)
            .addPropertyReference("pointcut", "clientActionMechanismPointcut")
            .addPropertyReference("advice", "clientActionInterceptor").getBeanDefinition();
    registerBean(parserContext, clientActionMessageProxyAdvisor, "clientActionMessageProxyAdvisor");
}

From source file:com.github.pjungermann.config.validation.ConfigValidatorTest.java

static void autowireByConstructor(Class... classes) {
    for (Class clazz : classes) {
        applicationContext.registerBeanDefinition(clazz.getName(),
                BeanDefinitionBuilder.rootBeanDefinition(clazz)
                        .setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR).getBeanDefinition());
    }//  ww w . j a  v  a2 s. c  o m
}

From source file:com.mtgi.analytics.aop.config.v11.SchedulerActivationPostProcessor.java

/**
 * Convenience method to register a {@link SchedulerActivationPostProcessor} in the given BeanFactory
 * parse context with the given properties.
 * @param parseContext the target bean factory in this context will have a {@link SchedulerActivationPostProcessor} registered
 * @param sourceFactory the source for both the named scheduler and trigger instances
 * @param schedulerName the name of the Quartz {@link Scheduler} in <code>sourceFactory</code> to use
 * @param triggerName the name of the Quarty {@link Trigger} in <code>sourceFactory</code> that must be scheduled
 *//*ww w.  java 2s.c o  m*/
public static void registerPostProcessor(ParserContext parseContext, BeanFactory sourceFactory,
        String schedulerName, String triggerName) {
    BeanDefinitionBuilder scheduleBootstrap = BeanDefinitionBuilder
            .rootBeanDefinition(SchedulerActivationPostProcessor.class);
    scheduleBootstrap.addPropertyValue("sourceFactory", sourceFactory);
    scheduleBootstrap.addPropertyValue("schedulerName", schedulerName);
    scheduleBootstrap.addPropertyValue("triggerName", triggerName);
    scheduleBootstrap.setLazyInit(false);
    parseContext.getReaderContext().registerWithGeneratedName(scheduleBootstrap.getBeanDefinition());
}

From source file:it.scoppelletti.programmerpower.web.spring.config.ChannelFilterBeanDefinitionParser.java

/**
 * Restituisce la definizione del componente 
 * {@code FilterInvocationSecurityMetadataSource}.
 * /*w  w w  .j  a va 2s. c  om*/
 * @param  el Elemento XML.
 * @return    Oggetto.
 */
private BeanDefinition createSecurityMetadataSource(Element el) {
    BeanDefinitionBuilder builder;

    builder = BeanDefinitionBuilder.rootBeanDefinition(DefaultFilterInvocationSecurityMetadataSource.class);
    builder.addConstructorArgValue(parseInterceptors(el));

    return builder.getBeanDefinition();
}

From source file:it.scoppelletti.programmerpower.web.spring.config.SecurityFilterBeanDefinitionParser.java

/**
 * Restituisce la definizione del componente 
 * {@code FilterInvocationSecurityMetadataSource}.
 * //www .j  a  va2  s.c o  m
 * @param  el Elemento XML.
 * @return    Oggetto.
 */
private BeanDefinition createSecurityMetadataSource(Element el) {
    BeanDefinitionBuilder builder;

    builder = BeanDefinitionBuilder
            .rootBeanDefinition(ExpressionBasedFilterInvocationSecurityMetadataSource.class);
    builder.addConstructorArgValue(parseInterceptors(el));
    builder.addConstructorArgReference(el.getAttribute("expression-handler-ref"));

    return builder.getBeanDefinition();
}

From source file:org.trpr.platform.batch.impl.job.ha.service.CuratorJobSyncHandlerFactory.java

/**
 * Interface method implementation. /* ww w .  j av a 2 s .c o  m*/
 * Constructs and returns as instance of {@link CuratorJobSyncHandler} for Trooper batch runtime.
 * @see org.springframework.beans.factory.FactoryBean#getObject()
 */
@Override
public CuratorJobSyncHandler getObject() throws Exception {
    ApplicationContext context = SpringBatchComponentContainer.getCommonBatchBeansContext();
    if (!context.containsBean(this.SYNC_HANDLER_BEAN_NAME)) {
        DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) context
                .getAutowireCapableBeanFactory();
        BeanDefinitionBuilder builder = BeanDefinitionBuilder
                .rootBeanDefinition(CuratorJobSyncHandler.class.getName())
                .addConstructorArgValue(jobConfigurationService).addConstructorArgValue(curatorFramework)
                .addConstructorArgValue(bootstrapMonitorBean);
        beanFactory.registerBeanDefinition(this.SYNC_HANDLER_BEAN_NAME, builder.getBeanDefinition());
    }
    return (CuratorJobSyncHandler) context.getBean(this.SYNC_HANDLER_BEAN_NAME);
}

From source file:com.dangdang.ddframe.rdb.sharding.spring.namespace.parser.ShardingJdbcDataSourceBeanDefinitionParser.java

private BeanDefinition parseShardingRuleConfig(final Element element, final ParserContext parserContext) {
    Element shardingRuleElement = DomUtils.getChildElementByTagName(element,
            ShardingJdbcDataSourceBeanDefinitionParserTag.SHARDING_RULE_CONFIG_TAG);
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(ShardingRuleConfig.class);
    factory.addPropertyValue("dataSource", parseDataSources(shardingRuleElement, parserContext));
    parseDefaultDataSource(factory, shardingRuleElement);
    factory.addPropertyValue("tables", parseTableRulesConfig(shardingRuleElement));
    factory.addPropertyValue("bindingTables", parseBindingTablesConfig(shardingRuleElement));
    factory.addPropertyValue("defaultDatabaseStrategy",
            parseDefaultDatabaseStrategyConfig(shardingRuleElement));
    factory.addPropertyValue("defaultTableStrategy", parseDefaultTableStrategyConfig(shardingRuleElement));
    return factory.getBeanDefinition();
}

From source file:egov.data.hibernate.repository.config.HibernateRepositoryConfigDefinitionParser.java

@Override
protected void registerBeansForRoot(BeanDefinitionRegistry registry, Object source) {
    super.registerBeansForRoot(registry, source);
    if (!hasBean(PET_POST_PROCESSOR, registry)) {
        AbstractBeanDefinition definition = BeanDefinitionBuilder.rootBeanDefinition(PET_POST_PROCESSOR)
                .getBeanDefinition();/*from ww w .j  ava  2 s . c  o m*/
        registerWithSourceAndGeneratedBeanName(registry, definition, source);
    }
    if (!hasBean(PAB_POST_PROCESSOR, registry)) {
        AbstractBeanDefinition definition = BeanDefinitionBuilder.rootBeanDefinition(PAB_POST_PROCESSOR)
                .getBeanDefinition();
        registerWithSourceAndGeneratedBeanName(registry, definition, source);
    }
}

From source file:biz.c24.io.spring.config.C24ModelBeanDefinitionParser.java

@Override
public AbstractBeanDefinition parseInternal(Element element, ParserContext context) {

    String basePackage = element.getAttribute("base-package");
    String baseElement = element.getAttribute("base-element");

    if (StringUtils.hasText(baseElement) && StringUtils.hasText(basePackage)) {
        throw new BeanDefinitionStoreException("Either base-package or base-element are allowed!");
    }/*w  w  w  . j a  va 2s. c o m*/

    Object source = context.extractSource(element);
    AbstractBeanDefinition modelDefinition = StringUtils.hasText(baseElement)
            ? getC24ModelFromElement(baseElement, context, source)
            : getC24ModelFromPackage(basePackage, context, source);

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(C24Model.class);
    builder.addConstructorArgValue(modelDefinition);

    return getSourcedBeanDefinition(builder, context.extractSource(element));
}

From source file:org.fishwife.jrugged.spring.config.MonitorMethodInterceptorDefinitionDecorator.java

/**
 * Register a new SingleServiceWrapperInterceptor for the bean being
 * wrapped, associate it with the PerformanceMonitor and tell it which methods
 * to intercept./*w  w  w .j  av a 2  s.c  o  m*/
 *
 * @param source An Attribute node from the spring configuration
 * @param beanName The name of the bean that this performance monitor is wrapped around
 * @param registry The registry where all the spring beans are registered
 */
private void registerInterceptor(Node source, String beanName, BeanDefinitionRegistry registry) {
    List<String> methodList = buildMethodList(source);

    BeanDefinitionBuilder initializer = BeanDefinitionBuilder
            .rootBeanDefinition(SingleServiceWrapperInterceptor.class);
    initializer.addPropertyValue("methods", methodList);

    String perfMonitorName = beanName + "PerformanceMonitor";
    initializer.addPropertyReference("serviceWrapper", perfMonitorName);

    String interceptorName = beanName + "PerformanceMonitorInterceptor";
    registry.registerBeanDefinition(interceptorName, initializer.getBeanDefinition());
}