Example usage for org.w3c.dom Element hasAttributeNS

List of usage examples for org.w3c.dom Element hasAttributeNS

Introduction

In this page you can find the example usage for org.w3c.dom Element hasAttributeNS.

Prototype

public boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException;

Source Link

Document

Returns true when an attribute with a given local name and namespace URI is specified on this element or has a default value, false otherwise.

Usage

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.filtering.match.basic.AbstractStringMatchFunctorBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element configElement, BeanDefinitionBuilder builder) {
    super.doParse(configElement, builder);

    builder.addPropertyValue("matchString",
            DatatypeHelper.safeTrimOrNullString(configElement.getAttributeNS(null, "value")));

    boolean ignoreCase = false;
    if (configElement.hasAttributeNS(null, "ignoreCase")) {
        ignoreCase = XMLHelper.getAttributeValueAsBoolean(configElement.getAttributeNodeNS(null, "ignoreCase"));
    }/*w w w. j  a  va2 s  . c  o  m*/
    builder.addPropertyValue("caseSensitive", !ignoreCase);
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.attributeDefinition.PrescopedAttributeDefinitionBeanDefinitionParser.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 scopeDelimiter = "@";
    if (pluginConfig.hasAttributeNS(null, "scopeDelimiter")) {
        scopeDelimiter = pluginConfig.getAttributeNS(null, "scopeDelimiter");
    }/* w w  w .  j a  va 2s.  co  m*/
    log.debug("Setting scope delimiter of attribute definition {} to: {}", pluginId, scopeDelimiter);
    pluginBuilder.addPropertyValue("scopeDelimiter", scopeDelimiter);
}

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

/**
 * Process the value map elements./*w  w w  .  j a  va 2 s  .co m*/
 * 
 * @param pluginId ID of this data connector
 * @param pluginConfigChildren configuration elements
 * @param pluginBuilder the bean definition parser
 * 
 * @return the list of value maps
 */
protected List<ValueMap> processValueMaps(String pluginId, Map<QName, List<Element>> pluginConfigChildren,
        BeanDefinitionBuilder pluginBuilder) {
    List<ValueMap> maps = new ArrayList<ValueMap>(5);

    ValueMap valueMap;
    String returnValue;
    String sourceValue;
    boolean ignoreCase;
    boolean partialMatch;
    if (pluginConfigChildren.containsKey(VALUEMAP_ELEMENT_NAME)) {
        for (Element valueMapElem : pluginConfigChildren.get(VALUEMAP_ELEMENT_NAME)) {
            valueMap = new ValueMap();

            Map<QName, List<Element>> children = XMLHelper.getChildElements(valueMapElem);

            if (children.containsKey(RETURN_VALUE_ELEMENT_NAME)) {
                List<Element> returnValueElems = children.get(RETURN_VALUE_ELEMENT_NAME);
                returnValue = DatatypeHelper.safeTrimOrNullString(returnValueElems.get(0).getTextContent());
                valueMap.setReturnValue(returnValue);
            }

            if (children.containsKey(SOURCE_VALUE_ELEMENT_NAME)) {
                for (Element sourceValueElem : children.get(SOURCE_VALUE_ELEMENT_NAME)) {
                    sourceValue = DatatypeHelper.safeTrim(sourceValueElem.getTextContent());

                    if (sourceValueElem.hasAttributeNS(null, "ignoreCase")) {
                        ignoreCase = XMLHelper.getAttributeValueAsBoolean(
                                sourceValueElem.getAttributeNodeNS(null, "ignoreCase"));
                    } else {
                        ignoreCase = false;
                    }

                    if (sourceValueElem.hasAttributeNS(null, "partialMatch")) {
                        partialMatch = XMLHelper.getAttributeValueAsBoolean(
                                sourceValueElem.getAttributeNodeNS(null, "partialMatch"));
                    } else {
                        partialMatch = false;
                    }

                    valueMap.getSourceValues()
                            .add(valueMap.new SourceValue(sourceValue, ignoreCase, partialMatch));
                }
            }

            maps.add(valueMap);
        }
    }

    return maps;
}

From source file:edu.internet2.middleware.shibboleth.common.config.metadata.HTTPMetadataProviderBeanDefinitionParser.java

/**
 * Builds the HTTP client used to fetch metadata.
 * /*w w  w .java  2  s .c  om*/
 * @param config the metadata provider configuration element
 * @param providerId the ID of the metadata provider
 * @param metadataURL the URL from which metadata will be fetched
 * 
 * @return the constructed HTTP client
 */
protected HttpClient buildHttpClient(Element config, String providerId, URL metadataURL) {
    HttpClientBuilder builder = new HttpClientBuilder();

    int requestTimeout = 5000;
    if (config.hasAttributeNS(null, "requestTimeout")) {
        requestTimeout = (int) SpringConfigurationUtils.parseDurationToMillis(
                "'requestTimeout' on metadata provider " + providerId,
                config.getAttributeNS(null, "requestTimeout"), 0);
    }
    log.debug("Metadata provider '{}' HTTP request timeout: {}ms", providerId, requestTimeout);
    builder.setConnectionTimeout(requestTimeout);

    if (metadataURL.getProtocol().equalsIgnoreCase("https")) {
        boolean disregardSslCertificate = false;
        if (config.hasAttributeNS(null, "disregardSslCertificate")) {
            disregardSslCertificate = XMLHelper
                    .getAttributeValueAsBoolean(config.getAttributeNodeNS(null, "disregardSslCertificate"));
        }

        log.debug("Metadata provider '{}' disregards server SSL certificate: {}", providerId,
                disregardSslCertificate);
        if (disregardSslCertificate) {
            builder.setHttpsProtocolSocketFactory(
                    new TLSProtocolSocketFactory(null, buildNoTrustTrustManager()));
        }
    }

    setHttpProxySettings(builder, config, providerId);

    HttpClient httpClient = builder.buildClient();
    setHttpBasicAuthSettings(httpClient, config, providerId, metadataURL);

    return httpClient;
}

From source file:io.wcm.tooling.commons.contentpackagebuilder.XmlContentBuilder.java

private boolean hasAttributeNamespaceAware(Element element, String key) {
    String namespace = getNamespace(key);
    if (namespace == null) {
        return element.hasAttribute(key);
    } else {/*from ww w .j ava 2  s.  com*/
        return element.hasAttributeNS(namespace, key);
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.attributeDefinition.SAML1NameIdentifierAttributeDefinitionBeanDefinitionParser.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 nameIdFormat = "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
    if (pluginConfig.hasAttributeNS(null, "nameIdFormat")) {
        nameIdFormat = DatatypeHelper.safeTrimOrNullString(pluginConfig.getAttributeNS(null, "nameIdFormat"));
    }/* w  w  w  .j  a  v a 2 s.  c o  m*/
    pluginBuilder.addPropertyValue("nameIdFormat", nameIdFormat);

    pluginBuilder.addPropertyValue("nameIdQualifier",
            DatatypeHelper.safeTrimOrNullString(pluginConfig.getAttributeNS(null, "nameIdQualifier")));
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.attributeDefinition.SAML2NameIDAttributeDefinitionBeanDefinitionParser.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 nameIdFormat = "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified";
    if (pluginConfig.hasAttributeNS(null, "nameIdFormat")) {
        nameIdFormat = DatatypeHelper.safeTrimOrNullString(pluginConfig.getAttributeNS(null, "nameIdFormat"));
    }//from   w w w  .j  a va2 s .  c  o  m
    pluginBuilder.addPropertyValue("nameIdFormat", nameIdFormat);

    pluginBuilder.addPropertyValue("nameIdQualifier",
            DatatypeHelper.safeTrimOrNullString(pluginConfig.getAttributeNS(null, "nameIdQualifier")));

    pluginBuilder.addPropertyValue("nameIdSPQualifier",
            DatatypeHelper.safeTrimOrNullString(pluginConfig.getAttributeNS(null, "nameIdSPQualifier")));
}

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");
    }//  www .  j av a 2s  .  co  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:org.unitedid.shibboleth.config.attribute.resolver.dataConnector.MongoDbDataConnectorBeanDefinitionParser.java

/**
 * Parse mongodb connection entries//  w  w  w.ja v  a2  s  .  c  o  m
 *
 * @param pluginId the id of this connector
 * @param pluginConfigChildren configuration elements
 * @return the server addresses extracted from mongohost elements
 */
protected List<ServerAddress> parseMongoHostNames(String pluginId,
        Map<QName, List<Element>> pluginConfigChildren) {
    List<ServerAddress> hosts = new ArrayList<ServerAddress>();
    String host;
    int port;

    if (pluginConfigChildren.containsKey(HOST_ELEMENT_NAME)) {
        for (Element e : pluginConfigChildren.get(HOST_ELEMENT_NAME)) {
            host = DatatypeHelper.safeTrimOrNullString(e.getAttributeNS(null, "host"));
            try {
                if (e.hasAttributeNS(null, "port")) {
                    port = Integer.parseInt(e.getAttributeNS(null, "port"));
                    hosts.add(new ServerAddress(host, port));
                } else {
                    hosts.add(new ServerAddress(host));
                }
            } catch (UnknownHostException err) {
                log.error("Data connector {} unknown host {}", pluginId, err);
            }
        }
    }
    return hosts;
}

From source file:net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.HTTPMetadataProviderParser.java

/** {@inheritDoc} */
// Checkstyle: CyclomaticComplexity OFF
@Override//from   w w w .j a  va  2  s .  com
protected void doNativeParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    super.doNativeParse(element, parserContext, builder);

    if (element.hasAttributeNS(null, "cacheDuration")) {
        log.error("{}: cacheDuration is not supported",
                parserContext.getReaderContext().getResource().getDescription());
        throw new BeanDefinitionParsingException(new Problem("cacheDuration is not supported",
                new Location(parserContext.getReaderContext().getResource())));
    }

    if (element.hasAttributeNS(null, "maintainExpiredMetadata")) {
        log.error("{}: maintainExpiredMetadata is not supported",
                parserContext.getReaderContext().getResource().getDescription());
        throw new BeanDefinitionParsingException(new Problem("maintainExpiredMetadata is not supported",
                new Location(parserContext.getReaderContext().getResource())));
    }

    boolean haveTLSTrustEngine = false;
    if (element.hasAttributeNS(null, "tlsTrustEngineRef")) {
        builder.addPropertyReference("tLSTrustEngine",
                StringSupport.trimOrNull(element.getAttributeNS(null, "tlsTrustEngineRef")));
        haveTLSTrustEngine = true;
    } else {
        BeanDefinition tlsTrustEngine = parseTLSTrustEngine(element, parserContext);
        if (tlsTrustEngine != null) {
            builder.addPropertyValue("tLSTrustEngine", tlsTrustEngine);
            haveTLSTrustEngine = true;
        }
    }

    if (element.hasAttributeNS(null, "httpClientRef")) {
        builder.addConstructorArgReference(
                StringSupport.trimOrNull(element.getAttributeNS(null, "httpClientRef")));
        if (element.hasAttributeNS(null, "requestTimeout")
                || element.hasAttributeNS(null, "disregardSslCertificate")
                || element.hasAttributeNS(null, "disregardTLSCertificate")
                || element.hasAttributeNS(null, "proxyHost") || element.hasAttributeNS(null, "proxyPort")
                || element.hasAttributeNS(null, "proxyUser") || element.hasAttributeNS(null, "proxyPassword")) {
            log.warn("httpClientRef overrides settings for requestTimeout, disregardSslCertificate, "
                    + "disregardTLSCertificate, proxyHost, proxyPort, proxyUser and proxyPassword");
        }
    } else {
        builder.addConstructorArgValue(buildHttpClient(element, parserContext, haveTLSTrustEngine));
    }
    builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, METADATA_URL)));

    if (element.hasAttributeNS(null, BASIC_AUTH_USER) || element.hasAttributeNS(null, BASIC_AUTH_PASSWORD)) {
        builder.addPropertyValue("basicCredentials", buildBasicCredentials(element));
    }

}