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

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

Introduction

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

Prototype

public BeanDefinitionBuilder addPropertyReference(String name, String beanName) 

Source Link

Document

Add a reference to the specified bean name under the property specified.

Usage

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;
}