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:de.betterform.agent.web.WebProcessor.java
private URI getTransformURI() throws XFormsException, URISyntaxException { URI uri;//from ww w .j ava2 s . c om //if we find a xsl param on the request URI this takes precedence over all String xslFile = request.getParameter(XSL_PARAM_NAME); String xsltPath = RESOURCE_DIR + "xslt"; if (xslFile != null) { return new File(WebFactory.getRealPath(xsltPath, getContext())).toURI().resolve(new URI(xslFile)); } //if we find a 'bf:transform' attribute on the root element of a form this takes priority over the global configuration in betterform-config.xml Element e = this.xformsProcessor.getXForms().getDocumentElement(); if (e.hasAttributeNS(NamespaceConstants.BETTERFORM_NS, "transform")) { String transformValue = e.getAttributeNS(NamespaceConstants.BETTERFORM_NS, "transform"); return new URI(WebUtil.getRequestURI(request) + transformValue); } //finally use the configuration // String configuredTransform = configuration.getStylesheet(this.useragent); String configuredTransform = configuration.getProperty("ui-transform"); //todo: this forces to load the transform from filesystem - should be changed if (configuredTransform != null) { return new File(WebFactory.getRealPath(xsltPath, getContext())).toURI() .resolve(new URI(configuredTransform)); } throw new XFormsConfigException( "There was no xslt stylesheet found on the request URI, the root element of the form or in the configfile"); }
From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.RDBMSDataConnectorBeanDefinitionParser.java
/** * Processes the result handling configuration options. * /* w ww .j a va 2 s . c om*/ * @param pluginId ID of the data connector * @param pluginConfig configuration element for the data connector * @param pluginConfigChildren child config elements for the data connect * @param pluginBuilder builder of the data connector * @param parserContext current configuration parsing context */ protected void processResultHandlingConfig(String pluginId, Element pluginConfig, Map<QName, List<Element>> pluginConfigChildren, BeanDefinitionBuilder pluginBuilder, ParserContext parserContext) { List<RDBMSColumnDescriptor> descriptors = processColumnDescriptors(pluginId, pluginConfigChildren, pluginBuilder); pluginBuilder.addPropertyValue("columnDescriptors", descriptors); boolean noResultsIsError = false; if (pluginConfig.hasAttributeNS(null, "noResultIsError")) { noResultsIsError = XMLHelper .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "noResultIsError")); } log.debug("Data connector {} no results is error: {}", pluginId, noResultsIsError); pluginBuilder.addPropertyValue("noResultIsError", noResultsIsError); }
From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.LdapDataConnectorBeanDefinitionParser.java
/** * Process the basic LDAP connection configuration for the LDAP data connector. * //from www . ja va 2 s . c o m * @param pluginId ID of the LDAP plugin * @param pluginConfig LDAP plugin configuration element * @param pluginConfigChildren child elements of the plugin * @param pluginBuilder plugin builder * @param parserContext current parsing context */ protected void processBasicConnectionConfig(String pluginId, Element pluginConfig, Map<QName, List<Element>> pluginConfigChildren, BeanDefinitionBuilder pluginBuilder, ParserContext parserContext) { String ldapURL = pluginConfig.getAttributeNS(null, "ldapURL"); log.debug("Data connector {} LDAP URL: {}", pluginId, ldapURL); pluginBuilder.addPropertyValue("ldapUrl", ldapURL); ConnectionStrategy connStrategy = ConnectionStrategy.ACTIVE_PASSIVE; if (pluginConfig.hasAttributeNS(null, "connectionStrategy")) { connStrategy = ConnectionStrategy.valueOf(pluginConfig.getAttributeNS(null, "connectionStrategy")); } log.debug("Data connector {} connection strategy: {}", pluginId, connStrategy); pluginBuilder.addPropertyValue("connectionStrategy", connStrategy); if (pluginConfig.hasAttributeNS(null, "baseDN")) { String baseDN = pluginConfig.getAttributeNS(null, "baseDN"); log.debug("Data connector {} base DN: {}", pluginId, baseDN); pluginBuilder.addPropertyValue("baseDN", baseDN); } AUTHENTICATION_TYPE authnType = AUTHENTICATION_TYPE.SIMPLE; if (pluginConfig.hasAttributeNS(null, "authenticationType")) { authnType = AUTHENTICATION_TYPE.valueOf(pluginConfig.getAttributeNS(null, "authenticationType")); } log.debug("Data connector {} authentication type: {}", pluginId, authnType); pluginBuilder.addPropertyValue("authenticationType", authnType); String principal = pluginConfig.getAttributeNS(null, "principal"); log.debug("Data connector {} principal: {}", pluginId, principal); pluginBuilder.addPropertyValue("principal", principal); String credential = pluginConfig.getAttributeNS(null, "principalCredential"); pluginBuilder.addPropertyValue("principalCredential", credential); String templateEngineRef = pluginConfig.getAttributeNS(null, "templateEngine"); pluginBuilder.addPropertyReference("templateEngine", templateEngineRef); String filterTemplate = pluginConfigChildren .get(new QName(DataConnectorNamespaceHandler.NAMESPACE, "FilterTemplate")).get(0).getTextContent(); filterTemplate = DatatypeHelper.safeTrimOrNullString(filterTemplate); log.debug("Data connector {} LDAP filter template: {}", pluginId, filterTemplate); pluginBuilder.addPropertyValue("filterTemplate", filterTemplate); SearchScope searchScope = SearchScope.SUBTREE; if (pluginConfig.hasAttributeNS(null, "searchScope")) { searchScope = SearchScope.valueOf(pluginConfig.getAttributeNS(null, "searchScope")); } log.debug("Data connector {} search scope: {}", pluginId, searchScope); pluginBuilder.addPropertyValue("searchScope", searchScope); QName returnAttributesName = new QName(DataConnectorNamespaceHandler.NAMESPACE, "ReturnAttributes"); if (pluginConfigChildren.containsKey(returnAttributesName)) { List<String> returnAttributes = XMLHelper .getElementContentAsList(pluginConfigChildren.get(returnAttributesName).get(0)); log.debug("Data connector {} return attributes: {}", pluginId, returnAttributes); pluginBuilder.addPropertyValue("returnAttributes", returnAttributes); } }
From source file:edu.internet2.middleware.shibboleth.common.config.relyingparty.saml.AbstractSAML2ProfileConfigurationBeanDefinitionParser.java
/** {@inheritDoc} */ protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { super.doParse(element, parserContext, builder); List<Element> proxyAudiences = XMLHelper.getChildElementsByTagNameNS(element, SAMLRelyingPartyNamespaceHandler.NAMESPACE, "ProxyAudience"); if (proxyAudiences != null && proxyAudiences.size() > 0) { LazyList<String> audiences = new LazyList<String>(); for (Element proxyAudience : proxyAudiences) { audiences.add(DatatypeHelper.safeTrimOrNullString(proxyAudience.getTextContent())); }//from w w w .j av a 2s .com builder.addPropertyValue("proxyAudiences", audiences); } builder.addPropertyReference("attributeAuthority", DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "attributeAuthority"))); if (element.hasAttributeNS(null, "encryptNameIds")) { builder.addPropertyValue("encryptNameIds", CryptoOperationRequirementLevel.valueOf(element.getAttributeNS(null, "encryptNameIds"))); } else { builder.addPropertyValue("encryptNameIds", CryptoOperationRequirementLevel.never); } if (element.hasAttributeNS(null, "encryptAssertions")) { builder.addPropertyValue("encryptAssertions", CryptoOperationRequirementLevel.valueOf(element.getAttributeNS(null, "encryptAssertions"))); } else { builder.addPropertyValue("encryptAssertions", CryptoOperationRequirementLevel.conditional); } if (element.hasAttributeNS(null, "assertionProxyCount")) { builder.addPropertyValue("assertionProxyCount", Integer.parseInt( DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "assertionProxyCount")))); } else { builder.addPropertyValue("assertionProxyCount", 0); } }
From source file:org.unitedid.shibboleth.config.attribute.resolver.dataConnector.MongoDbDataConnectorBeanDefinitionParser.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); /**//from ww w. j av a 2 s.c o m * Data connector attributes (<resolver:DataConnector attr1="" attr2=""></resolver:DataConnector>) */ String mongoDbName = pluginConfig.getAttributeNS(null, "mongoDbName"); log.info("Data connector {} MONGODB DATABASE: {}", pluginId, mongoDbName); pluginBuilder.addPropertyValue("mongoDbName", mongoDbName); String mongoCollection = pluginConfig.getAttributeNS(null, "mongoCollection"); log.info("Data connector {} MONGODB COLLECTION: {}", pluginId, mongoCollection); pluginBuilder.addPropertyValue("mongoCollection", mongoCollection); if (pluginConfig.hasAttributeNS(null, "mongoUser")) { String mongoUser = pluginConfig.getAttributeNS(null, "mongoUser"); log.info("Data connector {} MONGODB USERNAME: {}", pluginId, mongoUser); pluginBuilder.addPropertyValue("mongoUser", mongoUser); } if (pluginConfig.hasAttributeNS(null, "mongoPassword")) { String mongoPassword = pluginConfig.getAttributeNS(null, "mongoPassword"); pluginBuilder.addPropertyValue("mongoPassword", mongoPassword); } String preferredRead = "primaryPreferred"; if (pluginConfig.hasAttributeNS(null, "preferredRead")) { preferredRead = pluginConfig.getAttributeNS(null, "preferredRead"); } log.info("Data connector {} preferredRead type: {}", pluginId, preferredRead); pluginBuilder.addPropertyValue("preferredRead", preferredRead); boolean cacheResults = false; if (pluginConfig.hasAttributeNS(null, "cacheResults")) { cacheResults = XMLHelper .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "cacheResults")); } log.info("Data connector {} cache results: {}", pluginId, cacheResults); pluginBuilder.addPropertyValue("cacheResults", cacheResults); /** * Mongodb host entries (<uid:MongoHost host="" port="" />) */ List<ServerAddress> hosts = parseMongoHostNames(pluginId, pluginConfigChildren); log.debug("Data connector {} hosts {}", pluginId, hosts.toString()); pluginBuilder.addPropertyValue("mongoHost", hosts); boolean usePersistentId = false; if (pluginConfigChildren.containsKey(PID_ELEMENT_NAME)) { Element e = pluginConfigChildren.get(PID_ELEMENT_NAME).get(0); pluginBuilder.addPropertyValue("pidGeneratedAttributeId", e.getAttributeNS(null, "generatedAttributeId")); pluginBuilder.addPropertyValue("pidSourceAttributeId", e.getAttributeNS(null, "sourceAttributeId")); usePersistentId = true; } log.info("Data connector {} running in persistentId mode: {}", pluginId, usePersistentId); pluginBuilder.addPropertyValue("usePersistentId", usePersistentId); List<MongoDbKeyAttributeMapper> keyAttributeMaps = parseAttributeMappings(pluginId, pluginConfigChildren); pluginBuilder.addPropertyValue("keyAttributeMap", keyAttributeMaps); if (!usePersistentId) { String queryTemplate = pluginConfigChildren.get(QUERY_TEMPLATE_ELEMENT_NAME).get(0).getTextContent(); queryTemplate = DatatypeHelper.safeTrimOrNullString(queryTemplate); log.debug("Data connector {} query template: {}", pluginId, queryTemplate); pluginBuilder.addPropertyValue("queryTemplate", queryTemplate); } String templateEngineRef = pluginConfig.getAttributeNS(null, "templateEngine"); pluginBuilder.addPropertyReference("templateEngine", templateEngineRef); }
From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.RDBMSDataConnectorBeanDefinitionParser.java
/** * Processes query handling related configuration options. * /*ww w. j av a 2 s . c o m*/ * @param pluginId ID of the data connector * @param pluginConfig configuration element for the data connector * @param pluginConfigChildren child config elements for the data connect * @param pluginBuilder builder of the data connector * @param parserContext current configuration parsing context */ protected void processQueryHandlingConfig(String pluginId, Element pluginConfig, Map<QName, List<Element>> pluginConfigChildren, BeanDefinitionBuilder pluginBuilder, ParserContext parserContext) { String templateEngineRef = pluginConfig.getAttributeNS(null, "templateEngine"); pluginBuilder.addPropertyReference("templateEngine", templateEngineRef); List<Element> queryTemplateElems = pluginConfigChildren .get(new QName(DataConnectorNamespaceHandler.NAMESPACE, "QueryTemplate")); String queryTemplate = queryTemplateElems.get(0).getTextContent(); log.debug("Data connector {} query template: {}", pluginId, queryTemplate); pluginBuilder.addPropertyValue("queryTemplate", queryTemplate); long queryTimeout = 5 * 1000; if (pluginConfig.hasAttributeNS(null, "queryTimeout")) { queryTimeout = SpringConfigurationUtils.parseDurationToMillis( "queryTimeout on relational database connector " + pluginId, pluginConfig.getAttributeNS(null, "queryTimeout"), 0); } log.debug("Data connector {} SQL query timeout: {}ms", pluginId, queryTimeout); pluginBuilder.addPropertyValue("queryTimeout", queryTimeout); boolean useSP = false; if (pluginConfig.hasAttributeNS(null, "queryUsesStoredProcedure")) { useSP = XMLHelper .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "queryUsesStoredProcedure")); } log.debug("Data connector {} query uses stored procedures: {}", pluginId, useSP); pluginBuilder.addPropertyValue("queryUsesStoredProcedures", useSP); boolean readOnlyCtx = true; if (pluginConfig.hasAttributeNS(null, "readOnlyConnection")) { readOnlyCtx = XMLHelper .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "readOnlyConnection")); } log.debug("Data connector {} connections are read only: {}", pluginId, readOnlyCtx); pluginBuilder.addPropertyValue("readOnlyConnections", readOnlyCtx); }
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);/* w w w.j av a2s . c om*/ 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:net.gfipm.shibboleth.config.GfipmBAEDataConnectorBeanDefinitionParser.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); List<BAEAttributeNameMap> attributes = parseAttributes(pluginConfigChildren.get(ATTRIBUTE_ELEMENT_NAME)); log.debug("Setting the following attributes for plugin {}: {}", pluginId, attributes); pluginBuilder.addPropertyValue("baeAttributes", attributes); String baeURL = pluginConfig.getAttributeNS(null, "baeURL"); String baeEntityId = pluginConfig.getAttributeNS(null, "baeEntityId"); String myEntityId = pluginConfig.getAttributeNS(null, "myEntityId"); String subjectId = pluginConfig.getAttributeNS(null, "subjectId"); pluginBuilder.addPropertyValue("baeURL", baeURL); pluginBuilder.addPropertyValue("baeEntityId", baeEntityId); pluginBuilder.addPropertyValue("myEntityId", myEntityId); pluginBuilder.addPropertyValue("subjectId", subjectId); int searchTimeLimit = 5000; if (pluginConfig.hasAttributeNS(null, "searchTimeLimit")) { searchTimeLimit = Integer.parseInt(pluginConfig.getAttributeNS(null, "searchTimeLimit")); }//from w ww. jav a 2 s . com log.debug("Data connector {} search timeout: {}ms", pluginId, searchTimeLimit); pluginBuilder.addPropertyValue("searchTimeLimit", searchTimeLimit); RuntimeBeanReference trustCredential = processCredential( pluginConfigChildren.get(new QName(GFIPMNamespaceHandler.NAMESPACE, "TrustCredential")), parserContext); log.debug("Data connector {} using provided trust material", pluginId); pluginBuilder.addPropertyValue("trustCredential", trustCredential); RuntimeBeanReference myCredential = processCredential( pluginConfigChildren.get(new QName(GFIPMNamespaceHandler.NAMESPACE, "AuthenticationCredential")), parserContext); log.debug("Data connector {} using provided client authentication material", pluginId); pluginBuilder.addPropertyValue("myCredential", myCredential); }
From source file:de.betterform.xml.xforms.model.Model.java
private void loadInlineSchemas(List list) throws XFormsException { String schemaId = null;//ww w .j a va 2 s.co m try { NodeList children = this.element.getChildNodes(); for (int index = 0; index < children.getLength(); index++) { Node child = children.item(index); if (Node.ELEMENT_NODE == child.getNodeType() && NamespaceConstants.XMLSCHEMA_NS.equals(child.getNamespaceURI())) { Element element = (Element) child; schemaId = element.hasAttributeNS(null, "id") ? element.getAttributeNS(null, "id") : element.getNodeName(); XSModel schema = loadSchema(element); if (schema == null) { throw new NullPointerException("resource not found"); } list.add(schema); } } } catch (Exception e) { throw new XFormsLinkException("could not load inline schema", e, this.target, schemaId); } }