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

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

Introduction

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

Prototype

public BeanDefinitionBuilder addPropertyValue(String name, @Nullable Object value) 

Source Link

Document

Add the supplied property value under the given property name.

Usage

From source file:com.alibaba.citrus.service.form.impl.FormServiceDefinitionParser.java

private Object parseGroup(Element element, ParserContext parserContext,
        BeanDefinitionBuilder formConfigBuilder) {
    BeanDefinitionBuilder groupConfigBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(GroupConfigImpl.class);

    // set attributes
    attributesToProperties(element, groupConfigBuilder, "name", "trimmingByDefault", "postOnly");

    String parentGroup = trimToNull(element.getAttribute("extends"));

    if (parentGroup != null) {
        groupConfigBuilder.addPropertyValue("parentGroup", parentGroup);
    }/*from  w  ww  . j  a va 2s  . com*/

    // import & field
    ElementSelector importSelector = and(sameNs(element), name("import"));
    ElementSelector fieldSelector = and(sameNs(element), name("field"));

    List<Object> imports = createManagedList(element, parserContext);
    List<Object> fields = createManagedList(element, parserContext);

    for (Element subElement : subElements(element)) {
        if (importSelector.accept(subElement)) {
            imports.add(parseImportGroup(subElement, parserContext, groupConfigBuilder));
        } else if (fieldSelector.accept(subElement)) {
            fields.add(parseField(subElement, parserContext, groupConfigBuilder));
        }
    }

    groupConfigBuilder.addPropertyValue("imports", imports);
    groupConfigBuilder.addPropertyValue("fieldConfigImplList", fields);

    return groupConfigBuilder.getBeanDefinition();
}

From source file:org.jboss.windup.config.spring.namespace.interrogator.InterrogatorExtensionBeanParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder
            .rootBeanDefinition(org.springframework.beans.factory.config.MethodInvokingFactoryBean.class);

    InterrogatorTypeEnum interrogatorTarget = InterrogatorTypeEnum.valueOf(element.getAttribute("type"));
    String targetObject = interrogatorTarget.getBeanName();

    LOG.debug("Resolved target extension: " + targetObject);

    beanBuilder.addPropertyReference("targetObject", targetObject);
    beanBuilder.addPropertyValue("targetMethod", "addDecorators");

    // parse list..
    parseDecoratorExtensions(beanBuilder, element, parserContext);
    return beanBuilder.getBeanDefinition();
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.attributeDefinition.ScriptedAttributeDefinitionBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(String pluginId, Element pluginConfig, Map<QName, List<Element>> pluginConfigChildren,
        BeanDefinitionBuilder pluginBuilder, ParserContext parserContext) {
    super.doParse(pluginId, pluginConfig, pluginConfigChildren, pluginBuilder, parserContext);

    String scriptLanguage = "javascript";
    if (pluginConfig.hasAttributeNS(null, "language")) {
        scriptLanguage = pluginConfig.getAttributeNS(null, "language");
    }/*from w ww .j a  va 2  s.c o m*/
    log.debug("Attribute definition {} scripting language: {}", pluginId, scriptLanguage);
    pluginBuilder.addPropertyValue("language", scriptLanguage);

    String script = null;
    List<Element> scriptElem = pluginConfigChildren
            .get(new QName(AttributeDefinitionNamespaceHandler.NAMESPACE, "Script"));
    if (scriptElem != null && scriptElem.size() > 0) {
        script = scriptElem.get(0).getTextContent();
    } else {
        List<Element> scriptFileElem = pluginConfigChildren
                .get(new QName(AttributeDefinitionNamespaceHandler.NAMESPACE, "ScriptFile"));
        if (scriptFileElem != null && scriptFileElem.size() > 0) {
            String scriptFile = scriptFileElem.get(0).getTextContent();
            try {
                script = DatatypeHelper.inputstreamToString(new FileInputStream(scriptFile), null);
            } catch (IOException e) {
                throw new BeanCreationException("Unable to read script file " + scriptFile, e);
            }
        }
    }

    if (script == null) {
        throw new BeanCreationException("No script specified for this attribute definition");
    }
    log.debug("Attribute definition {} script: {}", pluginId, script);
    pluginBuilder.addPropertyValue("script", script);
}

From source file:fr.xebia.management.config.ThreadPoolExecutorFactoryDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ThreadPoolExecutorFactory.class);

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    String poolSize = element.getAttribute(POOL_SIZE_ATTRIBUTE);
    if (StringUtils.hasText(poolSize)) {
        builder.addPropertyValue("poolSize", poolSize);
    }//w  w  w  . ja v  a2s . c om

    String queueCapacity = element.getAttribute(QUEUE_CAPACITY_ATTRIBUTE);
    if (StringUtils.hasText(queueCapacity)) {
        builder.addPropertyValue("queueCapacity", queueCapacity);
    }

    String keepAlive = element.getAttribute(KEEP_ALIVE_ATTRIBUTE);
    if (StringUtils.hasText(keepAlive)) {
        builder.addPropertyValue("keepAliveTimeInSeconds", keepAlive);
    }

    String rejectionPolicy = element.getAttribute(REJECTION_POLICY_ATTRIBUTE);

    Class<? extends RejectedExecutionHandler> rejectedExecutionHandlerClass;
    if ("ABORT".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = AbortPolicy.class;
    } else if ("CALLER_RUNS".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = CallerRunsPolicy.class;
    } else if ("DISCARD".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = DiscardPolicy.class;
    } else if ("DISCARD_OLDEST".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = DiscardOldestPolicy.class;
    } else {
        throw new IllegalArgumentException(
                "Unsupported '" + REJECTION_POLICY_ATTRIBUTE + "': '" + rejectionPolicy + "'");
    }
    builder.addPropertyValue("rejectedExecutionHandlerClass", rejectedExecutionHandlerClass);

    return builder.getBeanDefinition();
}

From source file:it.pronetics.madstore.common.configuration.spring.MadStoreConfigurationBeanDefinitionParser.java

private void dummyOsConfiguration(BeanDefinitionBuilder beanDefinitionBuilder) {
    OpenSearchConfiguration openSearchConfiguration = new OpenSearchConfiguration();
    openSearchConfiguration.setShortName(new String());
    openSearchConfiguration.setDescription(new String());
    beanDefinitionBuilder.addPropertyValue(OS_CONFIGURATION_BEAN_PROPERTY, openSearchConfiguration);
}

From source file:org.codehaus.grepo.core.config.GenericRepositoryScanBeanDefinitionParser.java

/**
 * {@inheritDoc}/* www.  ja v a 2  s  . c  o m*/
 */
public BeanDefinition parse(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);
    GenericRepositoryConfigContext configContext = new GenericRepositoryConfigContext(element);

    // init bean defintion parse delegate...
    BeanDefinitionParserDelegate delegate = new BeanDefinitionParserDelegate(parserContext.getReaderContext());
    delegate.initDefaults(element.getOwnerDocument().getDocumentElement());

    GenericRepositoryBeanDefinitionScanner scanner = configureScanner(configContext, parserContext);

    parseBeanNameGenerator(configContext, parserContext);

    String[] basePackages = StringUtils.commaDelimitedListToStringArray(configContext.getBasePackage());
    for (String basePackage : basePackages) {
        Set<BeanDefinition> candidates = scanner.findCandidateComponents(basePackage);
        for (BeanDefinition candidate : candidates) {
            BeanDefinitionBuilder builder = BeanDefinitionParserHelper
                    .createBuilderFromConfigContext(configContext, source, defaultGenericRepositoryFactoryType);

            delegate.parsePropertyElements(configContext.getElement(), builder.getRawBeanDefinition());

            builder.addPropertyValue(GenericRepositoryConfigContext.PROXY_CLASS_PROPERTY,
                    candidate.getBeanClassName());

            String beanName = beanNameGenerator.generateBeanName(candidate, parserContext.getRegistry());
            parserContext
                    .registerBeanComponent(new BeanComponentDefinition(builder.getBeanDefinition(), beanName));
            logger.debug("Registered generic repository bean '{}'", beanName);
        }
    }

    return null;
}

From source file:org.drools.container.spring.namespace.KnowledgeBaseDefinitionParser.java

@SuppressWarnings("unchecked")
@Override/*from w  w w.  j  av a 2  s  .co  m*/
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeBaseBeanFactory.class);

    Element kbaseConf = DomUtils.getChildElementByTagName(element, "configuration");
    if (kbaseConf != null) {
        BeanDefinitionBuilder rbaseConfBuilder = BeanDefinitionBuilder
                .rootBeanDefinition(RuleBaseConfiguration.class);
        Element e = DomUtils.getChildElementByTagName(kbaseConf, ADVANCED_PROCESS_RULE_INTEGRATED);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) {
            rbaseConfBuilder.addPropertyValue("advancedProcessRuleIntegration",
                    Boolean.parseBoolean(e.getAttribute("enabled")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, MULTITHREADS);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) {
            rbaseConfBuilder.addPropertyValue("multithreadEvaluation",
                    Boolean.parseBoolean(e.getAttribute("enabled")));
            if (!StringUtils.isEmpty(e.getAttribute(MAX_THREADS))) {
                rbaseConfBuilder.addPropertyValue("maxThreads", Integer.parseInt(e.getAttribute(MAX_THREADS)));
            }
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, MBEABS);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("enabled"))) {
            rbaseConfBuilder.addPropertyValue("MBeansEnabled", Boolean.parseBoolean(e.getAttribute("enabled")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, EVENT_PROCESSING_MODE);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("mode"))) {
            rbaseConfBuilder.addPropertyValue("eventProcessingMode",
                    EventProcessingOption.valueOf(e.getAttribute("mode")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, ASSERT_BEHAVIOR);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("mode"))) {
            rbaseConfBuilder.addPropertyValue("assertBehaviour",
                    AssertBehaviour.determineAssertBehaviour(e.getAttribute("mode")));
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, ACCUMULATE_FUNCTIONS);
        if (e != null) {
            List<Element> children = DomUtils.getChildElementsByTagName(e, ACCUMULATE_FUNCTION);
            if (children != null && !children.isEmpty()) {
                ManagedMap functions = new ManagedMap();
                for (Element child : children) {
                    functions.put(child.getAttribute("name"),
                            new RuntimeBeanReference(child.getAttribute("ref")));
                }
                factory.addPropertyValue("accumulateFunctions", functions);
            }
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, EVALUATORS);
        if (e != null) {
            List<Element> children = DomUtils.getChildElementsByTagName(e, EVALUATOR);
            if (children != null && !children.isEmpty()) {
                ManagedMap evaluators = new ManagedMap();
                for (Element child : children) {
                    evaluators.put(child.getAttribute("name"),
                            new RuntimeBeanReference(child.getAttribute("ref")));
                }
                factory.addPropertyValue("evaluators", evaluators);
            }
        }

        e = DomUtils.getChildElementByTagName(kbaseConf, CONSEQUENCE_EXCEPTION_HANDLER);
        if (e != null && !StringUtils.isEmpty(e.getAttribute("handler"))) {
            rbaseConfBuilder.addPropertyValue("consequenceExceptionHandler", e.getAttribute("handler"));
        }

        factory.addPropertyValue("conf", rbaseConfBuilder.getBeanDefinition());
    }

    String nodeRef = element.getAttribute(EXECUTION_NODE_ATTRIBUTE);
    if (nodeRef != null && nodeRef.length() > 0) {
        factory.addPropertyReference(EXECUTION_NODE_ATTRIBUTE, nodeRef);
    }

    ManagedList resources = getResources(element, parserContext, factory);

    if (resources != null) {
        factory.addPropertyValue("resources", resources);
    }

    return factory.getBeanDefinition();
}

From source file:org.apache.ftpserver.config.spring.UserManagerBeanDefinitionParser.java

@Override
protected void doParse(final Element element, final ParserContext parserContext,
        final BeanDefinitionBuilder builder) {

    Class<?> factoryClass;//from w  w w.  j av a2  s  . c o  m
    if (element.getLocalName().equals("file-user-manager")) {
        factoryClass = PropertiesUserManagerFactory.class;
    } else {
        factoryClass = DbUserManagerFactory.class;
    }
    BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(factoryClass);

    // common for both user managers
    if (StringUtils.hasText(element.getAttribute("encrypt-passwords"))) {
        String encryptionStrategy = element.getAttribute("encrypt-passwords");

        if (encryptionStrategy.equals("true") || encryptionStrategy.equals("md5")) {
            factoryBuilder.addPropertyValue("passwordEncryptor", new Md5PasswordEncryptor());
        } else if (encryptionStrategy.equals("salted")) {
            factoryBuilder.addPropertyValue("passwordEncryptor", new SaltedPasswordEncryptor());
        } else {
            factoryBuilder.addPropertyValue("passwordEncryptor", new ClearTextPasswordEncryptor());
        }
    }

    if (factoryClass == PropertiesUserManagerFactory.class) {
        if (StringUtils.hasText(element.getAttribute("file"))) {
            factoryBuilder.addPropertyValue("file", element.getAttribute("file"));
        }
        if (StringUtils.hasText(element.getAttribute("url"))) {
            factoryBuilder.addPropertyValue("url", element.getAttribute("url"));
        }
    } else {
        Element dsElm = SpringUtil.getChildElement(element, FtpServerNamespaceHandler.FTPSERVER_NS,
                "data-source");

        // schema ensure we get the right type of element
        Element springElm = SpringUtil.getChildElement(dsElm, null, null);
        Object o;
        if ("bean".equals(springElm.getLocalName())) {
            o = parserContext.getDelegate().parseBeanDefinitionElement(springElm, builder.getBeanDefinition());
        } else {
            // ref
            o = parserContext.getDelegate().parsePropertySubElement(springElm, builder.getBeanDefinition());

        }
        factoryBuilder.addPropertyValue("dataSource", o);

        factoryBuilder.addPropertyValue("sqlUserInsert", getSql(element, "insert-user"));
        factoryBuilder.addPropertyValue("sqlUserUpdate", getSql(element, "update-user"));
        factoryBuilder.addPropertyValue("sqlUserDelete", getSql(element, "delete-user"));
        factoryBuilder.addPropertyValue("sqlUserSelect", getSql(element, "select-user"));
        factoryBuilder.addPropertyValue("sqlUserSelectAll", getSql(element, "select-all-users"));
        factoryBuilder.addPropertyValue("sqlUserAdmin", getSql(element, "is-admin"));
        factoryBuilder.addPropertyValue("sqlUserAuthenticate", getSql(element, "authenticate"));
    }

    BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition();
    String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition);

    BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId);
    registerBeanDefinition(factoryHolder, parserContext.getRegistry());

    // set the factory on the listener bean
    builder.getRawBeanDefinition().setFactoryBeanName(factoryId);
    builder.getRawBeanDefinition().setFactoryMethodName("createUserManager");

}

From source file:org.apache.smscserver.config.spring.UserManagerBeanDefinitionParser.java

@Override
protected void doParse(final Element element, final ParserContext parserContext,
        final BeanDefinitionBuilder builder) {

    Class<?> factoryClass;//from w  ww  .  ja  va2  s  .  c om
    if (element.getLocalName().equals("file-user-manager")) {
        factoryClass = PropertiesUserManagerFactory.class;
    } else {
        factoryClass = DbUserManagerFactory.class;
    }

    BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(factoryClass);

    // common for both user managers
    if (StringUtils.hasText(element.getAttribute("encrypt-passwords"))) {
        String encryptionStrategy = element.getAttribute("encrypt-passwords");

        if (encryptionStrategy.equals("true") || encryptionStrategy.equals("md5")) {
            factoryBuilder.addPropertyValue("passwordEncryptor", new Md5PasswordEncryptor());
        } else if (encryptionStrategy.equals("salted")) {
            factoryBuilder.addPropertyValue("passwordEncryptor", new SaltedPasswordEncryptor());
        } else {
            factoryBuilder.addPropertyValue("passwordEncryptor", new ClearTextPasswordEncryptor());
        }
    }

    if (factoryClass == PropertiesUserManagerFactory.class) {
        if (StringUtils.hasText(element.getAttribute("file"))) {
            factoryBuilder.addPropertyValue("file", element.getAttribute("file"));
        }
        if (StringUtils.hasText(element.getAttribute("url"))) {
            factoryBuilder.addPropertyValue("url", element.getAttribute("url"));
        }
    } else {
        Element dsElm = SpringUtil.getChildElement(element, SmscServerNamespaceHandler.SMSCSERVER_NS,
                "data-source");

        // schema ensure we get the right type of element
        Element springElm = SpringUtil.getChildElement(dsElm, null, null);
        Object o;
        if ("bean".equals(springElm.getLocalName())) {
            o = parserContext.getDelegate().parseBeanDefinitionElement(springElm, builder.getBeanDefinition());
        } else {
            // ref
            o = parserContext.getDelegate().parsePropertySubElement(springElm, builder.getBeanDefinition());

        }
        factoryBuilder.addPropertyValue("dataSource", o);

        factoryBuilder.addPropertyValue("sqlUserInsert", this.getSql(element, "insert-user"));
        factoryBuilder.addPropertyValue("sqlUserUpdate", this.getSql(element, "update-user"));
        factoryBuilder.addPropertyValue("sqlUserDelete", this.getSql(element, "delete-user"));
        factoryBuilder.addPropertyValue("sqlUserSelect", this.getSql(element, "select-user"));
        factoryBuilder.addPropertyValue("sqlUserSelectAll", this.getSql(element, "select-all-users"));
        factoryBuilder.addPropertyValue("sqlUserAdmin", this.getSql(element, "is-admin"));
        factoryBuilder.addPropertyValue("sqlUserAuthenticate", this.getSql(element, "authenticate"));
    }

    BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition();
    String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition);

    BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId);
    this.registerBeanDefinition(factoryHolder, parserContext.getRegistry());

    // set the factory on the listener bean
    builder.getRawBeanDefinition().setFactoryBeanName(factoryId);
    builder.getRawBeanDefinition().setFactoryMethodName("createUserManager");

}

From source file:com.predic8.membrane.core.config.spring.AbstractParser.java

protected void setProperties(String prop, Element e, BeanDefinitionBuilder builder) {
    NamedNodeMap attributes = e.getAttributes();
    HashMap<String, String> attrs = new HashMap<String, String>();
    for (int i = 0; i < attributes.getLength(); i++) {
        Attr item = (Attr) attributes.item(i);
        if (item.getLocalName() != null)
            attrs.put(item.getLocalName(), item.getValue());
    }/*from w ww .j  a  v a  2  s .co  m*/
    builder.addPropertyValue(prop, attrs);
}