Example usage for org.springframework.security.config BeanIds CONTEXT_SOURCE

List of usage examples for org.springframework.security.config BeanIds CONTEXT_SOURCE

Introduction

In this page you can find the example usage for org.springframework.security.config BeanIds CONTEXT_SOURCE.

Prototype

String CONTEXT_SOURCE

To view the source code for org.springframework.security.config BeanIds CONTEXT_SOURCE.

Click Source Link

Usage

From source file:org.springframework.security.config.ldap.LdapServerBeanDefinitionParser.java

public BeanDefinition parse(Element elt, ParserContext parserContext) {
    String url = elt.getAttribute(ATT_URL);

    RootBeanDefinition contextSource;/* w  w w. j a va2 s.  c  om*/

    if (!StringUtils.hasText(url)) {
        contextSource = createEmbeddedServer(elt, parserContext);
    } else {
        contextSource = new RootBeanDefinition();
        contextSource.setBeanClassName(CONTEXT_SOURCE_CLASS);
        contextSource.getConstructorArgumentValues().addIndexedArgumentValue(0, url);
    }

    contextSource.setSource(parserContext.extractSource(elt));

    String managerDn = elt.getAttribute(ATT_PRINCIPAL);
    String managerPassword = elt.getAttribute(ATT_PASSWORD);

    if (StringUtils.hasText(managerDn)) {
        if (!StringUtils.hasText(managerPassword)) {
            parserContext.getReaderContext()
                    .error("You must specify the " + ATT_PASSWORD + " if you supply a " + managerDn, elt);
        }

        contextSource.getPropertyValues().addPropertyValue("userDn", managerDn);
        contextSource.getPropertyValues().addPropertyValue("password", managerPassword);
    }

    String id = elt.getAttribute(AbstractBeanDefinitionParser.ID_ATTRIBUTE);

    String contextSourceId = StringUtils.hasText(id) ? id : BeanIds.CONTEXT_SOURCE;

    parserContext.getRegistry().registerBeanDefinition(contextSourceId, contextSource);

    return null;
}