List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder addPropertyReference
public BeanDefinitionBuilder addPropertyReference(String name, String beanName)
From source file:edu.washington.shibboleth.attribute.resolver.spring.dc.rws.RwsDataConnectorParser.java
/** {@inheritDoc} */ @Override/*from w w w. j ava2 s.com*/ protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext, @Nonnull final BeanDefinitionBuilder builder) { log.debug("parsing v2 configuration {}", config); String pluginId = "placeholder"; String httpDataSourceId = StringSupport.trimOrNull(config.getAttribute("httpDataSourceRef")); Constraint.isNotNull(config, "httpDataSourceRef parameter is required"); builder.addPropertyReference("httpDataSource", httpDataSourceId); builder.addPropertyValue("queryStringBuilder", createTemplatedQueryStringBuilder(config)); final List<Element> attrElements = ElementSupport.getChildElements(config, ATTRIBUTE_ELEMENT_NAME); List<RwsAttribute> attributes = parseAttributes(attrElements); log.debug("Setting the following attributes for plugin {}: {}", pluginId, attributes); builder.addPropertyValue("rwsAttributes", attributes); String baseURL = StringSupport.trimOrNull(config.getAttribute("baseURL")); log.debug("Data connector {} base URL: {}", pluginId, baseURL); builder.addPropertyValue("baseUrl", baseURL); AUTHENTICATION_TYPE authnType = AUTHENTICATION_TYPE.NONE; if (AttributeSupport.hasAttribute(config, new QName("authenticationType"))) { authnType = AUTHENTICATION_TYPE .valueOf(StringSupport.trimOrNull(config.getAttribute("authenticationType"))); } log.debug("Data connector {} authentication type: {}", pluginId, authnType); builder.addPropertyValue("authenticationType", authnType); String username = StringSupport.trimOrNull(config.getAttribute("username")); if (username != null) log.debug("Data connector {} username: {}", pluginId, username); builder.addPropertyValue("username", username); String password = StringSupport.trimOrNull(config.getAttribute("password")); builder.addPropertyValue("password", password); /*** int maxConnections = 0; if (StringSupport.trimOrNull(config.getAttribute( "maxConnections")) { maxConnections = Integer.parseInt(StringSupport.trimOrNull(config.getAttribute( "maxConnections")); } log.debug("Data connector {} max connections: {}", pluginId, maxConnections); builder.addPropertyValue("maxConnections", maxConnections); int searchTimeLimit = 20000; if (StringSupport.trimOrNull(config.getAttribute( "searchTimeLimit")) { searchTimeLimit = Integer.parseInt(StringSupport.trimOrNull(config.getAttribute( "searchTimeLimit")); } log.debug("Data connector {} search timeout: {}ms", pluginId, searchTimeLimit); builder.addPropertyValue("searchTimeLimit", searchTimeLimit); int maxResultSize = 1; if (StringSupport.trimOrNull(config.getAttribute( "maxResultSize")) { maxResultSize = Integer.parseInt(StringSupport.trimOrNull(config.getAttribute( "maxResultSize")); } log.debug("Data connector {} max search result size: {}", pluginId, maxResultSize); builder.addPropertyValue("maxResultSize", maxResultSize); boolean cacheResults = false; if (StringSupport.trimOrNull(config.getAttribute( "cacheResults")) { cacheResults = AttributeSupport.getAttributeValueAsBoolean(StringSupport.trimOrNull(config.getAttribute( "cacheResults")); } log.debug("Data connector {} cache results: {}", pluginId, cacheResults); builder.addPropertyValue("cacheResults", cacheResults); boolean mergeResults = false; if (StringSupport.trimOrNull(config.getAttribute( "mergeResults")) { mergeResults = AttributeSupport.getAttributeValueAsBoolean(StringSupport.trimOrNull(config.getAttribute( "mergeResults")); } log.debug("Data connector{} merge results: {}", pluginId, mergeResults); builder.addPropertyValue("mergeResults", mergeResults); boolean noResultsIsError = false; if (StringSupport.trimOrNull(config.getAttribute( "noResultIsError")) { noResultsIsError = AttributeSupport.getAttributeValueAsBoolean(StringSupport.trimOrNull(config.getAttribute( "noResultIsError")); } log.debug("Data connector {} no results is error: {}", pluginId, noResultsIsError); builder.addPropertyValue("noResultsIsError", noResultsIsError); int pollingFrequency = 60000; if (StringSupport.trimOrNull(config.getAttribute( "pollingFrequency")) { pollingFrequency = Integer.parseInt(StringSupport.trimOrNull(config.getAttribute( "pollingFrequency")); } log.debug("Data connector {} polling frequency: {}ms", pluginId, pollingFrequency); builder.addPropertyValue("pollingFrequency", pollingFrequency); **/ }
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. */// www.j a v a2s . com @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:biz.c24.io.spring.batch.config.ItemReaderParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) { // Optional// www . j a v a 2s .co m String scope = element.getAttribute("scope"); if (StringUtils.hasText(scope)) { bean.setScope(scope); } else { // Default to step scope bean.setScope("step"); } int numSourceDefns = 0; // Optional String sourceRef = element.getAttribute("source-ref"); if (StringUtils.hasText(sourceRef)) { bean.addPropertyReference("source", sourceRef); numSourceDefns++; } // Mandatory String modelRef = element.getAttribute("model-ref"); bean.addPropertyReference("model", modelRef); // Optional String elementStartPattern = element.getAttribute("elementStartPattern"); if (StringUtils.hasText(elementStartPattern)) { bean.addPropertyValue("elementStartPattern", elementStartPattern); } // Optional String elementStopPattern = element.getAttribute("elementStopPattern"); if (StringUtils.hasText(elementStopPattern)) { bean.addPropertyValue("elementStopPattern", elementStopPattern); } // Optional String validate = element.getAttribute("validate"); if (StringUtils.hasText(validate)) { bean.addPropertyValue("validate", validate); //don't evaluate as a boolean until Bean creation time to allow for SpEL } // Optional String failfast = element.getAttribute("failfast"); if (StringUtils.hasText(failfast)) { boolean val = Boolean.parseBoolean(failfast); bean.addPropertyValue("failfast", val); } // Optional String sourceFactoryRef = element.getAttribute("source-factory-ref"); if (StringUtils.hasText(sourceFactoryRef)) { bean.addPropertyReference("sourceFactory", sourceFactoryRef); } // Optional String parseListenerRef = element.getAttribute("parse-listener-ref"); if (StringUtils.hasText(parseListenerRef)) { bean.addPropertyReference("parseListener", parseListenerRef); } Element fileSourceElement = DomUtils.getChildElementByTagName(element, "file-source"); if (fileSourceElement != null) { BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(fileSourceElement, bean.getBeanDefinition()); beanDefinition.setBeanClassName(FileSource.class.getName()); bean.addPropertyValue("source", beanDefinition); numSourceDefns++; } Element zipFileSourceElement = DomUtils.getChildElementByTagName(element, "zip-file-source"); if (zipFileSourceElement != null) { BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(zipFileSourceElement, bean.getBeanDefinition()); beanDefinition.setBeanClassName(ZipFileSource.class.getName()); bean.addPropertyValue("source", beanDefinition); numSourceDefns++; } if (numSourceDefns > 1) { parserContext.getReaderContext() .error("Only one of source-ref, file-source and zip-file-source can be used", element); } else if (numSourceDefns == 0) { parserContext.getReaderContext() .error("One of source-ref, file-source and zip-file-source must be specified", element); } }
From source file:org.xacml4j.spring.pdp.PolicyDecisionPointDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder factory = BeanDefinitionBuilder .rootBeanDefinition(PolicyDecisionPointFactoryBean.class); factory.addConstructorArgValue(element.getAttribute("id")); List<Element> childElements = DomUtils.getChildElementsByTagName(element, new String[] { "PolicyIdReference", "PolicySetIdReference" }); if (childElements != null && childElements.size() > 0) { parseChildComponents(childElements, factory); }// w w w. j a v a2s . c o m String pipRef = element.getAttribute("pip"); factory.addPropertyReference("policyInformationPoint", pipRef); String repositoryRef = element.getAttribute("repository"); factory.addPropertyReference("policyRepository", repositoryRef); String auditorRef = element.getAttribute("auditor"); if (StringUtils.hasText(auditorRef)) { factory.addPropertyReference("decisionAuditor", auditorRef); } String handlers = element.getAttribute("handlers"); if (StringUtils.hasText(handlers)) { factory.addPropertyReference("handlers", handlers); } String xpathProvider = element.getAttribute("xpath-provider"); if (StringUtils.hasText(xpathProvider)) { factory.addPropertyReference("xpathProvider", xpathProvider); } String decisionCache = element.getAttribute("decisionCache"); if (StringUtils.hasText(decisionCache)) { factory.addPropertyReference("decisionCache", decisionCache); } String decisionCacheTTL = element.getAttribute("decisionCacheTTL"); if (StringUtils.hasText(decisionCache)) { factory.addPropertyValue("decisionCacheTTL", decisionCacheTTL); } return factory.getBeanDefinition(); }
From source file:fr.xebia.management.config.ProfileAspectDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ProfileAspect.class); // see http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/aop.html#aop-aj-configure builder.setFactoryMethod("aspectOf"); // 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 {/*w w w .j ava 2s . c o m*/ AbstractBeanDefinition specialServer = findServerForSpecialEnvironment(); if (specialServer != null) { builder.addPropertyValue("server", specialServer); } } String jmxDomain = element.getAttribute(JMX_DOMAIN_ATTRIBUTE); if (StringUtils.hasLength(jmxDomain)) { builder.addPropertyValue("jmxDomain", jmxDomain); } return builder.getBeanDefinition(); }
From source file:edu.internet2.middleware.shibboleth.common.config.relyingparty.saml.AbstractSAML2ProfileConfigurationBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { super.doParse(element, parserContext, builder); List<Element> proxyAudiences = XMLHelper.getChildElementsByTagNameNS(element, SAMLRelyingPartyNamespaceHandler.NAMESPACE, "ProxyAudience"); if (proxyAudiences != null && proxyAudiences.size() > 0) { LazyList<String> audiences = new LazyList<String>(); for (Element proxyAudience : proxyAudiences) { audiences.add(DatatypeHelper.safeTrimOrNullString(proxyAudience.getTextContent())); }//from w w w . j a v a 2 s . c o m builder.addPropertyValue("proxyAudiences", audiences); } builder.addPropertyReference("attributeAuthority", DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "attributeAuthority"))); if (element.hasAttributeNS(null, "encryptNameIds")) { builder.addPropertyValue("encryptNameIds", CryptoOperationRequirementLevel.valueOf(element.getAttributeNS(null, "encryptNameIds"))); } else { builder.addPropertyValue("encryptNameIds", CryptoOperationRequirementLevel.never); } if (element.hasAttributeNS(null, "encryptAssertions")) { builder.addPropertyValue("encryptAssertions", CryptoOperationRequirementLevel.valueOf(element.getAttributeNS(null, "encryptAssertions"))); } else { builder.addPropertyValue("encryptAssertions", CryptoOperationRequirementLevel.conditional); } if (element.hasAttributeNS(null, "assertionProxyCount")) { builder.addPropertyValue("assertionProxyCount", Integer.parseInt( DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "assertionProxyCount")))); } else { builder.addPropertyValue("assertionProxyCount", 0); } }
From source file:com.github.xdcrafts.flower.spring.impl.xml.ExtensionBeanDefinitionHandler.java
protected void doParse(Element element, BeanDefinitionBuilder bean) { final Map<Object, Object> configuration = new ManagedMap<>(); final Node keywordValueNode = element .getElementsByTagNameNS("http://xdcrafts.github.com/schema/flower", "keyword-value").item(0); final Node predicateNode = element .getElementsByTagNameNS("http://xdcrafts.github.com/schema/flower", "predicate").item(0); if (keywordValueNode != null) { configuration.put("keyword-value", keywordValueNode.getTextContent()); }/*from w w w. j a va 2 s . com*/ if (predicateNode != null) { configuration.put("predicate", new RuntimeBeanReference(predicateNode.getTextContent())); } bean.addPropertyReference("action", element.getAttribute("action")).addPropertyValue("configuration", configuration); }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition parseUserDetailsService() { String userDetailsServiceID = getAttribute(ROOT_USER_DETAILS_SERVICE_REF_ATTRIBUTE); BeanDefinitionBuilder builder = createBean(SAMLUserDetailsServiceAdapter.class); if (!userDetailsServiceID.trim().isEmpty()) { builder.addPropertyReference("userDetailsService", userDetailsServiceID); }//from www . ja v a2s.c o m return builder.getBeanDefinition(); }
From source file:com.nominanuda.springmvc.MvcFrontControllerBeanDefinitionParser.java
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { if (plugins == null) { try {/*from www . j av a 2 s .c o m*/ initPlugins(parserContext); } catch (Exception e) { throw new IllegalStateException(e); } } BeanDefinitionBuilder bdBuilder = BeanDefinitionBuilder.rootBeanDefinition(HandlerMatcherMapping.class); String pattern = ((Element) element.getElementsByTagNameNS(ns, "pattern").item(0)).getTextContent(); String uriSpec = getUriSpec(pattern); BeanDefinitionBuilder matchBuilder = BeanDefinitionBuilder.genericBeanDefinition(URISpecMatcher.class); matchBuilder.addPropertyValue("spec", pattern); String matchId = uuid(); parserContext.getRegistry().registerBeanDefinition(matchId, matchBuilder.getBeanDefinition()); bdBuilder.addPropertyReference("handlerMatcher", matchId); String handlerId = generateHandler(element, parserContext, uriSpec); matchBuilder.addPropertyReference("handler", handlerId); List<BeanMetadataElement> filters = generateFilterList(element, parserContext, uriSpec); if (filters != null) { matchBuilder.addPropertyValue("handlerFilters", filters); } AbstractBeanDefinition abd = bdBuilder.getBeanDefinition(); abd.setAutowireCandidate(false); return abd; }