Example usage for org.w3c.dom Element setUserData

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

Introduction

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

Prototype

public Object setUserData(String key, Object data, UserDataHandler handler);

Source Link

Document

Associate an object to a key on this node.

Usage

From source file:de.betterform.xml.xforms.model.constraints.RelevanceSelector.java

private static void addElement(Element relevantParent, Node instanceNode) {
    Document relevantDocument = relevantParent.getOwnerDocument();
    Element relevantElement;

    if (instanceNode.getNamespaceURI() == null) {
        relevantElement = relevantDocument.createElement(instanceNode.getNodeName());
    } else {//from  w  w w  .j  a  va2 s  .  c  o m
        relevantElement = relevantDocument.createElementNS(instanceNode.getNamespaceURI(),
                instanceNode.getNodeName());
    }

    // needed in instance serializer ...
    relevantElement.setUserData("", instanceNode.getUserData(""), null);

    relevantParent.appendChild(relevantElement);
    addAttributes(relevantElement, instanceNode);
    addChildren(relevantElement, instanceNode);
}

From source file:com.predic8.membrane.annot.parser.BlueprintElementParser.java

protected void parseChildren(Element element, ParserContext context, MutableBeanMetadata mcm,
        BlueprintParser globalParser) {//w ww  . j  a  va2 s  .c  o m
    element.setUserData(BlueprintNamespaceParser.KEY_PARENT_CLASS_NAME, mcm.getRuntimeClass().getName(), null);

    NodeList nl = element.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (node instanceof Element) {
            handleChildElement((Element) node, context, mcm, globalParser);
        }
    }
}

From source file:org.solmix.runtime.support.spring.ContainerDefinitionParser.java

@Override
protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext ctx) {
    String container = null;/*from w  w w  . j av  a2s  . c  o m*/
    try {
        container = (String) element.getUserData("ID");
    } catch (Throwable t) {
        // ignore
    }
    if (container == null) {
        container = element.getAttribute("name");

        if (StringUtils.isEmpty(container)) {
            container = Container.DEFAULT_CONTAINER_ID + ".config" + counter.getAndIncrement();
        } else {
            container = container + ".config";
        }
        try {
            element.setUserData("ID", container, null);
        } catch (Throwable t) {
            // maybe no DOM level 3, ignore, but, may have issues with the
            // counter
        }
    }
    return container;
}

From source file:com.bstek.dorado.view.config.XmlDocumentPreprocessor.java

private boolean processImports(List<Element> elements, PreparseContext preparseContext) throws Exception {
    boolean changed = false;
    for (Element childElement : elements.toArray(new Element[0])) {
        String nodeName = childElement.getNodeName();
        if (XmlConstants.IMPORT.equals(nodeName)) {
            List<Element> importContent = getImportContent(childElement, preparseContext);
            if (importContent != null) {
                childElement.setUserData("dorado.replace", importContent, null);
            }//from ww w . ja va 2 s.  com
            childElement.setUserData("dorado.delete", importContent, null);
            changed = true;
        }
    }
    return changed;
}

From source file:de.betterform.xml.xforms.CustomElementFactory.java

/**
 * Factory method for custom element implementations.
 * // www  .j  av a  2  s .  co  m
 * @param element
 *            The DOM Element which will be annotated.
 * @param model
 *            The owning model.
 * @return The created object.
 */
public Object createCustomXFormsElement(Element element, Model model) throws XFormsException {

    //gets the class reference
    String key = getKeyForElement(element);
    Class elementClazz = (Class) ELEMENTS.get(key);

    //this should never happen
    if (elementClazz == null) {
        throw new XFormsException("No class defined for " + key);
    }

    if (elementClazz != null) {
        try {
            //initializes a new object from the class

            Object xformsElement = elementClazz.getConstructor(new Class[] { Element.class, Model.class })
                    .newInstance(new Object[] { (Element) element, model });

            if (xformsElement instanceof AbstractUIElement) {
                element.setUserData("", (AbstractUIElement) xformsElement, null);
                return (AbstractUIElement) xformsElement;
            }
            if (xformsElement instanceof AbstractAction) {
                element.setUserData("", (AbstractAction) xformsElement, null);
                return (AbstractAction) xformsElement;
            }

        } catch (Exception e) {
            throw new XFormsException(e);
        }

    }

    LOGGER.warn("Custom class for " + key + " not does not extend AbstractUIElement or AbstractAction");
    return null;
}

From source file:com.bstek.dorado.view.config.XmlDocumentPreprocessor.java

private boolean processPlaceHolders(List<Element> elements, TemplateContext templateContext) throws Exception {
    boolean changed = false;
    List<Element> defaultContent = null;
    Element placeHolderStartElement = null;
    for (Element childElement : elements.toArray(new Element[0])) {
        String nodeName = childElement.getNodeName();
        if (XmlConstants.PLACE_HOLDER.equals(nodeName)) {
            List<Element> concreteContent = getPlaceHolderContent(childElement, templateContext);
            if (concreteContent != null) {
                childElement.setUserData("dorado.replace", concreteContent, null);
            }/*from w w w  .  j a  v  a 2 s  .  co  m*/
            childElement.setUserData("dorado.delete", concreteContent, null);
            changed = true;
        } else if (XmlConstants.PLACE_HOLDER_START.equals(nodeName)) {
            if (templateContext.isInPlaceHolderSection()) {
                throw new XmlParseException("Nesting <PlaceHolderStart> not supported.", childElement,
                        templateContext);
            } else {
                templateContext.setInPlaceHolderSection(true);
                defaultContent = new ArrayList<Element>();
                placeHolderStartElement = childElement;
            }
            changed = true;
        } else if (XmlConstants.PLACE_HOLDER_END.equals(nodeName)) {
            if (placeHolderStartElement == null) {
                throw new XmlParseException("<PlaceHolderStart> missed.", childElement, templateContext);
            } else {
                List<Element> placeHolderContent = getPlaceHolderContent(childElement, templateContext);
                if (placeHolderContent != null) {
                    placeHolderStartElement.setUserData("dorado.replace", placeHolderContent, null);
                    for (Element el : defaultContent) {
                        el.setUserData("dorado.delete", Boolean.TRUE, null);
                    }
                }
                placeHolderStartElement.setUserData("dorado.delete", Boolean.TRUE, null);
                childElement.setUserData("dorado.delete", Boolean.TRUE, null);

                templateContext.setInPlaceHolderSection(false);
                placeHolderStartElement = null;
                defaultContent = null;
            }
            changed = true;
        } else {
            processPlaceHolders(childElement, templateContext);
        }
    }
    return changed;
}

From source file:com.twinsoft.convertigo.beans.core.Step.java

protected Node createStepNode() throws EngineException {
    Document doc = getOutputDocument();
    Element stepNode = doc.createElement(getStepNodeName());
    stepNode.setUserData(NODE_USERDATA_OUTPUT, String.valueOf(isOutput()), null);

    if (!inError()) {
        createStepNodeValue(doc, stepNode);
    }/*from   w ww .j ava  2  s .  c  o  m*/
    return stepNode;
}

From source file:org.solmix.runtime.support.spring.ContainerDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
    String cname = element.getAttribute("name");
    String id = element.getAttribute("id");
    //container name 
    if (StringUtils.isEmpty(cname)) {
        // idname
        if (!StringUtils.isEmpty(id)) {
            cname = id;/*ww w. j  a va 2  s . c  om*/
        } else {
            cname = "solmix";
        }
    }
    super.doParse(element, ctx, bean);
    if (ctx.getRegistry().containsBeanDefinition(cname)) {
        BeanDefinition def = ctx.getRegistry().getBeanDefinition(cname);
        copyProps(bean, def);
        bean.addConstructorArgValue(cname);
    } else if (!"solmix".equals(cname)) {
        bean.getRawBeanDefinition().setBeanClass(SpringContainer.class);
        bean.setDestroyMethodName("close");
        try {
            element.setUserData("ID", cname, null);
        } catch (Throwable t) {
            //ignore
        }
    } else {
        addContainerWiringAttribute(bean, true, cname, ctx);
        bean.getRawBeanDefinition().setAttribute(WIRE_CONTAINER_CREATE, resolveId(element, null, ctx));
        bean.addConstructorArgValue(cname);
    }

}

From source file:com.twinsoft.convertigo.beans.core.Sequence.java

public synchronized void flushStepDocument(String executeTimeID, Document doc) {
    Element stepElement = findStepElement(executeTimeID);
    if (stepElement == null) {
        stepElement = context.outputDocument.getDocumentElement();
    }/*from  ww w.j av a2 s.c o  m*/

    stepElement.appendChild(context.outputDocument.importNode(doc.getDocumentElement(), true));
    if ("false".equals(stepElement.getUserData(Step.NODE_USERDATA_OUTPUT))) {
        stepElement.setUserData(Step.NODE_USERDATA_OUTPUT, "none", null);
    }
}

From source file:org.apache.shindig.gadgets.templates.tags.FlashTagHandler.java

/**
 * Ensure that the swfobject JS is inlined
 *//*from   www .  j  ava2  s. co m*/
void ensureSwfobject(Document doc, TemplateProcessor processor) {
    // TODO: This should probably be a function of the rewriter.
    Element head = (Element) DomUtil.getFirstNamedChildNode(doc.getDocumentElement(), "head");
    NodeList childNodes = head.getChildNodes();
    for (int i = 0; i < childNodes.getLength(); i++) {
        Node node = childNodes.item(i);
        if (node.getUserData(SWFOBJECT) != null) {
            return;
        }
    }
    Element swfobject = doc.createElement("script");
    swfobject.setAttribute("type", "text/javascript");
    List<FeatureResource> resources = featureRegistry.getFeatureResources(
            processor.getTemplateContext().getGadget().getContext(), ImmutableSet.of(SWFOBJECT), null);
    for (FeatureResource resource : resources) {
        // Emits all content for feature SWFOBJECT, which has no downstream dependencies.
        swfobject.setTextContent(resource.getContent());
    }
    swfobject.setUserData(SWFOBJECT, SWFOBJECT, null);
    head.appendChild(swfobject);
    SanitizingGadgetRewriter.bypassSanitization(swfobject, false);
}