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

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

Introduction

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

Prototype

public AbstractBeanDefinition getBeanDefinition() 

Source Link

Document

Validate and return the created BeanDefinition object.

Usage

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:com.joyveb.dbpimpl.cass.prepare.config.xml.CassandraClusterParser.java

private BeanDefinition parseSocketOptions(Element element) {
    BeanDefinitionBuilder defBuilder = BeanDefinitionBuilder.genericBeanDefinition(SocketOptions.class);
    ParsingUtils.setPropertyValue(defBuilder, element, "connect-timeout-mls", "connectTimeoutMls");
    ParsingUtils.setPropertyValue(defBuilder, element, "keep-alive", "keepAlive");
    ParsingUtils.setPropertyValue(defBuilder, element, "reuse-address", "reuseAddress");
    ParsingUtils.setPropertyValue(defBuilder, element, "so-linger", "soLinger");
    ParsingUtils.setPropertyValue(defBuilder, element, "tcp-no-delay", "tcpNoDelay");
    ParsingUtils.setPropertyValue(defBuilder, element, "receive-buffer-size", "receiveBufferSize");
    ParsingUtils.setPropertyValue(defBuilder, element, "send-buffer-size", "sendBufferSize");
    return defBuilder.getBeanDefinition();
}

From source file:fr.xebia.management.config.ServletContextAwareMBeanServerDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition(ServletContextAwareMBeanServerFactory.class);

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    String serverBeanName = element.getAttribute(SERVER_ATTRIBUTE);
    if (StringUtils.hasText(serverBeanName)) {
        builder.addPropertyReference("server", serverBeanName);
    } else {/*from w  w w  . ja v  a2s.co m*/
        AbstractBeanDefinition specialServer = findServerForSpecialEnvironment();
        if (specialServer != null) {
            builder.addPropertyValue("server", specialServer);
        }
    }

    return builder.getBeanDefinition();
}

From source file:biz.c24.io.spring.integration.config.XPathSelectorParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {

    String evaluationType = element.getAttribute("evaluation-result-type");

    String expression = element.getAttribute("xpath-statement");
    String expressionRef = element.getAttribute("xpath-statement-ref");

    boolean hasRef = StringUtils.hasText(expressionRef);
    Assert.isTrue(hasRef ^ StringUtils.hasText(expression),
            "Exactly one of the 'xpath-statement' or 'xpath-statement-ref' attributes is required.");
    if (hasRef) {
        builder.addConstructorArgReference(expressionRef);
    } else {/*ww w  .j  a va2s  .  c  o m*/
        builder.addConstructorArgValue(expression);
    }

    String stringTestValue = element.getAttribute("string-test-value");

    if (evaluationType.equals("boolean")) {
        builder.getBeanDefinition()
                .setBeanClass(biz.c24.io.spring.integration.selector.C24BooleanTestXPathMessageSelector.class);
        Assert.state(!StringUtils.hasText(stringTestValue),
                "'string-test-value' should not be specified when 'evaluation-result-type' is boolean");
    } else if (evaluationType.equals("string")) {
        Assert.hasText(stringTestValue,
                "'string-test-value' must be specified when 'evaluation-result-type' is string");
        builder.addPropertyValue("valueToTestFor", stringTestValue);
        builder.getBeanDefinition().setBeanClass(
                biz.c24.io.spring.integration.selector.C24StringValueTestXPathMessageSelector.class);
    } else {
        throw new IllegalArgumentException("Unsupported value [" + evaluationType
                + "] for 'evaluation-result-type', expected boolean or string.");
    }
}

From source file:org.synyx.hera.si.config.DynamicServiceActivatorParser.java

@Override
protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) {

    Object source = parserContext.extractSource(element);

    String pluginType = element.getAttribute("plugin-type");
    String method = element.getAttribute("method");

    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition(PluginRegistryAwareMessageHandler.class);
    builder.addConstructorArgValue(getRegistryBeanDefinition(pluginType, source));
    builder.addConstructorArgValue(pluginType);
    builder.addConstructorArgValue(method);

    String delimiter = element.getAttribute("delimiter");

    if (StringUtils.hasText(delimiter)) {
        builder.addPropertyValue("delimiterExpression", delimiter);
    }// w  w  w  .  ja  va  2s . co  m

    String invocationArguments = element.getAttribute("invocation-arguments");

    if (StringUtils.hasText(invocationArguments)) {
        builder.addPropertyValue("invocationArgumentsExpression", invocationArguments);
    }

    AbstractBeanDefinition definition = builder.getBeanDefinition();
    definition.setSource(source);

    return builder;
}

From source file:com.consol.citrus.selenium.xml.PageActionParser.java

/**
 * @param element/*from   w  w  w.jav a 2s  .c o m*/
 * @param parserContext
 * @return
 */
@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(PageAction.class);
    this.doParse(element, builder);

    BeanDefinitionParserUtils.setPropertyValue(builder, element.getAttribute("pageName").trim(), "pageName");
    BeanDefinitionParserUtils.setPropertyValue(builder, element.getAttribute("action").trim(), "pageAction");

    Map<String, String> actionParameters = new HashMap<>();
    List<Element> parameters = DomUtils.getChildElementsByTagName(element, "parameter");
    for (Element paramElement : parameters) {
        String name = paramElement.getAttribute("name");
        String value = paramElement.getAttribute("value");
        actionParameters.put(name, value);
    }
    builder.addPropertyValue("actionParameters", actionParameters);

    return builder.getBeanDefinition();
}

From source file:com.dinstone.jrpc.spring.EndpointBeanDefinitionParser.java

protected BeanDefinition getTransportBeanDefinition(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder sbd = BeanDefinitionBuilder.genericBeanDefinition(TransportBean.class);
    String address = element.getAttribute("address");
    if (StringUtils.hasText(address)) {
        sbd.addPropertyValue("address", address);
    }/*from  www . j  av  a  2 s  .com*/

    String host = element.getAttribute("host");
    if (StringUtils.hasText(host)) {
        sbd.addPropertyValue("host", host);
    }

    String port = element.getAttribute("port");
    if (StringUtils.hasText(port)) {
        sbd.addPropertyValue("port", port);
    }

    String transport = element.getAttribute("transport");
    if (StringUtils.hasText(transport)) {
        sbd.addPropertyValue("type", transport);
    }

    return sbd.getBeanDefinition();
}

From source file:org.urbantower.j4s.spring.ServerParser.java

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(SpringServer.class);

    //set port//from   ww w  .  j ava2s . c om
    String port = element.getAttribute("http-port");
    builder.addPropertyValue("httpPort", Integer.parseInt(port));

    //parse & set handlers
    ManagedList<BeanDefinition> handlers = new ManagedList<>();

    if (element.hasAttribute("handler")) {
        String handlerRef = element.getAttribute("handler");
        builder.addPropertyValue("handler", new RuntimeBeanReference(handlerRef));
    } else {
        List<Element> childs = DomUtils.getChildElements(element);
        if (childs != null && childs.size() > 0) {
            BeanDefinition handlerDef = parserContext.getDelegate().parseCustomElement(childs.get(0),
                    builder.getBeanDefinition());
            builder.addPropertyValue("handler", handlerDef);
        }
    }

    //get id
    String id = parserContext.getReaderContext().generateBeanName(builder.getBeanDefinition());
    if (element.hasAttribute("id")) {
        id = element.getAttribute("id");
    }

    //get the thread-pool
    if (element.hasAttribute("thread-pool")) {
        builder.addConstructorArgValue(new RuntimeBeanReference(element.getAttribute("thread-pool")));
    }

    //register server def.
    parserContext.getRegistry().registerBeanDefinition(id, builder.getBeanDefinition());
    return builder.getBeanDefinition();
}

From source file:org.smf4j.spring.RegistryNodeTemplateDefinitionParser.java

private String createWindowedMutatorFactory(ParserContext context, Element element, CounterConfig config) {

    // Find the mutator factory class for this type of windowed counter
    String mutatorFactoryClass;//from  ww w. j  a  va2s . c om
    switch (config.getCounterType()) {
    case ADD:
        mutatorFactoryClass = (config.getContentionType() == ContentionType.HIGH)
                ? HC_WINDOWED_ADD_MUTATOR_CLASS
                : LC_WINDOWED_ADD_MUTATOR_CLASS;
        break;
    case MIN:
        mutatorFactoryClass = (config.getContentionType() == ContentionType.HIGH)
                ? HC_WINDOWED_MIN_MUTATOR_CLASS
                : LC_WINDOWED_MIN_MUTATOR_CLASS;
        break;
    case MAX:
        mutatorFactoryClass = (config.getContentionType() == ContentionType.HIGH)
                ? HC_WINDOWED_MAX_MUTATOR_CLASS
                : LC_WINDOWED_MAX_MUTATOR_CLASS;
        break;
    default:
        context.getReaderContext().error("Unexpected counter type.", context.extractSource(element));
        return null;
    }

    // Find the interval strategy class for this kind of interval
    String intervalStrategyClass;
    switch (config.getIntervalsType()) {
    case SECONDS:
    case NA: // Seconds is the default
        intervalStrategyClass = SECONDS_INTERVAL_STRATEGY_CLASS;
        break;
    case POWERSOFTWO:
        intervalStrategyClass = POWERS_OF_TWO_INTERVAL_STRATEGY_CLASS;
        break;
    default:
        context.getReaderContext().error("Unexpected 'intervals' type.", context.extractSource(element));
        return null;
    }

    // Make sure the timewindow and interval are specified correctly
    if (config.getTimeWindow() == null) {
        context.getReaderContext().error("'windowed' counters must " + "specify a valid 'time-window'.",
                context.extractSource(element));
        return null;
    }
    if (config.getNumIntervals() == null) {
        context.getReaderContext().error("'windowed' counters must " + "specify an 'intervals'.",
                context.extractSource(element));
        return null;
    }

    // Create a strategy instance for the strategy selected
    BeanDefinitionBuilder strategyBdb = getBdb(intervalStrategyClass);
    strategyBdb.addConstructorArgValue(config.getTimeWindow());
    strategyBdb.addConstructorArgValue(config.getNumIntervals());
    String strategyBeanId = context.getReaderContext()
            .registerWithGeneratedName(strategyBdb.getBeanDefinition());

    // Create a mutator factory referring to the strategy
    BeanDefinitionBuilder mutatorFactoryBdb = getBdb(mutatorFactoryClass);
    mutatorFactoryBdb.addConstructorArgReference(strategyBeanId);
    return context.getReaderContext().registerWithGeneratedName(mutatorFactoryBdb.getBeanDefinition());
}

From source file:org.springframework.cloud.aws.messaging.listener.QueueMessageHandlerTest.java

private AbstractBeanDefinition getQueueMessageHandlerBeanDefinition() {
    BeanDefinitionBuilder queueMessageHandlerBeanDefinitionBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(QueueMessageHandler.class);
    ManagedList<HandlerMethodReturnValueHandler> returnValueHandlers = new ManagedList<>(1);
    returnValueHandlers.add(new SendToHandlerMethodReturnValueHandler(this.messageTemplate));
    queueMessageHandlerBeanDefinitionBuilder.addPropertyValue("returnValueHandlers", returnValueHandlers);
    return queueMessageHandlerBeanDefinitionBuilder.getBeanDefinition();
}