Example usage for org.w3c.dom Element getTagName

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

Introduction

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

Prototype

public String getTagName();

Source Link

Document

The name of the element.

Usage

From source file:org.apache.xml.security.keys.keyresolver.implementations.X509IssuerSerialResolver.java

/** @inheritDoc */
public X509Certificate engineLookupResolveX509Certificate(Element element, String BaseURI,
        StorageResolver storage) throws KeyResolverException {
    if (log.isDebugEnabled()) {
        log.debug("Can I resolve " + element.getTagName() + "?");
    }/*from  ww w  .ja v a2s. c o  m*/

    X509Data x509data = null;
    try {
        x509data = new X509Data(element, BaseURI);
    } catch (XMLSignatureException ex) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    } catch (XMLSecurityException ex) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    }

    if (x509data == null) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    }

    if (!x509data.containsIssuerSerial()) {
        return null;
    }
    try {
        if (storage == null) {
            Object exArgs[] = { Constants._TAG_X509ISSUERSERIAL };
            KeyResolverException ex = new KeyResolverException("KeyResolver.needStorageResolver", exArgs);

            if (log.isDebugEnabled()) {
                log.debug("", ex);
            }
            throw ex;
        }

        int noOfISS = x509data.lengthIssuerSerial();

        Iterator<Certificate> storageIterator = storage.getIterator();
        while (storageIterator.hasNext()) {
            X509Certificate cert = (X509Certificate) storageIterator.next();
            XMLX509IssuerSerial certSerial = new XMLX509IssuerSerial(element.getOwnerDocument(), cert);

            if (log.isDebugEnabled()) {
                log.debug("Found Certificate Issuer: " + certSerial.getIssuerName());
                log.debug("Found Certificate Serial: " + certSerial.getSerialNumber().toString());
            }

            for (int i = 0; i < noOfISS; i++) {
                XMLX509IssuerSerial xmliss = x509data.itemIssuerSerial(i);

                if (log.isDebugEnabled()) {
                    log.debug("Found Element Issuer:     " + xmliss.getIssuerName());
                    log.debug("Found Element Serial:     " + xmliss.getSerialNumber().toString());
                }

                if (certSerial.equals(xmliss)) {
                    if (log.isDebugEnabled()) {
                        log.debug("match !!! ");
                    }
                    return cert;
                }
                if (log.isDebugEnabled()) {
                    log.debug("no match...");
                }
            }
        }

        return null;
    } catch (XMLSecurityException ex) {
        if (log.isDebugEnabled()) {
            log.debug("XMLSecurityException", ex);
        }

        throw new KeyResolverException("generic.EmptyMessage", ex);
    }
}

From source file:org.apache.xml.security.keys.keyresolver.implementations.X509SKIResolver.java

/**
 * Method engineResolveX509Certificate//from   w  w  w  .j a va 2s. com
 * @inheritDoc
 * @param element
 * @param BaseURI
 * @param storage
 *
 * @throws KeyResolverException
 */
public X509Certificate engineLookupResolveX509Certificate(Element element, String BaseURI,
        StorageResolver storage) throws KeyResolverException {
    if (log.isDebugEnabled()) {
        log.debug("Can I resolve " + element.getTagName() + "?");
    }
    if (!XMLUtils.elementIsInSignatureSpace(element, Constants._TAG_X509DATA)) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    }
    /** Field _x509childObject[] */
    XMLX509SKI x509childObject[] = null;

    Element x509childNodes[] = null;
    x509childNodes = XMLUtils.selectDsNodes(element.getFirstChild(), Constants._TAG_X509SKI);

    if (!((x509childNodes != null) && (x509childNodes.length > 0))) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    }
    try {
        if (storage == null) {
            Object exArgs[] = { Constants._TAG_X509SKI };
            KeyResolverException ex = new KeyResolverException("KeyResolver.needStorageResolver", exArgs);

            if (log.isDebugEnabled()) {
                log.debug("", ex);
            }

            throw ex;
        }

        x509childObject = new XMLX509SKI[x509childNodes.length];

        for (int i = 0; i < x509childNodes.length; i++) {
            x509childObject[i] = new XMLX509SKI(x509childNodes[i], BaseURI);
        }

        Iterator<Certificate> storageIterator = storage.getIterator();
        while (storageIterator.hasNext()) {
            X509Certificate cert = (X509Certificate) storageIterator.next();
            XMLX509SKI certSKI = new XMLX509SKI(element.getOwnerDocument(), cert);

            for (int i = 0; i < x509childObject.length; i++) {
                if (certSKI.equals(x509childObject[i])) {
                    if (log.isDebugEnabled()) {
                        log.debug("Return PublicKey from " + cert.getSubjectDN().getName());
                    }

                    return cert;
                }
            }
        }
    } catch (XMLSecurityException ex) {
        throw new KeyResolverException("empty", ex);
    }

    return null;
}

From source file:org.apache.xml.security.keys.keyresolver.implementations.X509SubjectNameResolver.java

/**
 * Method engineResolveX509Certificate//from   w  w w .j a v  a 2  s .co  m
 * @inheritDoc
 * @param element
 * @param BaseURI
 * @param storage
 *
 * @throws KeyResolverException
 */
public X509Certificate engineLookupResolveX509Certificate(Element element, String BaseURI,
        StorageResolver storage) throws KeyResolverException {
    if (log.isDebugEnabled()) {
        log.debug("Can I resolve " + element.getTagName() + "?");
    }
    Element[] x509childNodes = null;
    XMLX509SubjectName x509childObject[] = null;

    if (!XMLUtils.elementIsInSignatureSpace(element, Constants._TAG_X509DATA)) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    }
    x509childNodes = XMLUtils.selectDsNodes(element.getFirstChild(), Constants._TAG_X509SUBJECTNAME);

    if (!((x509childNodes != null) && (x509childNodes.length > 0))) {
        if (log.isDebugEnabled()) {
            log.debug("I can't");
        }
        return null;
    }

    try {
        if (storage == null) {
            Object exArgs[] = { Constants._TAG_X509SUBJECTNAME };
            KeyResolverException ex = new KeyResolverException("KeyResolver.needStorageResolver", exArgs);

            if (log.isDebugEnabled()) {
                log.debug("", ex);
            }

            throw ex;
        }

        x509childObject = new XMLX509SubjectName[x509childNodes.length];

        for (int i = 0; i < x509childNodes.length; i++) {
            x509childObject[i] = new XMLX509SubjectName(x509childNodes[i], BaseURI);
        }

        Iterator<Certificate> storageIterator = storage.getIterator();
        while (storageIterator.hasNext()) {
            X509Certificate cert = (X509Certificate) storageIterator.next();
            XMLX509SubjectName certSN = new XMLX509SubjectName(element.getOwnerDocument(), cert);

            if (log.isDebugEnabled()) {
                log.debug("Found Certificate SN: " + certSN.getSubjectName());
            }

            for (int i = 0; i < x509childObject.length; i++) {
                if (log.isDebugEnabled()) {
                    log.debug("Found Element SN:     " + x509childObject[i].getSubjectName());
                }

                if (certSN.equals(x509childObject[i])) {
                    if (log.isDebugEnabled()) {
                        log.debug("match !!! ");
                    }

                    return cert;
                }
                if (log.isDebugEnabled()) {
                    log.debug("no match...");
                }
            }
        }

        return null;
    } catch (XMLSecurityException ex) {
        if (log.isDebugEnabled()) {
            log.debug("XMLSecurityException", ex);
        }

        throw new KeyResolverException("generic.EmptyMessage", ex);
    }
}

From source file:org.apache.xml.security.keys.keyresolver.KeyResolver.java

/**
 * Method getX509Certificate//from w  w w  .  ja  v a  2 s.  co  m
 *
 * @param element
 * @param BaseURI
 * @param storage
 * @return The certificate represented by the element.
 * 
 * @throws KeyResolverException
 */
public static final X509Certificate getX509Certificate(Element element, String BaseURI, StorageResolver storage)
        throws KeyResolverException {
    for (KeyResolver resolver : resolverVector) {
        if (resolver == null) {
            Object exArgs[] = {
                    (((element != null) && (element.getNodeType() == Node.ELEMENT_NODE)) ? element.getTagName()
                            : "null") };

            throw new KeyResolverException("utils.resolver.noClass", exArgs);
        }
        if (log.isDebugEnabled()) {
            log.debug("check resolvability by class " + resolver.getClass());
        }

        X509Certificate cert = resolver.resolveX509Certificate(element, BaseURI, storage);
        if (cert != null) {
            return cert;
        }
    }

    Object exArgs[] = {
            (((element != null) && (element.getNodeType() == Node.ELEMENT_NODE)) ? element.getTagName()
                    : "null") };

    throw new KeyResolverException("utils.resolver.noClass", exArgs);
}

From source file:org.apache.xml.security.keys.keyresolver.KeyResolver.java

/**
 * Method getPublicKey//w  w  w .j  a v  a2  s .  co  m
 *
 * @param element
 * @param BaseURI
 * @param storage
 * @return the public key contained in the element
 * 
 * @throws KeyResolverException
 */
public static final PublicKey getPublicKey(Element element, String BaseURI, StorageResolver storage)
        throws KeyResolverException {
    for (KeyResolver resolver : resolverVector) {
        if (resolver == null) {
            Object exArgs[] = {
                    (((element != null) && (element.getNodeType() == Node.ELEMENT_NODE)) ? element.getTagName()
                            : "null") };

            throw new KeyResolverException("utils.resolver.noClass", exArgs);
        }
        if (log.isDebugEnabled()) {
            log.debug("check resolvability by class " + resolver.getClass());
        }

        PublicKey cert = resolver.resolvePublicKey(element, BaseURI, storage);
        if (cert != null) {
            return cert;
        }
    }

    Object exArgs[] = {
            (((element != null) && (element.getNodeType() == Node.ELEMENT_NODE)) ? element.getTagName()
                    : "null") };

    throw new KeyResolverException("utils.resolver.noClass", exArgs);
}

From source file:org.apache.xml.security.test.encryption.BobKeyResolver.java

/**
 * Method engineCanResolve//from   ww  w .  j a va2  s.c om
 *
 * @param element
 * @param BaseURI
 * @param storage
 *
 */

public boolean engineCanResolve(Element element, String BaseURI, StorageResolver storage) {

    log.debug("Can I resolve " + element.getTagName());

    if (element == null) {
        return false;
    }

    boolean isKeyName = XMLUtils.elementIsInSignatureSpace(element, Constants._TAG_KEYNAME);

    try {
        if (isKeyName) {
            _kn = new KeyName(element, "");
            if (_kn.getKeyName().equals("bob")) {
                return true;
            }
        }
    } catch (Exception e) {
        // Do nothing
    }

    return false;
}

From source file:org.apache.xml.security.utils.ElementProxy.java

/**
 * Constructor ElementProxy//  ww  w.j  a v  a 2s  .c o  m
 *
 * @param element
 * @param BaseURI
 * @throws XMLSecurityException
 */
public ElementProxy(Element element, String BaseURI) throws XMLSecurityException {
    if (element == null) {
        throw new XMLSecurityException("ElementProxy.nullElement");
    }

    if (log.isDebugEnabled()) {
        log.debug("setElement(\"" + element.getTagName() + "\", \"" + BaseURI + "\")");
    }

    this.doc = element.getOwnerDocument();
    this.constructionElement = element;
    this.baseURI = BaseURI;

    this.guaranteeThatElementInCorrectSpace();
}

From source file:org.apache.xml.security.utils.ElementProxy.java

/**
 * Method setElement//from w w w .ja v a 2 s  .  c om
 *
 * @param element
 * @param BaseURI
 * @throws XMLSecurityException
 */
public void setElement(Element element, String BaseURI) throws XMLSecurityException {
    if (element == null) {
        throw new XMLSecurityException("ElementProxy.nullElement");
    }

    if (log.isDebugEnabled()) {
        log.debug("setElement(" + element.getTagName() + ", \"" + BaseURI + "\"");
    }

    this.doc = element.getOwnerDocument();
    this.constructionElement = element;
    this.baseURI = BaseURI;
}

From source file:org.apache.xml.security.utils.IdResolver.java

/**
 * Method getElementById/* w  w w. ja  v a 2 s  .  co m*/
 *
 * @param doc the document
 * @param id the value of the ID 
 * @return the element obtained by the id, or null if it is not found.
 */
public static Element getElementById(Document doc, String id) {

    Element result = IdResolver.getElementByIdType(doc, id);

    if (result != null) {
        if (log.isDebugEnabled()) {
            log.debug("I could find an Element using the simple getElementByIdType method: "
                    + result.getTagName());
        }
        return result;
    }

    result = IdResolver.getElementByIdUsingDOM(doc, id);
    if (result != null) {
        if (log.isDebugEnabled()) {
            log.debug("I could find an Element using the simple getElementByIdUsingDOM method: "
                    + result.getTagName());
        }
        return result;
    }
    result = IdResolver.getElementBySearching(doc, id);

    if (result != null) {
        IdResolver.registerElementById(result, id);
        return result;
    }

    return null;
}

From source file:org.apache98.hadoop.conf.Configuration.java

private Resource loadResource(Properties properties, Resource wrapper, boolean quiet) {
    String name = UNKNOWN_RESOURCE;
    try {/*from ww  w.  j a  v  a2s . c o  m*/
        Object resource = wrapper.getResource();
        name = wrapper.getName();

        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        // ignore all comments inside the xml file
        docBuilderFactory.setIgnoringComments(true);

        // allow includes in the xml file
        docBuilderFactory.setNamespaceAware(true);
        try {
            docBuilderFactory.setXIncludeAware(true);
        } catch (UnsupportedOperationException e) {
            LOG.error("Failed to set setXIncludeAware(true) for parser " + docBuilderFactory + ":" + e, e);
        }
        DocumentBuilder builder = docBuilderFactory.newDocumentBuilder();
        Document doc = null;
        Element root = null;
        boolean returnCachedProperties = false;

        if (resource instanceof URL) { // an URL resource
            doc = parse(builder, (URL) resource);
        } else if (resource instanceof String) { // a CLASSPATH resource
            URL url = getResource((String) resource);
            doc = parse(builder, url);
        } else if (resource instanceof Path) { // a file resource
            // Can't use FileSystem API or we get an infinite loop
            // since FileSystem uses Configuration API. Use java.io.File instead.
            File file = new File(((Path) resource).toUri().getPath()).getAbsoluteFile();
            if (file.exists()) {
                if (!quiet) {
                    LOG.debug("parsing File " + file);
                }
                doc = parse(builder, new BufferedInputStream(new FileInputStream(file)),
                        ((Path) resource).toString());
            }
        } else if (resource instanceof InputStream) {
            doc = parse(builder, (InputStream) resource, null);
            returnCachedProperties = true;
        } else if (resource instanceof Properties) {
            overlay(properties, (Properties) resource);
        } else if (resource instanceof Element) {
            root = (Element) resource;
        }

        if (root == null) {
            if (doc == null) {
                if (quiet) {
                    return null;
                }
                throw new RuntimeException(resource + " not found");
            }
            root = doc.getDocumentElement();
        }
        Properties toAddTo = properties;
        if (returnCachedProperties) {
            toAddTo = new Properties();
        }
        if (!"configuration".equals(root.getTagName())) {
            LOG.fatal("bad conf file: top-level element not <configuration>");
        }
        NodeList props = root.getChildNodes();
        DeprecationContext deprecations = deprecationContext.get();
        for (int i = 0; i < props.getLength(); i++) {
            Node propNode = props.item(i);
            if (!(propNode instanceof Element)) {
                continue;
            }
            Element prop = (Element) propNode;
            if ("configuration".equals(prop.getTagName())) {
                loadResource(toAddTo, new Resource(prop, name), quiet);
                continue;
            }
            if (!"property".equals(prop.getTagName())) {
                LOG.warn("bad conf file: element not <property>");
            }
            NodeList fields = prop.getChildNodes();
            String attr = null;
            String value = null;
            boolean finalParameter = false;
            LinkedList<String> source = new LinkedList<String>();
            for (int j = 0; j < fields.getLength(); j++) {
                Node fieldNode = fields.item(j);
                if (!(fieldNode instanceof Element)) {
                    continue;
                }
                Element field = (Element) fieldNode;
                if ("name".equals(field.getTagName()) && field.hasChildNodes()) {
                    attr = StringInterner.weakIntern(((Text) field.getFirstChild()).getData().trim());
                }
                if ("value".equals(field.getTagName()) && field.hasChildNodes()) {
                    value = StringInterner.weakIntern(((Text) field.getFirstChild()).getData());
                }
                if ("final".equals(field.getTagName()) && field.hasChildNodes()) {
                    finalParameter = "true".equals(((Text) field.getFirstChild()).getData());
                }
                if ("source".equals(field.getTagName()) && field.hasChildNodes()) {
                    source.add(StringInterner.weakIntern(((Text) field.getFirstChild()).getData()));
                }
            }
            source.add(name);

            // Ignore this parameter if it has already been marked as 'final'
            if (attr != null) {
                if (deprecations.getDeprecatedKeyMap().containsKey(attr)) {
                    DeprecatedKeyInfo keyInfo = deprecations.getDeprecatedKeyMap().get(attr);
                    keyInfo.clearAccessed();
                    for (String key : keyInfo.newKeys) {
                        // update new keys with deprecated key's value
                        loadProperty(toAddTo, name, key, value, finalParameter,
                                source.toArray(new String[source.size()]));
                    }
                } else {
                    loadProperty(toAddTo, name, attr, value, finalParameter,
                            source.toArray(new String[source.size()]));
                }
            }
        }

        if (returnCachedProperties) {
            overlay(properties, toAddTo);
            return new Resource(toAddTo, name);
        }
        return null;
    } catch (IOException e) {
        LOG.fatal("error parsing conf " + name, e);
        throw new RuntimeException(e);
    } catch (DOMException e) {
        LOG.fatal("error parsing conf " + name, e);
        throw new RuntimeException(e);
    } catch (SAXException e) {
        LOG.fatal("error parsing conf " + name, e);
        throw new RuntimeException(e);
    } catch (ParserConfigurationException e) {
        LOG.fatal("error parsing conf " + name, e);
        throw new RuntimeException(e);
    }
}