Example usage for org.w3c.dom Element getLocalName

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

Introduction

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

Prototype

public String getLocalName();

Source Link

Document

Returns the local part of the qualified name of this node.

Usage

From source file:org.springframework.data.gemfire.config.ParsingUtils.java

static Object parseRefOrNestedBeanDeclaration(ParserContext parserContext, Element element,
        BeanDefinitionBuilder builder, String refAttributeName, boolean single) {

    Object beanReference = getBeanReference(parserContext, element, refAttributeName);

    if (beanReference != null) {
        return beanReference;
    }//from  w  w  w  . j  a  v a2s  .c o  m

    // check nested declarations
    List<Element> childElements = DomUtils.getChildElements(element);

    // parse nested bean definition
    if (childElements.size() == 1) {
        return parserContext.getDelegate().parsePropertySubElement(childElements.get(0),
                builder.getRawBeanDefinition());
    } else {
        // TODO also triggered when there are no child elements; need to change the message...
        if (single) {
            parserContext.getReaderContext()
                    .error(String.format(
                            "The element '%1$s' does not support multiple nested bean definitions.",
                            element.getLocalName()), element);
        }
    }

    ManagedList<Object> list = new ManagedList<Object>();

    for (Element childElement : childElements) {
        list.add(parserContext.getDelegate().parsePropertySubElement(childElement,
                builder.getRawBeanDefinition()));
    }

    return list;
}

From source file:org.springframework.data.gemfire.config.xml.AbstractRegionParser.java

protected boolean isRegionTemplate(Element element) {
    String localName = element.getLocalName();
    return (localName != null && localName.endsWith("-template"));
}

From source file:org.springframework.data.gemfire.config.xml.AbstractRegionParser.java

protected void doParseRegionConfiguration(Element element, ParserContext parserContext,
        BeanDefinitionBuilder regionBuilder, BeanDefinitionBuilder regionAttributesBuilder, boolean subRegion) {

    mergeRegionTemplateAttributes(element, parserContext, regionBuilder, regionAttributesBuilder);

    String resolvedCacheRef = ParsingUtils.resolveCacheReference(element.getAttribute("cache-ref"));

    if (!subRegion) {
        regionBuilder.addPropertyReference("cache", resolvedCacheRef);
        ParsingUtils.setPropertyValue(element, regionBuilder, "close");
        ParsingUtils.setPropertyValue(element, regionBuilder, "destroy");
    }//www. java  2 s  .co  m

    ParsingUtils.setPropertyValue(element, regionBuilder, "name");
    ParsingUtils.setPropertyValue(element, regionBuilder, "data-policy");
    ParsingUtils.setPropertyValue(element, regionBuilder, "ignore-if-exists", "lookupEnabled");
    ParsingUtils.setPropertyValue(element, regionBuilder, "persistent");
    ParsingUtils.setPropertyValue(element, regionBuilder, "shortcut");

    if (StringUtils.hasText(element.getAttribute("disk-store-ref"))) {
        ParsingUtils.setPropertyValue(element, regionBuilder, "disk-store-ref", "diskStoreName");
        regionBuilder.addDependsOn(element.getAttribute("disk-store-ref"));
    }

    ParsingUtils.parseOptionalRegionAttributes(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseSubscription(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseStatistics(element, regionAttributesBuilder);
    ParsingUtils.parseMembershipAttributes(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseExpiration(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseEviction(element, parserContext, regionAttributesBuilder);
    ParsingUtils.parseCompressor(element, parserContext, regionAttributesBuilder);

    parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, AsyncEventQueue.class.getName(),
            "async-event-queue", "asyncEventQueues");

    parseCollectionOfCustomSubElements(element, parserContext, regionBuilder, GatewaySender.class.getName(),
            "gateway-sender", "gatewaySenders");

    List<Element> subElements = DomUtils.getChildElements(element);

    for (Element subElement : subElements) {
        if (subElement.getLocalName().equals("cache-listener")) {
            regionBuilder.addPropertyValue("cacheListeners",
                    ParsingUtils.parseRefOrNestedBeanDeclaration(subElement, parserContext, regionBuilder));
        } else if (subElement.getLocalName().equals("cache-loader")) {
            regionBuilder.addPropertyValue("cacheLoader", ParsingUtils
                    .parseRefOrSingleNestedBeanDeclaration(subElement, parserContext, regionBuilder));
        } else if (subElement.getLocalName().equals("cache-writer")) {
            regionBuilder.addPropertyValue("cacheWriter", ParsingUtils
                    .parseRefOrSingleNestedBeanDeclaration(subElement, parserContext, regionBuilder));
        }
    }

    if (!subRegion) {
        parseSubRegions(element, parserContext, resolvedCacheRef);
    }
}

From source file:org.springframework.data.gemfire.config.xml.AbstractRegionParser.java

private void findSubRegionElements(Element parent, String parentPath,
        Map<String, Element> allSubRegionElements) {

    for (Element element : DomUtils.getChildElements(parent)) {
        if (element.getLocalName().endsWith("region")) {

            String subRegionName = getRegionNameFromElement(element);
            String subRegionPath = buildSubRegionPath(parentPath, subRegionName);

            allSubRegionElements.put(subRegionPath, element);

            findSubRegionElements(element, subRegionPath, allSubRegionElements);
        }/* w ww  .ja v  a2 s .c o  m*/
    }
}

From source file:org.springframework.integration.config.xml.ChainParser.java

private BeanMetadataElement parseChild(String chainHandlerId, Element element, int order,
        ParserContext parserContext, BeanDefinition parentDefinition) {

    BeanDefinitionHolder holder = null;/*from  w ww .  j  av a  2s .  c  o m*/

    String id = element.getAttribute(ID_ATTRIBUTE);
    boolean hasId = StringUtils.hasText(id);
    String handlerComponentName = chainHandlerId + "$child" + (hasId ? "." + id : "#" + order);

    if ("bean".equals(element.getLocalName())) {
        holder = parserContext.getDelegate().parseBeanDefinitionElement(element, parentDefinition);
    } else {

        this.validateChild(element, parserContext);

        BeanDefinition beanDefinition = parserContext.getDelegate().parseCustomElement(element,
                parentDefinition);
        if (beanDefinition == null) {
            parserContext.getReaderContext().error("child BeanDefinition must not be null", element);
            return null;
        } else {
            holder = new BeanDefinitionHolder(beanDefinition,
                    handlerComponentName + IntegrationNamespaceUtils.HANDLER_ALIAS_SUFFIX);
        }
    }

    holder.getBeanDefinition().getPropertyValues().add("componentName", handlerComponentName);

    if (hasId) {
        BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry());
        return new RuntimeBeanReference(holder.getBeanName());
    }

    return holder;
}

From source file:org.springframework.ws.wsdl.wsdl11.provider.DefaultMessagesProvider.java

/**
 * Indicates whether the given element should be includes as {@link Message} in the definition.
 * <p/>// w  w w  .jav a 2  s.com
 * Default implementation checks whether the element has the XML Schema namespace, and if it has the local name
 * "element".
 *
 * @param element the element elligable for being a message
 * @return <code>true</code> if to be included as message; <code>false</code> otherwise
 */
protected boolean isMessageElement(Element element) {
    return "element".equals(element.getLocalName())
            && "http://www.w3.org/2001/XMLSchema".equals(element.getNamespaceURI());
}

From source file:org.trianacode.taskgraph.ser.ObjectMarshaller.java

public static Object marshallElementToJava(Element toMarshall) {
    NodeList ch = toMarshall.getChildNodes();
    if (ch != null) {
        int len = ch.getLength();
        for (int i = 0; i < len; i++) {
            Node n = ch.item(i);//from ww w . j  a v a 2  s. c  o m
            if (n instanceof Element) {
                Element e = (Element) n;
                if (e.getLocalName().equals(VALUE_TAG)) {
                    String encoded = e.getAttribute(BASE64_ENCODED);
                    if (encoded == null || !encoded.equals("true")) {
                        String type = e.getAttribute(TYPE_TAG);
                        if (type == null || type.length() == 0) {
                            return e.getTextContent();
                        } else {
                            return deserSimple(type, e.getTextContent());
                        }
                    }
                    return marshallStringToJava(e.getTextContent());
                }
            }
        }
    }
    return null;
}

From source file:org.trianacode.taskgraph.ser.XMLReader.java

private Tool parseTaskGraph(Document xmlDoc, TrianaProperties properties) throws TaskGraphException {
    Element root = xmlDoc.getDocumentElement();

    if (isTool(root)) {
        Tool tool = getTool(root, properties);

        if ((preserveinst) && (!root.getLocalName().equals(TOOL_TAG))) {
            return TaskGraphManager.createTask(tool, TaskGraphManager.NON_RUNNABLE_FACTORY_TYPE, preserveinst);
        } else {//from ww  w  .jav  a2  s  .  c o m
            return tool;
        }
    } else {
        return null;
    }
}

From source file:org.trianacode.taskgraph.ser.XMLReader.java

private boolean isTool(Element elem) {
    return (elem.getLocalName().equals(TOOL_TAG) || elem.getLocalName().equals(TASK_TAG)
            || elem.getLocalName().equals(TASKGRAPH_TAG));
}

From source file:org.unitedinternet.cosmo.calendar.hcalendar.HCalendarParser.java

/**
 * Builds property.//  w  ww. j a  v a  2s. c o  m
 * @param element The element.
 * @param propName The prop name.
 * @param handler The content handler.
 * @throws ParserException - if something is wrong this exception is thrown.
 */
private void buildProperty(Element element, String propName, ContentHandler handler) throws ParserException {
    if (element == null) {
        return;
    }

    if (LOG.isDebugEnabled()) {
        LOG.debug("Building property " + propName);
    }

    String className = className(propName);
    String elementName = element.getLocalName().toLowerCase(CosmoConstants.LANGUAGE_LOCALE);

    String value = null;
    if (elementName.equals("abbr")) {
        // "If an <abbr> element is used for a property, then the 'title'
        // attribute of the <abbr> element is the value of the property,
        // instead of the contents of the element, which instead provide a
        // human presentable version of the value."
        value = element.getAttribute("title");
        if (StringUtils.isBlank(value)) {
            throw new ParserException("Abbr element '" + className + "' requires a non-empty title", -1);
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Setting value '" + value + "' from title attribute");
        }
    } else if (isHeaderElement(elementName)) {
        // try title first. if that's not set, fall back to text content.
        value = element.getAttribute("title");
        if (!StringUtils.isBlank(value)) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Setting value '" + value + "' from title attribute");
            }
        } else {
            value = getTextContent(element);
            if (LOG.isDebugEnabled()) {
                LOG.debug("Setting value '" + value + "' from text content");
            }
        }
    } else if (elementName.equals("a") && isUrlProperty(propName)) {
        value = element.getAttribute("href");
        if (StringUtils.isBlank(value)) {
            throw new ParserException("A element '" + className + "' requires a non-empty href", -1);
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("Setting value '" + value + "' from href attribute");
        }
    } else if (elementName.equals("img")) {
        if (isUrlProperty(propName)) {
            value = element.getAttribute("src");
            if (StringUtils.isBlank(value)) {
                throw new ParserException("Img element '" + className + "' requires a non-empty src", -1);
            }
            if (LOG.isDebugEnabled()) {
                LOG.debug("Setting value '" + value + "' from src attribute");
            }
        } else {
            value = element.getAttribute("alt");
            if (StringUtils.isBlank(value)) {
                throw new ParserException("Img element '" + className + "' requires a non-empty alt", -1);
            }
            if (LOG.isDebugEnabled()) {
                LOG.debug("Setting value '" + value + "' from alt attribute");
            }
        }
    } else {
        value = getTextContent(element);
        if (!StringUtils.isBlank(value) && LOG.isDebugEnabled()) {
            LOG.debug("Setting value '" + value + "' from text content");
        }
    }

    if (StringUtils.isBlank(value) && LOG.isDebugEnabled()) {
        LOG.debug("Skipping property with empty value");
        return;
    }

    handler.startProperty(propName);

    // if it's a date property, we have to convert from the
    // hCalendar-formatted date (RFC 3339) to an iCalendar-formatted date
    if (isDateProperty(propName)) {
        try {
            Date date = icalDate(value);
            value = date.toString();

            if (!(date instanceof DateTime)) {
                try {
                    handler.parameter(Parameter.VALUE, Value.DATE.getValue());
                } catch (URISyntaxException e) {
                    LOG.warn("", e);
                }
            }
        } catch (ParseException e) {
            throw new ParserException("Malformed date value for element '" + className + "'", -1, e);
        }
    }

    if (isTextProperty(propName)) {
        String lang = element.getAttributeNS(XMLConstants.XML_NS_URI, "lang");
        if (!StringUtils.isBlank(lang)) {
            try {
                handler.parameter(Parameter.LANGUAGE, lang);
            } catch (Exception e) {
                LOG.warn("", e);
            }
        }
    }

    // XXX: other parameters?

    try {
        handler.propertyValue(value);
    } catch (URISyntaxException e) {
        throw new ParserException("Malformed URI value for element '" + className + "'", -1, e);
    } catch (ParseException e) {
        throw new ParserException("Malformed value for element '" + className + "'", -1, e);
    } catch (IOException e) {
        throw new CosmoIOException("Unknown error setting property value for element '" + className + "'", e);
    }

    handler.endProperty(propName);
}