List of usage examples for org.w3c.dom Element hasAttributeNS
public boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException;
true
when an attribute with a given local name and namespace URI is specified on this element or has a default value, false
otherwise. 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)); } }