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

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

Introduction

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

Prototype

public BeanDefinitionBuilder addConstructorArgValue(@Nullable Object value) 

Source Link

Document

Add an indexed constructor arg value.

Usage

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

/**
 * @param element/*from w  w w . ja  v  a2 s .  co m*/
 * @return
 */
protected AbstractBeanDefinition prepareResourceManager(Element element, Engine engine,
        ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ResourceSnapshotManager.class);
    builder.addConstructorArgValue(prepareResourceSelector(element, engine, parserContext));
    builder.addConstructorArgReference(getLoaderReference(element));
    builder.addConstructorArgValue(prepareResourceMonitor(element));
    Element handlers = selectSingleChildElement(element, "handlers", true);
    if (handlers != null) {
        String rejectedRef = handlers.getAttribute("rejected-ref");
        if (StringUtils.hasLength(rejectedRef)) {
            builder.addPropertyReference("rejectedResourceHandler", rejectedRef);
        }
    }
    return builder.getBeanDefinition();
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

/**
 * @param prefix/*from  w  w w.j av a2  s .c o  m*/
 * @param extension
 * @return
 */
protected BeanDefinitionBuilder buildBasicResourceNameResolver(String prefix, Object extension) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(BasicResourceNameResolver.class);
    builder.addConstructorArgValue(prefix);
    builder.addPropertyValue("extension", extension);
    return builder;
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

/**
 * @param versionMavenElement//  ww  w.ja v a  2  s .c  o  m
 * @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.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

/**
 * @param versionMavenElement//ww w. ja va 2s .  com
 * @param prefix
 * @param extension
 * @return
 */
protected BeanDefinitionBuilder buildMavenVersionedResourceNameResolver(Element versionMavenElement,
        String pattern, String prefix, String extension) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .genericBeanDefinition(VersionedResourceNameResolver.class);
    builder.addConstructorArgValue(prefix);
    builder.addConstructorArgValue(prepareApplicationVersionFromMaven(versionMavenElement));
    builder.addPropertyValue("extension", extension);
    if (pattern != null) {
        builder.addPropertyValue("versionPattern", pattern);
    }
    return builder;
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

/**
 * @param element/*from   www .j  a  v a2s . c  o m*/
 * @return
 */
protected void prepareSnapshotEventHandler(Element element, BeanDefinitionBuilder serviceBuilder) {
    Element handlers = selectSingleChildElement(element, "handlers", true);
    if (handlers != null) {
        String eventRef = handlers.getAttribute("event-ref");
        if (StringUtils.hasLength(eventRef)) {
            serviceBuilder.addConstructorArgReference(eventRef);
            return;
        }
    }
    BeanDefinitionBuilder eventBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(LoggingSnapshotEventHandler.class);
    eventBuilder.addConstructorArgValue(getName(element));
    serviceBuilder.addConstructorArgValue(eventBuilder.getBeanDefinition());
}

From source file:it.scoppelletti.programmerpower.web.spring.config.SecurityFilterBeanDefinitionParser.java

/**
 * Restituisce la corrispondenza tra gli URL e le configurazioni di accesso
 * richieste.//  ww  w  .ja va2  s.  co  m
 * 
 * @param  filterEl Definizione XML del filtro.
 * @return          Collezione.
 */
private Map<BeanDefinition, BeanDefinition> parseInterceptors(Element filterEl) {
    String method, pattern;
    BeanDefinition keyBean;
    BeanDefinitionBuilder exprBuilder, 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();

        exprBuilder = BeanDefinitionBuilder.rootBeanDefinition(SecurityConfig.class);
        exprBuilder.addConstructorArgValue(interceptEl.getAttribute("access"));
        exprBuilder.setFactoryMethod("createSingleAttributeList");

        if (interceptMap.put(keyBean, exprBuilder.getBeanDefinition()) != null) {
            myLogger.warn("URL {} defined more than once: only last used.", pattern);
        }
    }

    return interceptMap;
}

From source file:biz.c24.io.spring.integration.config.XPathHeaderEnricherParser.java

protected void processHeaders(Element element, ManagedMap<String, Object> headers,
        ParserContext parserContext) {/*from  ww  w. ja va2  s . c o  m*/
    Object source = parserContext.extractSource(element);
    NodeList childNodes = element.getChildNodes();
    for (int i = 0; i < childNodes.getLength(); i++) {
        Node node = childNodes.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            Element headerElement = (Element) node;
            String elementName = node.getLocalName();
            if ("header".equals(elementName)) {
                BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
                        "biz.c24.io.spring.integration.transformer.C24XPathHeaderEnricher$XPathExpressionEvaluatingHeaderValueMessageProcessor");
                String expressionString = headerElement.getAttribute("xpath-statement");
                String expressionRef = headerElement.getAttribute("xpath-statement-ref");
                boolean isExpressionString = StringUtils.hasText(expressionString);
                boolean isExpressionRef = StringUtils.hasText(expressionRef);
                if (!(isExpressionString ^ isExpressionRef)) {
                    parserContext.getReaderContext().error(
                            "Exactly one of the 'xpath-statement' or 'xpath-statement-ref' attributes is required.",
                            source);
                }
                if (isExpressionString) {
                    builder.addConstructorArgValue(expressionString);
                } else {
                    builder.addConstructorArgReference(expressionRef);
                }
                IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, headerElement, "evaluation-type");
                IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, headerElement, "overwrite");
                String headerName = headerElement.getAttribute("name");
                headers.put(headerName, builder.getBeanDefinition());
            }
        }
    }
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

protected AbstractBeanDefinition prepareDOMConversionManager() {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class);
    ManagedList<AbstractBeanDefinition> converters = prepareCoreConverters();
    converters.addAll(prepareTemporalConverters(TemporalAdapter.class.getPackage().getName(),
            TemporalAdapter.class.getSimpleName()));

    BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(ApplicationContextConverter.class);
    appCxtBeanDefBuilder.addConstructorArgValue(
            BeanDefinitionBuilder.genericBeanDefinition(DocumentConverter.class).getBeanDefinition());
    converters.add(appCxtBeanDefBuilder.getBeanDefinition());
    builder.addConstructorArgValue(converters);
    return builder.getBeanDefinition();
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

protected AbstractBeanDefinition prepareJAXBConversionManager() {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class);
    ManagedList<AbstractBeanDefinition> converters = prepareCoreConverters();
    converters//from   ww  w  .  j  a va2  s  .  c om
            .addAll(prepareTemporalConverters("org.brekka.stillingar.jaxb.conversion", "JAXBTemporalAdapter"));

    BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(ApplicationContextConverter.class);
    appCxtBeanDefBuilder.addConstructorArgValue(
            BeanDefinitionBuilder.genericBeanDefinition(DocumentConverter.class).getBeanDefinition());
    converters.add(appCxtBeanDefBuilder.getBeanDefinition());
    builder.addConstructorArgValue(converters);
    return builder.getBeanDefinition();
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

protected void preparePostProcessor(Element element, ParserContext parserContext) {
    String id = element.getAttribute("id");
    String name = getName(element);
    BeanDefinitionBuilder postProcessor = BeanDefinitionBuilder
            .genericBeanDefinition(ConfigurationBeanPostProcessor.class);
    postProcessor.addConstructorArgValue(name);
    postProcessor.addConstructorArgReference(id);
    Element annotationConfigElement = selectSingleChildElement(element, "annotation-config", true);
    if (annotationConfigElement != null) {
        String marker = annotationConfigElement.getAttribute("marker");
        if (StringUtils.hasLength(marker)) {
            Class<?> theClass = ClassUtils.resolveClassName(marker,
                    Thread.currentThread().getContextClassLoader());
            if (!theClass.isAnnotation()) {
                throw new ConfigurationException(String.format("The class '%s' is not an annotation", marker));
            }/*w ww. ja v a 2s.  c o  m*/
            postProcessor.addPropertyValue("markerAnnotation", theClass);
        }
    }
    parserContext.registerBeanComponent(
            new BeanComponentDefinition(postProcessor.getBeanDefinition(), id + "-postProcessor"));
}