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

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

Introduction

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

Prototype

public AbstractBeanDefinition getBeanDefinition() 

Source Link

Document

Validate and return the created BeanDefinition object.

Usage

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