List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder getBeanDefinition
public AbstractBeanDefinition getBeanDefinition()
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(); }