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

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

Introduction

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

Prototype

public BeanDefinitionBuilder addDependsOn(String beanName) 

Source Link

Document

Append the specified bean name to the list of beans that this definition depends on.

Usage

From source file:org.carewebframework.shell.help.HelpXmlParser.java

@Override
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("helpRegistry");
    builder.addPropertyReference("helpRegistry", "helpRegistry");
    addProperties(element, builder);//from  w  ww  .j a  va 2s  .  c  o m
}

From source file:org.carewebframework.shell.themes.ThemeXmlParser.java

@Override
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("themeRegistry");
    builder.addPropertyReference("themeRegistry", "themeRegistry");
    addProperties(element, builder);//from  w  w w .ja  v a 2 s .c o m
}

From source file:org.carewebframework.shell.plugins.PluginXmlParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("pluginRegistry");
    builder.addDependsOn("manifestIterator");
    builder.addPropertyReference("pluginRegistry", "pluginRegistry");
    builder.addPropertyValue("path", getResourcePath(parserContext));
    addProperties(element, builder);//from  w  w  w  .  j a  v a  2s .  c  o  m

    Element resourceTag = findTag("resource", element);

    if (resourceTag != null) {
        ManagedList<AbstractBeanDefinition> resourceList = new ManagedList<AbstractBeanDefinition>();
        NodeList resources = getTagChildren("resource", element);

        for (int i = 0; i < resources.getLength(); i++) {
            parseResources((Element) resources.item(i), builder, resourceList);
        }

        builder.addPropertyValue("resources", resourceList);
    }

    Element securityTag = findTag("security", element);

    if (securityTag != null) {
        addProperties(securityTag, builder);
        ManagedList<AbstractBeanDefinition> authorityList = new ManagedList<AbstractBeanDefinition>();
        NodeList authorities = getTagChildren("security", element);

        for (int i = 0; i < authorities.getLength(); i++) {
            parseAuthorities((Element) authorities.item(i), builder, authorityList);
        }

        builder.addPropertyValue("authorities", authorityList);
    }

    Element serializationTag = findTag("serialization", element);

    if (serializationTag != null) {
        addProperties(serializationTag, builder);
        ManagedList<AbstractBeanDefinition> propertyList = new ManagedList<AbstractBeanDefinition>();
        NodeList properties = getTagChildren("serialization", element);

        for (int i = 0; i < properties.getLength(); i++) {
            parseProperties((Element) properties.item(i), builder, propertyList);
        }

        builder.addPropertyValue("properties", propertyList);
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.service.AbstractServiceBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element configElement, ParserContext parserContext, BeanDefinitionBuilder builder) {
    List<Element> configurationResources = XMLHelper.getChildElementsByTagNameNS(configElement,
            ServiceNamespaceHandler.NAMESPACE, "ConfigurationResource");
    builder.addPropertyValue("serviceConfigurations",
            SpringConfigurationUtils.parseInnerCustomElements(configurationResources, parserContext));

    builder.addDependsOn("shibboleth.LogbackLogging");
    for (String dependency : XMLHelper
            .getAttributeValueAsList(configElement.getAttributeNodeNS(null, "depends-on"))) {
        builder.addDependsOn(dependency);
    }//from   w ww. j  a va  2 s.  c  o m

    builder.setInitMethodName("initialize");
}

From source file:org.smf4j.spring.JmxExporterBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext context, BeanDefinitionBuilder builder) {
    String tmp = element.getAttribute(AUTOPUBLISH_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(AUTOPUBLISH_PROP, tmp);
    }// w w  w .  j a  va2s .  c  om

    tmp = element.getAttribute(DEPENDSON_ATTR);
    if (StringUtils.hasLength(tmp)) {
        for (String id : StringUtils.commaDelimitedListToSet(tmp)) {
            builder.addDependsOn(id);
        }
    } else {
        builder.addDependsOn(RegistrarBeanDefinitionParser.MASTER_REGISTRAR_ID);
    }
    builder.setLazyInit(false);
}

From source file:org.smf4j.spring.ResolveBeanDefinitionParser.java

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

    // The path path.to.node.accumulator to the accumulator we're looking
    // up.//from  w w  w. ja v a 2 s  . c  om
    String path = element.getAttribute(PATH_ATTR);
    if (!StringUtils.hasLength(path)) {
        context.getReaderContext().error("'resolve' elements must have a 'path' attribute.", element);
    }

    // Set the path
    builder.addPropertyValue(PATH_ATTR, path);

    // Make sure that spring knows we depend on the given beans, which are
    // probably <registrar> nodes.
    String dependsOn = element.getAttribute(DEPENDSON_ATTR);
    if (StringUtils.hasLength(dependsOn)) {
        for (String id : StringUtils.commaDelimitedListToSet(dependsOn)) {
            // Depend on the indicated registrar name
            builder.addDependsOn(id);
        }
    } else {
        // Depend on the default registrar name
        builder.addDependsOn(RegistrarBeanDefinitionParser.MASTER_REGISTRAR_ID);
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.relyingparty.saml.AbstractSAMLProfileConfigurationBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    builder.setLazyInit(true);/*from   w w  w.  ja va  2s. c  o m*/
    Map<QName, List<Element>> children = XMLHelper.getChildElements(element);

    List<Element> audienceElems = children
            .get(new QName(SAMLRelyingPartyNamespaceHandler.NAMESPACE, "Audience"));
    if (audienceElems != null && audienceElems.size() > 0) {
        LazyList<String> audiences = new LazyList<String>();
        for (Element audienceElem : audienceElems) {
            audiences.add(DatatypeHelper.safeTrimOrNullString(audienceElem.getTextContent()));
        }
        builder.addPropertyValue("audiences", audiences);
    }

    String secCredRef = DatatypeHelper
            .safeTrimOrNullString(element.getAttributeNS(null, "signingCredentialRef"));
    if (secCredRef != null) {
        builder.addDependsOn(secCredRef);
        builder.addPropertyReference("signingCredential", secCredRef);
    }

    long lifetime = 300000L;
    if (element.hasAttributeNS(null, "assertionLifetime")) {
        lifetime = SpringConfigurationUtils.parseDurationToMillis(
                "'assertionLifetime' on profile configuration of type " + XMLHelper.getXSIType(element),
                element.getAttributeNS(null, "assertionLifetime"), 0);
    }
    builder.addPropertyValue("assertionLifetime", lifetime);

    String artifactType = DatatypeHelper
            .safeTrimOrNullString(element.getAttributeNS(null, "outboundArtifactType"));
    if (artifactType != null) {
        byte[] artifactTypeBytes = DatatypeHelper.intToByteArray(Integer.parseInt(artifactType));
        byte[] trimmedArtifactTypeBytes = { artifactTypeBytes[2], artifactTypeBytes[3] };
        builder.addPropertyValue("outboundArtifactType", trimmedArtifactTypeBytes);
    }

    CryptoOperationRequirementLevel signRequests = CryptoOperationRequirementLevel.conditional;
    if (element.hasAttributeNS(null, "signRequests")) {
        signRequests = CryptoOperationRequirementLevel.valueOf(element.getAttributeNS(null, "signRequests"));
    }
    builder.addPropertyValue("signRequests", signRequests);

    CryptoOperationRequirementLevel signResponses = getSignResponsesDefault();
    if (element.hasAttributeNS(null, "signResponses")) {
        signResponses = CryptoOperationRequirementLevel.valueOf(element.getAttributeNS(null, "signResponses"));
    }
    builder.addPropertyValue("signResponses", signResponses);

    CryptoOperationRequirementLevel signAssertions = getSignAssertionsDefault();
    if (element.hasAttributeNS(null, "signAssertions")) {
        signAssertions = CryptoOperationRequirementLevel
                .valueOf(element.getAttributeNS(null, "signAssertions"));
    }
    builder.addPropertyValue("signAssertions", signAssertions);

    String secPolRef = DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "securityPolicyRef"));
    if (secPolRef != null) {
        builder.addDependsOn(secPolRef);
        builder.addPropertyReference("profileSecurityPolicy", secPolRef);
    }
}

From source file:org.solmix.runtime.support.spring.AbstractBeanDefinitionParser.java

/**?Element,?Container*/
protected boolean parseAttributes(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
    NamedNodeMap atts = element.getAttributes();
    boolean setBus = false;
    for (int i = 0; i < atts.getLength(); i++) {
        Attr node = (Attr) atts.item(i);
        String val = node.getValue();
        String pre = node.getPrefix();
        String name = node.getLocalName();
        String prefix = node.getPrefix();

        // Don't process namespaces
        if (isNamespace(name, prefix)) {
            continue;
        }//from   w w  w .j a v a2  s . c  o  m
        if ("createdFromAPI".equals(name)) {
            bean.setAbstract(true);
        } else if ("abstract".equals(name)) {
            bean.setAbstract(true);
        } else if ("depends-on".equals(name)) {
            bean.addDependsOn(val);
        } else if ("name".equals(name)) {
            parseNameAttribute(element, ctx, bean, val);
        } else if ("container".equals(name)) {
            setBus = parseContainerAttribute(element, ctx, bean, val);
        } else if ("id".equals(name)) {
            parseIdAttribute(bean, element, name, val, ctx);
        } else if (isAttribute(pre, name)) {
            parseAttribute(bean, element, name, val, ctx);
        }
    }
    return setBus;
}

From source file:org.agilemicroservices.autoconfigure.orm.RepositoryBeanDefinitionBuilder.java

/**
 * Builds a new {@link BeanDefinitionBuilder} from the given {@link BeanDefinitionRegistry} and {@link ResourceLoader}
 * .//from w w  w .ja v  a  2  s.co  m
 *
 * @param configuration must not be {@literal null}.
 * @return
 */
public BeanDefinitionBuilder build(RepositoryConfiguration<?> configuration) {

    Assert.notNull(registry, "BeanDefinitionRegistry must not be null!");
    Assert.notNull(resourceLoader, "ResourceLoader must not be null!");

    String factoryBeanName = configuration.getRepositoryFactoryBeanName();
    factoryBeanName = StringUtils.hasText(factoryBeanName) ? factoryBeanName
            : extension.getRepositoryFactoryClassName();

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(factoryBeanName);

    builder.getRawBeanDefinition().setSource(configuration.getSource());
    builder.addPropertyValue("repositoryInterface", configuration.getRepositoryInterface());
    builder.addPropertyValue("queryLookupStrategyKey", configuration.getQueryLookupStrategyKey());
    builder.addPropertyValue("lazyInit", configuration.isLazyInit());
    builder.addPropertyValue("repositoryBaseClass", configuration.getRepositoryBaseClassName());

    NamedQueriesBeanDefinitionBuilder definitionBuilder = new NamedQueriesBeanDefinitionBuilder(
            extension.getDefaultNamedQueryLocation());

    if (StringUtils.hasText(configuration.getNamedQueriesLocation())) {
        definitionBuilder.setLocations(configuration.getNamedQueriesLocation());
    }

    builder.addPropertyValue("namedQueries", definitionBuilder.build(configuration.getSource()));

    String customImplementationBeanName = registerCustomImplementation(configuration);

    if (customImplementationBeanName != null) {
        builder.addPropertyReference("customImplementation", customImplementationBeanName);
        builder.addDependsOn(customImplementationBeanName);
    }

    RootBeanDefinition evaluationContextProviderDefinition = new RootBeanDefinition(
            ExtensionAwareEvaluationContextProvider.class);
    evaluationContextProviderDefinition.setSource(configuration.getSource());

    builder.addPropertyValue("evaluationContextProvider", evaluationContextProviderDefinition);

    return builder;
}

From source file:org.smf4j.spring.CsvFileBeanDefinitionParser.java

private void parseTopLevelProperties(Element element, ParserContext context, BeanDefinitionBuilder builder) {
    String tmp;/*from  ww  w . java2 s . co m*/
    tmp = element.getAttribute(PATH_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(PATH_ATTR, tmp);
    }
    tmp = element.getAttribute(TIMESTAMP_COLUMN_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(TIMESTAMP_COLUMN_ATTR, tmp);
    }
    tmp = element.getAttribute(TIMESTAMP_COLUMN_HEADER_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(TIMESTAMP_COLUMN_HEADER_ATTR, tmp);
    }
    tmp = element.getAttribute(LINE_ENDING_ATTR);
    if (StringUtils.hasLength(tmp)) {
        String lineEnding = System.getProperty("line.separator");
        if (CR.equals(tmp)) {
            lineEnding = "\r";
        } else if (LF.equals(tmp)) {
            lineEnding = "\n";
        } else if (CRLF.equals(tmp)) {
            lineEnding = "\r\n";
        } else {
            context.getReaderContext().warning(
                    String.format("Unknown line ending '%s'.  Using system-default " + "instead.", tmp),
                    context.getReaderContext().extractSource(element));
        }
        builder.addPropertyValue(LINE_ENDING_ATTR, lineEnding);
    }
    tmp = element.getAttribute(APPEND_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(APPEND_ATTR, tmp);
    }
    tmp = element.getAttribute(DELIMETER_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(DELIMETER_ATTR, tmp);
    }
    tmp = element.getAttribute(QUOTE_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(QUOTE_ATTR, tmp);
    }
    tmp = element.getAttribute(CHARSET_ATTR);
    if (StringUtils.hasLength(tmp)) {
        boolean validCharset = false;
        try {
            validCharset = Charset.isSupported(tmp);
        } catch (IllegalCharsetNameException e) {
        }

        if (!validCharset) {
            String defaultCharset = Charset.defaultCharset().name();
            context.getReaderContext()
                    .warning(String.format(
                            "Unknown charset '%s'.  Using system-default charset " + "'%s' instead.", tmp,
                            defaultCharset), context.getReaderContext().extractSource(element));

        }
        builder.addPropertyValue(CHARSET_ATTR, tmp);
    }
    tmp = element.getAttribute(ROLLOVER_TIMESTAMP_PATTERN);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(ROLLOVER_TIMESTAMP_PATTERN, tmp);
    }
    tmp = element.getAttribute(COLUMN_TIMESTAMP_PATTERN);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(COLUMN_TIMESTAMP_PATTERN, tmp);
    }
    tmp = element.getAttribute(MAXSIZE_ATTR);
    if (StringUtils.hasLength(tmp)) {
        builder.addPropertyValue(MAXSIZE_ATTR, tmp);
    }

    tmp = element.getAttribute(DEPENDSON_ATTR);
    if (StringUtils.hasLength(tmp)) {
        for (String id : StringUtils.commaDelimitedListToSet(tmp)) {
            builder.addDependsOn(id);
        }
    } else {
        builder.addDependsOn(RegistrarBeanDefinitionParser.MASTER_REGISTRAR_ID);
    }
    builder.setLazyInit(false);
}