List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder addConstructorArgValue
public BeanDefinitionBuilder addConstructorArgValue(@Nullable Object value)
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;/* ww w .j a v a 2 s. c o m*/ 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:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createMetadataDelegate(Element metadataNode) { BeanDefinitionBuilder builder = createBean(ExtendedMetadataDelegate.class); builder.addConstructorArgValue(createMetadataProvider(metadataNode)); builder.addConstructorArgValue(createBean(ExtendedMetadata.class).getBeanDefinition()); return builder.getBeanDefinition(); }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createRedirectBinding() { BeanDefinitionBuilder builder = createBean(HTTPRedirectDeflateBinding.class); builder.addConstructorArgValue(parserPool); return builder.getBeanDefinition(); }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createMetadataProvider(Element metadataNode) { String location = getRequiredAttribute(metadataNode, METADATA_LOCATION_ATTRIBUTE); BeanDefinitionBuilder builder = createBean(FilesystemMetadataProvider.class); builder.addConstructorArgValue(getFileFromLocation(location)); builder.addPropertyValue("parserPool", parserPool); return builder.getBeanDefinition(); }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private void parseAndRegisterMetadataManager() { String defaultIDP = getRequiredAttribute(rootNode, ROOT_ENDPOINT_ATTRIBUTE); Element node = getRequiredElement(rootNode, METADATA_NODE); Collection<BeanDefinition> metadataDelegates = new ManagedList<BeanDefinition>(); metadataDelegates.add(createMetadataDelegate(node)); BeanDefinitionBuilder builder = createBean(CachingMetadataManager.class); builder.addConstructorArgValue(metadataDelegates); builder.addPropertyValue("defaultIDP", defaultIDP); registerBean(builder);// w ww .j a v a 2 s . c o m }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createAndRegisterSAMLLogoutFilter(BeanDefinition logoutProfile, BeanDefinition logoutHandler, BeanDefinition logoutSuccessHandler) { BeanDefinitionBuilder builder = createBean(CloudSealSAMLLogoutFilter.class); builder.addConstructorArgValue(logoutSuccessHandler); builder.addConstructorArgValue(logoutHandler); builder.addPropertyValue("contextProvider", contextProvider); builder.addPropertyValue("samlLogger", logger); builder.addPropertyValue("profile", logoutProfile); builder.addPropertyValue("filterProcessesUrl", getLogoutUrl()); return registerBean(builder); }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition createAndRegisterSAMLLogoutProcessingFilter(BeanDefinition logoutProfile, BeanDefinition logoutHandler, BeanDefinition logoutSuccessHandler) { BeanDefinitionBuilder builder = createBean(SAMLLogoutProcessingFilter.class); builder.addConstructorArgValue(logoutSuccessHandler); builder.addConstructorArgValue(logoutHandler); builder.addPropertyValue("contextProvider", contextProvider); builder.addPropertyValue("SAMLProcessor", processor); builder.addPropertyValue("samlLogger", logger); builder.addPropertyValue("logoutProfile", logoutProfile); return registerBean(builder); }
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 {/*w ww .j av a2s . 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:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private void createAndRegisterKeyManager() { Element keyManagerNode = getRequiredElement(rootNode, KEYSTORE_NODE); List<Element> keyNodes = getChildElementsByTagName(keyManagerNode, KEYSTORE_KEY_NODE); if (keyNodes.isEmpty()) { throw createElementException(KEYSTORE_KEY_NODE); }//from w w w .j a va2s . com String defaultKey = null; Map<String, String> keys = new ManagedMap<String, String>(); for (Element keyNode : keyNodes) { String key = getRequiredAttribute(keyNode, KEYSTORE_KEY_NAME_ATTRIBUTE); String password = getRequiredAttribute(keyNode, KEYSTORE_KEY_PASSWORD_ATTRIBUTE); keys.put(key, password); if (defaultKey == null) { defaultKey = key; } } String location = getRequiredAttribute(keyManagerNode, KEYSTORE_LOCATION_ATTRIBUTE); String filePassword = getRequiredAttribute(keyManagerNode, KEYSTORE_PASSWORD_ATTRIBUTE); String storeType = keyManagerNode.getAttribute(KEYSTORE_TYPE_ATTRIBUTE); if (storeType.trim().isEmpty()) { storeType = "JKS"; } BeanDefinitionBuilder builder = createBean(CloudSealKeyManagerImpl.class); builder.addConstructorArgValue(getResourceFromLocation(location)); builder.addConstructorArgValue(filePassword); builder.addConstructorArgValue(keys); builder.addConstructorArgValue(defaultKey); builder.addConstructorArgValue(storeType); registerBean(builder); }
From source file:com.dangdang.ddframe.job.lite.spring.namespace.parser.common.AbstractJobBeanDefinitionParser.java
private List<BeanDefinition> createJobListeners(final Element element) { Element listenerElement = DomUtils.getChildElementByTagName(element, LISTENER_TAG); Element distributedListenerElement = DomUtils.getChildElementByTagName(element, DISTRIBUTED_LISTENER_TAG); List<BeanDefinition> result = new ManagedList<>(2); if (null != listenerElement) { BeanDefinitionBuilder factory = BeanDefinitionBuilder .rootBeanDefinition(listenerElement.getAttribute(CLASS_ATTRIBUTE)); factory.setScope(BeanDefinition.SCOPE_PROTOTYPE); result.add(factory.getBeanDefinition()); }/* w w w. j ava2 s. c o m*/ if (null != distributedListenerElement) { BeanDefinitionBuilder factory = BeanDefinitionBuilder .rootBeanDefinition(distributedListenerElement.getAttribute(CLASS_ATTRIBUTE)); factory.setScope(BeanDefinition.SCOPE_PROTOTYPE); factory.addConstructorArgValue(distributedListenerElement .getAttribute(DISTRIBUTED_LISTENER_STARTED_TIMEOUT_MILLISECONDS_ATTRIBUTE)); factory.addConstructorArgValue(distributedListenerElement .getAttribute(DISTRIBUTED_LISTENER_COMPLETED_TIMEOUT_MILLISECONDS_ATTRIBUTE)); result.add(factory.getBeanDefinition()); } return result; }