List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder getBeanDefinition
public AbstractBeanDefinition getBeanDefinition()
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param element//from w w w . j a va 2s . co m * @param parserContext */ protected void preparePlaceholderConfigurer(Element element, ParserContext parserContext) { Element placeholderElement = selectSingleChildElement(element, "property-placeholder", true); if (placeholderElement != null) { String id = element.getAttribute("id"); String name = getName(element); String prefix = placeholderElement.getAttribute("prefix"); String suffix = placeholderElement.getAttribute("suffix"); BeanDefinitionBuilder placeholderConfigurer = BeanDefinitionBuilder .genericBeanDefinition(ConfigurationPlaceholderConfigurer.class); placeholderConfigurer.addConstructorArgReference(id); if (!StringUtils.hasText(prefix)) { prefix = "$" + name + "{"; } if (!StringUtils.hasText(suffix)) { suffix = "}"; } BeanDefinitionBuilder placeholderParser = BeanDefinitionBuilder .genericBeanDefinition(DefaultPlaceholderParser.class); placeholderParser.addConstructorArgValue(prefix); placeholderParser.addConstructorArgValue(suffix); placeholderConfigurer.addPropertyValue("placeholderParser", placeholderParser.getBeanDefinition()); parserContext.registerBeanComponent(new BeanComponentDefinition( placeholderConfigurer.getBeanDefinition(), id + "-placeholderConfigurer")); } }
From source file:it.scoppelletti.programmerpower.web.spring.config.ChannelFilterBeanDefinitionParser.java
/** * Restituisce la corrispondenza tra gli URL e il protocollo richiesto. * /*from w w w .j a va2 s . c o m*/ * @param filterEl Definizione XML del filtro. * @return Collezione. */ private Map<BeanDefinition, BeanDefinition> parseInterceptors(Element filterEl) { String method, pattern; BeanDefinition keyBean; BeanDefinitionBuilder channelBuilder, keyBuilder; List<Element> interceptList; Map<BeanDefinition, BeanDefinition> interceptMap; interceptList = DomUtils.getChildElementsByTagName(filterEl, "intercept-url"); interceptMap = new ManagedMap<BeanDefinition, BeanDefinition>(); for (Element interceptEl : interceptList) { keyBuilder = BeanDefinitionBuilder.rootBeanDefinition(AntPathRequestMatcher.class); pattern = interceptEl.getAttribute("pattern"); keyBuilder.addConstructorArgValue(pattern.toLowerCase()); method = interceptEl.getAttribute("method"); if (!Strings.isNullOrEmpty(method)) { keyBuilder.addConstructorArgValue(method); } keyBean = keyBuilder.getBeanDefinition(); channelBuilder = BeanDefinitionBuilder.rootBeanDefinition(ChannelAttributeFactory.class); channelBuilder.addConstructorArgValue(interceptEl.getAttribute("requires-channel")); channelBuilder.setFactoryMethod("createChannelAttributes"); if (interceptMap.put(keyBean, channelBuilder.getBeanDefinition()) != null) { myLogger.warn("URL {} defined more than once: only last used.", pattern); } } return interceptMap; }
From source file:edu.washington.shibboleth.attribute.resolver.spring.dc.rws.RwsDataConnectorParser.java
/** * Construct the definition of the template driven search builder. * * @return the bean definition for the template search builder. *///w w w .j av a2 s . c o m @Nonnull public BeanDefinition createTemplatedQueryStringBuilder(final Element config) { final BeanDefinitionBuilder templateBuilder = BeanDefinitionBuilder .genericBeanDefinition(TemplatedQueryStringBuilder.class); templateBuilder.setInitMethodName("initialize"); String velocityEngineRef = StringSupport.trimOrNull(config.getAttribute("templateEngine")); if (null == velocityEngineRef) { velocityEngineRef = "shibboleth.VelocityEngine"; } templateBuilder.addPropertyReference("velocityEngine", velocityEngineRef); templateBuilder.addPropertyValue("v2Compatibility", true); String filter = null; final Element filterElement = ElementSupport.getFirstChildElement(config, new QName(UWDataConnectorNamespaceHandler.NAMESPACE, "QueryTemplate")); if (filterElement != null) { filter = StringSupport.trimOrNull(filterElement.getTextContent().trim()); } templateBuilder.addPropertyValue("templateText", filter); System.out.println("adding templateText: " + filter); return templateBuilder.getBeanDefinition(); }
From source file:org.apache.smscserver.config.spring.ServerBeanDefinitionParser.java
/** * {@inheritDoc}//from w w w .ja v a 2 s .c o m */ @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(SmscServerFactory.class); List<Element> childs = SpringUtil.getChildElements(element); for (Element childElm : childs) { String childName = childElm.getLocalName(); if ("listeners".equals(childName)) { Map<?, ?> listeners = this.parseListeners(childElm, parserContext, builder); if (listeners.size() > 0) { factoryBuilder.addPropertyValue("listeners", listeners); } } else if ("smsclets".equals(childName)) { Map<?, ?> smsclets = this.parseSmsclets(childElm, parserContext, builder); factoryBuilder.addPropertyValue("smsclets", smsclets); } else if ("message-manager".equals(childName)) { Object userManager = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("messageManager", userManager); } else if ("file-user-manager".equals(childName) || "db-user-manager".equals(childName)) { Object userManager = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("userManager", userManager); } else if ("user-manager".equals(childName)) { factoryBuilder.addPropertyValue("userManager", SpringUtil.parseSpringChildElement(childElm, parserContext, builder)); } else if ("commands".equals(childName)) { Object commandFactory = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("commandFactory", commandFactory); } else { throw new SmscServerConfigurationException("Unknown configuration name: " + childName); } } // Configure the connection config ConnectionConfigFactory connectionConfig = new ConnectionConfigFactory(); if (StringUtils.hasText(element.getAttribute("max-binds"))) { connectionConfig.setMaxBinds(SpringUtil.parseInt(element, "max-binds")); } if (StringUtils.hasText(element.getAttribute("min-threads"))) { connectionConfig.setMinThreads(SpringUtil.parseInt(element, "min-threads")); } if (StringUtils.hasText(element.getAttribute("max-threads"))) { connectionConfig.setMaxThreads(SpringUtil.parseInt(element, "max-threads")); } if (StringUtils.hasText(element.getAttribute("max-bind-failures"))) { connectionConfig.setMaxBindFailures(SpringUtil.parseInt(element, "max-bind-failures")); } if (StringUtils.hasText(element.getAttribute("bind-failure-delay"))) { connectionConfig.setBindFailureDelay(SpringUtil.parseInt(element, "bind-failure-delay")); } factoryBuilder.addPropertyValue("connectionConfig", connectionConfig.createConnectionConfig()); // Configure the delivery manager DeliveryManagerConfigFactory deliveryManagerConfig = new DeliveryManagerConfigFactory(); if (StringUtils.hasText(element.getAttribute("delivery-threads"))) { deliveryManagerConfig.setManagerThreads(SpringUtil.parseInt(element, "delivery-threads")); } if (StringUtils.hasText(element.getAttribute("min-delivery-threads"))) { deliveryManagerConfig.setMinThreads(SpringUtil.parseInt(element, "min-delivery-threads")); } if (StringUtils.hasText(element.getAttribute("max-delivery-threads"))) { deliveryManagerConfig.setMaxThreads(SpringUtil.parseInt(element, "max-delivery-threads")); } if (StringUtils.hasText(element.getAttribute("delivery-retry-periods"))) { deliveryManagerConfig.setDeliveryRetryPeriods(element.getAttribute("delivery-retry-periods")); } if (StringUtils.hasText(element.getAttribute("delivery-poll-time"))) { deliveryManagerConfig.setDeliveryPollTime(SpringUtil.parseInt(element, "delivery-poll-time")); } factoryBuilder.addPropertyValue("deliveryManagerConfig", deliveryManagerConfig.createDeliveryManagerConfig()); if (StringUtils.hasText(element.getAttribute("sessionLockTimeout"))) { factoryBuilder.addPropertyValue("session-lock-timeout", SpringUtil.parseInt(element, "session-lock-timeout")); } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryName = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryName); this.registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryName); builder.getRawBeanDefinition().setFactoryMethodName("createServer"); }
From source file:com.mtgi.analytics.aop.config.v11.BtJdbcPersisterBeanDefinitionParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { //configure ID generator settings NodeList children = element.getElementsByTagNameNS("*", ELT_ID_SQL); if (children.getLength() == 1) { BeanDefinition def = builder.getRawBeanDefinition(); MutablePropertyValues props = def.getPropertyValues(); Element child = (Element) children.item(0); String sql = child.getTextContent(); if (StringUtils.hasText(sql)) props.addPropertyValue("idSql", sql); if (child.hasAttribute(ATT_INCREMENT)) props.addPropertyValue("idIncrement", child.getAttribute(ATT_INCREMENT)); }//from ww w. ja v a 2 s . c o m //configure nested dataSource NodeList nodes = element.getElementsByTagNameNS("*", "data-source"); if (nodes.getLength() == 1) { Element ds = (Element) nodes.item(0); ds.setAttribute("name", "dataSource"); parserContext.getDelegate().parsePropertyElement(ds, builder.getRawBeanDefinition()); } //push persister into parent manager bean, if applicable if (parserContext.isNested()) { AbstractBeanDefinition def = builder.getBeanDefinition(); String id = element.hasAttribute("id") ? element.getAttribute("id") : BeanDefinitionReaderUtils.generateBeanName(def, parserContext.getReaderContext().getRegistry(), true); BeanDefinitionHolder holder = new BeanDefinitionHolder(def, id); BtManagerBeanDefinitionParser.registerNestedBean(holder, "persister", parserContext); } }
From source file:org.apache.ftpserver.config.spring.ServerBeanDefinitionParser.java
/** * {@inheritDoc}//from w w w . j a v a 2 s . co m */ @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(FtpServerFactory.class); List<Element> childs = SpringUtil.getChildElements(element); for (Element childElm : childs) { String childName = childElm.getLocalName(); if ("listeners".equals(childName)) { Map<?, ?> listeners = parseListeners(childElm, parserContext, builder); if (listeners.size() > 0) { factoryBuilder.addPropertyValue("listeners", listeners); } } else if ("ftplets".equals(childName)) { Map<?, ?> ftplets = parseFtplets(childElm, parserContext, builder); factoryBuilder.addPropertyValue("ftplets", ftplets); } else if ("file-user-manager".equals(childName) || "db-user-manager".equals(childName)) { Object userManager = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("userManager", userManager); } else if ("user-manager".equals(childName)) { factoryBuilder.addPropertyValue("userManager", SpringUtil.parseSpringChildElement(childElm, parserContext, builder)); } else if ("native-filesystem".equals(childName)) { Object fileSystem = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("fileSystem", fileSystem); } else if ("filesystem".equals(childName)) { factoryBuilder.addPropertyValue("fileSystem", SpringUtil.parseSpringChildElement(childElm, parserContext, builder)); } else if ("commands".equals(childName)) { Object commandFactory = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("commandFactory", commandFactory); } else if ("messages".equals(childName)) { MessageResource mr = parseMessageResource(childElm, parserContext, builder); factoryBuilder.addPropertyValue("messageResource", mr); } else { throw new FtpServerConfigurationException("Unknown configuration name: " + childName); } } // Configure login limits ConnectionConfigFactory connectionConfig = new ConnectionConfigFactory(); if (StringUtils.hasText(element.getAttribute("max-logins"))) { connectionConfig.setMaxLogins(SpringUtil.parseInt(element, "max-logins")); } if (StringUtils.hasText(element.getAttribute("max-threads"))) { connectionConfig.setMaxThreads(SpringUtil.parseInt(element, "max-threads")); } if (StringUtils.hasText(element.getAttribute("max-anon-logins"))) { connectionConfig.setMaxAnonymousLogins(SpringUtil.parseInt(element, "max-anon-logins")); } if (StringUtils.hasText(element.getAttribute("anon-enabled"))) { connectionConfig.setAnonymousLoginEnabled(SpringUtil.parseBoolean(element, "anon-enabled", true)); } if (StringUtils.hasText(element.getAttribute("max-login-failures"))) { connectionConfig.setMaxLoginFailures(SpringUtil.parseInt(element, "max-login-failures")); } if (StringUtils.hasText(element.getAttribute("login-failure-delay"))) { connectionConfig.setLoginFailureDelay(SpringUtil.parseInt(element, "login-failure-delay")); } factoryBuilder.addPropertyValue("connectionConfig", connectionConfig.createConnectionConfig()); BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryName = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryName); registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryName); builder.getRawBeanDefinition().setFactoryMethodName("createServer"); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
protected AbstractBeanDefinition prepareXmlBeansConversionManager() { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class); List<String> converterShortNames = Arrays.asList("BigDecimalConverter", "BigIntegerConverter", "BooleanConverter", "ByteConverter", "ByteArrayConverter", "UUIDConverter", "EnumConverter", "DoubleConverter", "ElementConverter", "FloatConverter", "IntegerConverter", "LongConverter", "ShortConverter", "StringConverter", "URIConverter", "DocumentConverter", "LocaleConverter"); ManagedList<AbstractBeanDefinition> converters = toManagedConverterList(converterShortNames, "org.brekka.stillingar.xmlbeans.conversion"); converters.addAll(//from w ww .ja v a2 s.c o m prepareTemporalConverters("org.brekka.stillingar.xmlbeans.conversion", "XmlBeansTemporalAdapter")); BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder .genericBeanDefinition(ApplicationContextConverter.class); appCxtBeanDefBuilder.addConstructorArgValue(BeanDefinitionBuilder .genericBeanDefinition("org.brekka.stillingar.xmlbeans.conversion.DocumentConverter") .getBeanDefinition()); converters.add(appCxtBeanDefBuilder.getBeanDefinition()); builder.addConstructorArgValue(converters); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param versionMavenElement/* ww w.j a v a 2s. c om*/ * @return */ protected AbstractBeanDefinition prepareApplicationVersionFromMaven(Element versionMavenElement) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(ApplicationVersionFromMaven.class); builder.addConstructorArgValue(versionMavenElement.getAttribute("groupId")); builder.addConstructorArgValue(versionMavenElement.getAttribute("artifactId")); builder.addConstructorArgValue(Thread.currentThread().getContextClassLoader()); return builder.getBeanDefinition(); }
From source file:org.jboss.windup.config.spring.namespace.simple.RegexHintBeanParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder .rootBeanDefinition(RegexPatternHintProcessor.class); beanBuilder.addPropertyValue("regexPattern", element.getAttribute("regex")); if (element.hasAttribute("hint")) { beanBuilder.addPropertyValue("hint", element.getAttribute("hint")); } else {// www . ja v a2 s . c o m String markdown = element.getTextContent(); String lines[] = markdown.split("\\r?\\n"); StringBuilder markdownRebuilder = new StringBuilder(); for (int i = 0; i < lines.length; i++) { String line = lines[i]; line = StringUtils.trim(line); if (line != null) { markdownRebuilder.append(line); } //test to see if it is last line... if (i < lines.length - 1) { markdownRebuilder.append(SystemUtils.LINE_SEPARATOR); } } beanBuilder.addPropertyValue("hint", markdownRebuilder.toString()); } if (element.hasAttribute("effort")) { beanBuilder.addPropertyValue("effort", Integer.parseInt(element.getAttribute("effort"))); } return beanBuilder.getBeanDefinition(); }
From source file:net.phoenix.thrift.xml.ComplexBeanDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(); String parentName = getParentName(element); if (parentName != null) { builder.getRawBeanDefinition().setParentName(parentName); }// w ww. ja v a 2 s.co m Class<?> beanClass = getBeanClass(element); if (beanClass != null) { builder.getRawBeanDefinition().setBeanClass(beanClass); } else { String beanClassName = getBeanClassName(element); if (beanClassName != null) { builder.getRawBeanDefinition().setBeanClassName(beanClassName); } } builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { // Inner bean definition must receive same scope as containing bean. builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } if (parserContext.isDefaultLazyInit()) { // Default-lazy-init applies to custom bean definitions as well. builder.setLazyInit(true); } preParse(element, parserContext, builder); AbstractBeanDefinition target = builder.getBeanDefinition(); postParse(element, parserContext, target); return target; }