Example usage for javax.xml.stream XMLStreamWriter writeAttribute

List of usage examples for javax.xml.stream XMLStreamWriter writeAttribute

Introduction

In this page you can find the example usage for javax.xml.stream XMLStreamWriter writeAttribute.

Prototype


public void writeAttribute(String prefix, String namespaceURI, String localName, String value)
        throws XMLStreamException;

Source Link

Document

Writes an attribute to the output stream

Usage

From source file:org.flowable.bpmn.converter.BaseBpmnXMLConverter.java

protected void writeTimerDefinition(Event parentEvent, TimerEventDefinition timerDefinition,
        XMLStreamWriter xtw) throws Exception {
    xtw.writeStartElement(ELEMENT_EVENT_TIMERDEFINITION);
    if (StringUtils.isNotEmpty(timerDefinition.getCalendarName())) {
        writeQualifiedAttribute(ATTRIBUTE_CALENDAR_NAME, timerDefinition.getCalendarName(), xtw);
    }/*w  w  w  .  j  a v  a2 s.  c o m*/
    boolean didWriteExtensionStartElement = BpmnXMLUtil.writeExtensionElements(timerDefinition, false, xtw);
    if (didWriteExtensionStartElement) {
        xtw.writeEndElement();
    }
    if (StringUtils.isNotEmpty(timerDefinition.getTimeDate())) {
        xtw.writeStartElement(ATTRIBUTE_TIMER_DATE);
        xtw.writeCharacters(timerDefinition.getTimeDate());
        xtw.writeEndElement();

    } else if (StringUtils.isNotEmpty(timerDefinition.getTimeCycle())) {
        xtw.writeStartElement(ATTRIBUTE_TIMER_CYCLE);

        if (StringUtils.isNotEmpty(timerDefinition.getEndDate())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_END_DATE,
                    timerDefinition.getEndDate());
        }

        xtw.writeCharacters(timerDefinition.getTimeCycle());
        xtw.writeEndElement();

    } else if (StringUtils.isNotEmpty(timerDefinition.getTimeDuration())) {
        xtw.writeStartElement(ATTRIBUTE_TIMER_DURATION);
        xtw.writeCharacters(timerDefinition.getTimeDuration());
        xtw.writeEndElement();
    }

    xtw.writeEndElement();
}

From source file:org.flowable.cmmn.converter.export.AbstractServiceTaskExport.java

@Override
public void writePlanItemDefinitionSpecificAttributes(ServiceTask serviceTask, XMLStreamWriter xtw)
        throws Exception {
    super.writePlanItemDefinitionSpecificAttributes(serviceTask, xtw);
    TaskExport.writeCommonTaskAttributes(serviceTask, xtw);

    if (StringUtils.isNotEmpty(serviceTask.getType())) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_TYPE,
                serviceTask.getType());//  ww  w.  j a v a  2  s  . c o m
    }
    switch (serviceTask.getType()) {
    case ServiceTask.JAVA_TASK:
        if (StringUtils.isNotEmpty(serviceTask.getImplementation())) {
            if (ImplementationType.IMPLEMENTATION_TYPE_CLASS.equals(serviceTask.getImplementationType())) {
                xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_CLASS,
                        serviceTask.getImplementation());

            } else if (ImplementationType.IMPLEMENTATION_TYPE_EXPRESSION
                    .equals(serviceTask.getImplementationType())) {
                xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                        ATTRIBUTE_EXPRESSION, serviceTask.getImplementation());

            } else if (ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
                    .equals(serviceTask.getImplementationType())) {
                xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                        ATTRIBUTE_DELEGATE_EXPRESSION, serviceTask.getImplementation());
            }
        }

        if (StringUtils.isNotEmpty(serviceTask.getResultVariableName())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                    ATTRIBUTE_RESULT_VARIABLE_NAME, serviceTask.getResultVariableName());
        }
        break;

    case HttpServiceTask.HTTP_TASK:
        if (StringUtils.isNotEmpty(serviceTask.getImplementation())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_CLASS,
                    serviceTask.getImplementation());
        }
        break;

    case ScriptServiceTask.SCRIPT_TASK:
        if (StringUtils.isNotBlank(serviceTask.getImplementationType())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                    ATTRIBUTE_SCRIPT_FORMAT, serviceTask.getImplementationType());
        }
        if (StringUtils.isNotEmpty(serviceTask.getResultVariableName())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                    ATTRIBUTE_RESULT_VARIABLE_NAME, serviceTask.getResultVariableName());
        }
        break;
    }
}

From source file:org.flowable.cmmn.converter.export.HumanTaskExport.java

public static void writeHumanTask(HumanTask humanTask, XMLStreamWriter xtw) throws Exception {
    // start human task element
    xtw.writeStartElement(ELEMENT_HUMAN_TASK);
    writeCommonTaskAttributes(xtw, humanTask);

    if (StringUtils.isNotEmpty(humanTask.getAssignee())) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_ASSIGNEE,
                humanTask.getAssignee());
    }/* w  w w  . j a v a 2 s  .  co  m*/

    if (StringUtils.isNotEmpty(humanTask.getOwner())) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_OWNER,
                humanTask.getOwner());
    }

    if (humanTask.getCandidateUsers() != null && humanTask.getCandidateUsers().size() > 0) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_CANDIDATE_USERS,
                convertListToCommaSeparatedString(humanTask.getCandidateUsers()));
    }

    if (humanTask.getCandidateGroups() != null && humanTask.getCandidateGroups().size() > 0) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                ATTRIBUTE_CANDIDATE_GROUPS, convertListToCommaSeparatedString(humanTask.getCandidateGroups()));
    }

    if (StringUtils.isNotEmpty(humanTask.getFormKey())) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_FORM_KEY,
                humanTask.getFormKey());
    }

    // end human task element
    xtw.writeEndElement();
}

From source file:org.flowable.cmmn.converter.export.PlanItemControlExport.java

public static void writeRepetitionRule(RepetitionRule repetitionRule, XMLStreamWriter xtw)
        throws XMLStreamException {
    if (repetitionRule != null) {
        xtw.writeStartElement(ELEMENT_REPETITION_RULE);
        if (StringUtils.isNotEmpty(repetitionRule.getRepetitionCounterVariableName())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                    ATTRIBUTE_REPETITION_COUNTER_VARIABLE_NAME,
                    repetitionRule.getRepetitionCounterVariableName());
        }//from   ww  w .j  a  va2s .c  o  m
        if (StringUtils.isNotEmpty(repetitionRule.getCondition())) {
            xtw.writeStartElement(ELEMENT_CONDITION);
            xtw.writeCData(repetitionRule.getCondition());
            xtw.writeEndElement();
        }
        xtw.writeEndElement();
    }
}

From source file:org.flowable.cmmn.converter.export.ServiceTaskExport.java

public static void writeTask(ServiceTask task, XMLStreamWriter xtw) throws Exception {
    // start task element
    xtw.writeStartElement(ELEMENT_TASK);
    writeCommonTaskAttributes(xtw, task);

    if (StringUtils.isNotEmpty(task.getType())) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_TYPE,
                task.getType());/*from ww w.j  ava  2s  .c o  m*/

        if (ServiceTask.JAVA_TASK.equals(task.getType())) {
            if (StringUtils.isNotEmpty(task.getImplementation())) {
                if (ImplementationType.IMPLEMENTATION_TYPE_CLASS.equals(task.getImplementationType())) {
                    xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                            ATTRIBUTE_CLASS, task.getImplementation());

                } else if (ImplementationType.IMPLEMENTATION_TYPE_EXPRESSION
                        .equals(task.getImplementationType())) {
                    xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                            ATTRIBUTE_EXPRESSION, task.getImplementation());

                } else if (ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
                        .equals(task.getImplementationType())) {
                    xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                            ATTRIBUTE_DELEGATE_EXPRESSION, task.getImplementation());
                }
            }

            if (StringUtils.isNotEmpty(task.getResultVariableName())) {
                xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE,
                        ATTRIBUTE_RESULT_VARIABLE_NAME, task.getResultVariableName());
            }

        }
    }
    if (HttpServiceTask.HTTP_TASK.equals(task.getType())) {
        if (StringUtils.isNotEmpty(task.getImplementation())) {
            xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, ATTRIBUTE_CLASS,
                    task.getImplementation());
        }
    }

    writeExtensions(task, xtw);

    // end task element
    xtw.writeEndElement();
}

From source file:org.flowable.cmmn.converter.util.CmmnXmlUtil.java

public static void writeQualifiedAttribute(String attributeName, String value, XMLStreamWriter xtw)
        throws Exception {
    if (StringUtils.isNotEmpty(value)) {
        xtw.writeAttribute(FLOWABLE_EXTENSIONS_PREFIX, FLOWABLE_EXTENSIONS_NAMESPACE, attributeName, value);
    }//from w  ww  .j ava2 s  .co m
}

From source file:org.flowable.cmmn.converter.util.CmmnXmlUtil.java

protected static void writeExtensionElement(ExtensionElement extensionElement, Map<String, String> namespaceMap,
        XMLStreamWriter xtw) throws Exception {
    if (StringUtils.isNotEmpty(extensionElement.getName())) {
        Map<String, String> localNamespaceMap = new HashMap<>();
        if (StringUtils.isNotEmpty(extensionElement.getNamespace())) {
            if (StringUtils.isNotEmpty(extensionElement.getNamespacePrefix())) {
                xtw.writeStartElement(extensionElement.getNamespacePrefix(), extensionElement.getName(),
                        extensionElement.getNamespace());

                if (!namespaceMap.containsKey(extensionElement.getNamespacePrefix()) || !namespaceMap
                        .get(extensionElement.getNamespacePrefix()).equals(extensionElement.getNamespace())) {

                    xtw.writeNamespace(extensionElement.getNamespacePrefix(), extensionElement.getNamespace());
                    namespaceMap.put(extensionElement.getNamespacePrefix(), extensionElement.getNamespace());
                    localNamespaceMap.put(extensionElement.getNamespacePrefix(),
                            extensionElement.getNamespace());
                }/*  ww w  . jav a  2 s  .c o m*/
            } else {
                xtw.writeStartElement(extensionElement.getNamespace(), extensionElement.getName());
            }
        } else {
            xtw.writeStartElement(extensionElement.getName());
        }

        for (List<ExtensionAttribute> attributes : extensionElement.getAttributes().values()) {
            for (ExtensionAttribute attribute : attributes) {
                if (StringUtils.isNotEmpty(attribute.getName()) && attribute.getValue() != null) {
                    if (StringUtils.isNotEmpty(attribute.getNamespace())) {
                        if (StringUtils.isNotEmpty(attribute.getNamespacePrefix())) {

                            if (!namespaceMap.containsKey(attribute.getNamespacePrefix()) || !namespaceMap
                                    .get(attribute.getNamespacePrefix()).equals(attribute.getNamespace())) {

                                xtw.writeNamespace(attribute.getNamespacePrefix(), attribute.getNamespace());
                                namespaceMap.put(attribute.getNamespacePrefix(), attribute.getNamespace());
                            }

                            xtw.writeAttribute(attribute.getNamespacePrefix(), attribute.getNamespace(),
                                    attribute.getName(), attribute.getValue());
                        } else {
                            xtw.writeAttribute(attribute.getNamespace(), attribute.getName(),
                                    attribute.getValue());
                        }
                    } else {
                        xtw.writeAttribute(attribute.getName(), attribute.getValue());
                    }
                }
            }
        }

        if (extensionElement.getElementText() != null) {
            xtw.writeCData(extensionElement.getElementText());
        } else {
            for (List<ExtensionElement> childElements : extensionElement.getChildElements().values()) {
                for (ExtensionElement childElement : childElements) {
                    writeExtensionElement(childElement, namespaceMap, xtw);
                }
            }
        }

        for (String prefix : localNamespaceMap.keySet()) {
            namespaceMap.remove(prefix);
        }

        xtw.writeEndElement();
    }
}

From source file:org.maodian.flyingcat.xmpp.codec.AbstractCodec.java

protected void writeAttributeIfNotBlank(XMLStreamWriter xmlsw, String prefix, String namespaceURI,
        String localName, String value) throws XMLStreamException {
    if (StringUtils.isNotBlank(value)) {
        xmlsw.writeAttribute(prefix, namespaceURI, localName, value);
    }//from w  ww. j  av  a  2 s. c om
}

From source file:org.maodian.flyingcat.xmpp.codec.AbstractCodec.java

protected void writeRequiredAttribute(XMLStreamWriter xmlsw, String prefix, String namespaceURI,
        String localName, String value) throws XMLStreamException {
    if (StringUtils.isBlank(value)) {
        throw new XmppException(StreamError.INTERNAL_SERVER_ERROR);
    }//  www  .j a va2 s. c  om
    xmlsw.writeAttribute(prefix, namespaceURI, localName, value);
}

From source file:org.netbeans.jbatch.modeler.spec.core.Definitions.java

static void transformXMLStream(XMLStreamReader xmlStreamReader, XMLStreamWriter xmlStreamWriter) {
    try {//from   w w w . j  ava 2s.c o m
        //            TransformerFactory tf = TransformerFactory.newInstance();
        //            Transformer t = tf.newTransformer();
        //            StAXSource source = new StAXSource(xmlStreamReader);
        //            StAXResult result = new StAXResult(xmlStreamWriter);
        //            t.transform(source, result);
        System.out.println("Defnition Id : " + xmlStreamReader.getAttributeValue(null, "id"));
        boolean finish = false;
        while (xmlStreamReader.hasNext() && !finish) {
            switch (xmlStreamReader.getEventType()) {
            case XMLEvent.START_ELEMENT:
                String prefix = xmlStreamReader.getPrefix();
                String namespaceURI = xmlStreamReader.getNamespaceURI();
                if (namespaceURI != null) {
                    if (prefix != null) {
                        xmlStreamWriter.writeStartElement(xmlStreamReader.getPrefix(),
                                xmlStreamReader.getLocalName(), xmlStreamReader.getNamespaceURI());
                    } else {
                        xmlStreamWriter.writeStartElement(xmlStreamReader.getNamespaceURI(),
                                xmlStreamReader.getLocalName());
                    }
                } else {
                    xmlStreamWriter.writeStartElement(xmlStreamReader.getLocalName());
                }

                for (int i = 0; i < xmlStreamReader.getNamespaceCount(); i++) {
                    xmlStreamWriter.writeNamespace(xmlStreamReader.getNamespacePrefix(i),
                            xmlStreamReader.getNamespaceURI(i));
                }
                int count = xmlStreamReader.getAttributeCount();
                for (int i = 0; i < count; i++) {
                    //                            xmlStreamWriter.writeAttribute(xmlStreamReader.getAttributePrefix(i),
                    //                                    xmlStreamReader.getAttributeNamespace(i),
                    //                                    xmlStreamReader.getAttributeLocalName(i),
                    //                                    xmlStreamReader.getAttributeValue(i));

                    String attrNamespaceURI = xmlStreamReader.getAttributeNamespace(i),
                            attrPrefix = xmlStreamReader.getAttributePrefix(i);
                    if (attrNamespaceURI != null) {
                        if (attrPrefix != null) {
                            xmlStreamWriter.writeAttribute(attrPrefix, attrNamespaceURI,
                                    xmlStreamReader.getAttributeLocalName(i),
                                    xmlStreamReader.getAttributeValue(i));
                        } else {
                            xmlStreamWriter.writeAttribute(attrNamespaceURI,
                                    xmlStreamReader.getAttributeLocalName(i),
                                    xmlStreamReader.getAttributeValue(i));
                        }
                    } else {
                        xmlStreamWriter.writeAttribute(xmlStreamReader.getAttributeLocalName(i),
                                xmlStreamReader.getAttributeValue(i));
                    }

                }
                break;
            case XMLEvent.END_ELEMENT:
                xmlStreamWriter.writeEndElement();
                if (xmlStreamReader.getLocalName().equals("definitions")) {
                    finish = true;
                }
                break;
            case XMLEvent.SPACE:
            case XMLEvent.CHARACTERS:
                xmlStreamWriter.writeCharacters(xmlStreamReader.getTextCharacters(),
                        xmlStreamReader.getTextStart(), xmlStreamReader.getTextLength());
                break;
            case XMLEvent.PROCESSING_INSTRUCTION:
                xmlStreamWriter.writeProcessingInstruction(xmlStreamReader.getPITarget(),
                        xmlStreamReader.getPIData());
                break;
            case XMLEvent.CDATA:
                xmlStreamWriter.writeCData(xmlStreamReader.getText());
                break;

            case XMLEvent.COMMENT:
                xmlStreamWriter.writeComment(xmlStreamReader.getText());
                break;
            case XMLEvent.ENTITY_REFERENCE:
                xmlStreamWriter.writeEntityRef(xmlStreamReader.getLocalName());
                break;
            case XMLEvent.START_DOCUMENT:
                String encoding = xmlStreamReader.getCharacterEncodingScheme();
                String version = xmlStreamReader.getVersion();

                if (encoding != null && version != null) {
                    xmlStreamWriter.writeStartDocument(encoding, version);
                } else if (version != null) {
                    xmlStreamWriter.writeStartDocument(xmlStreamReader.getVersion());
                }
                break;
            case XMLEvent.END_DOCUMENT:
                xmlStreamWriter.writeEndDocument();
                break;
            case XMLEvent.DTD:
                xmlStreamWriter.writeDTD(xmlStreamReader.getText());
                break;

            }
            if (!finish) {
                xmlStreamReader.next();
            }
        }
    } catch (XMLStreamException ex) {
        Exceptions.printStackTrace(ex);
    }
}