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: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);
    }
}