Example usage for javax.xml.stream XMLStreamReader hasNext

List of usage examples for javax.xml.stream XMLStreamReader hasNext

Introduction

In this page you can find the example usage for javax.xml.stream XMLStreamReader hasNext.

Prototype

public boolean hasNext() throws XMLStreamException;

Source Link

Document

Returns true if there are more parsing events and false if there are no more events.

Usage

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private ServiceTask parseServiceTask(XMLStreamReader xtr) {
    ServiceTask serviceTask = new ServiceTask();
    if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "class") != null) {
        serviceTask.setImplementationType(CLASS_TYPE);
        serviceTask.setImplementation(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "class"));

    } else if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "expression") != null) {
        serviceTask.setImplementationType(EXPRESSION_TYPE);
        serviceTask.setImplementation(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "expression"));
    } else if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "delegateExpression") != null) {
        serviceTask.setImplementationType(DELEGATE_EXPRESSION_TYPE);
        serviceTask//  w  w w. j av  a  2 s . co  m
                .setImplementation(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "delegateExpression"));
    }

    if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "resultVariableName") != null) {
        serviceTask.setResultVariableName(
                xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "resultVariableName"));
    }

    boolean readyWithServiceTask = false;
    try {
        while (readyWithServiceTask == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                fillExtensionsForServiceTask(xtr, serviceTask);

            } else if (xtr.isStartElement()
                    && "multiInstanceLoopCharacteristics".equalsIgnoreCase(xtr.getLocalName())) {
                serviceTask.setLoopCharacteristics(parseMultiInstanceDef(xtr));

            } else if (xtr.isStartElement() && "documentation".equalsIgnoreCase(xtr.getLocalName())) {

                String docText = xtr.getElementText();
                if (StringUtils.isEmpty(docText) == false) {
                    serviceTask.setDocumentation(docText);
                }

            } else if (xtr.isEndElement() && "serviceTask".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithServiceTask = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return serviceTask;
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private static void fillExtensionsForServiceTask(XMLStreamReader xtr, ServiceTask serviceTask) {
    List<FieldExtension> extensionList = new ArrayList<FieldExtension>();
    boolean readyWithExtensions = false;
    try {// w  w  w.j  a v  a2s  . c o m
        ActivitiListener listener = null;
        while (readyWithExtensions == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                FieldExtension extension = parseFieldExtension(xtr);
                extensionList.add(extension);

            } else if (xtr.isStartElement() && "executionListener".equalsIgnoreCase(xtr.getLocalName())) {
                if (extensionList.size() > 0) {
                    serviceTask.getFieldExtensions().addAll(extensionList);
                    extensionList = new ArrayList<FieldExtension>();
                }
                listener = parseListener(xtr);
                serviceTask.getExecutionListeners().add(listener);

            } else if (xtr.isEndElement() && "executionListener".equalsIgnoreCase(xtr.getLocalName())) {
                if (extensionList.size() > 0) {
                    listener.getFieldExtensions().addAll(extensionList);
                    extensionList = new ArrayList<FieldExtension>();
                }

            } else if (xtr.isEndElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                if (extensionList.size() > 0) {
                    serviceTask.getFieldExtensions().addAll(extensionList);
                }
                readyWithExtensions = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private static void fillExtensionsForMailTask(XMLStreamReader xtr, MailTask mailTask) {
    List<FieldExtension> extensionList = new ArrayList<FieldExtension>();
    boolean readyWithExtensions = false;
    try {//w  ww .  j  a  v a  2 s. c om
        ActivitiListener listener = null;
        while (readyWithExtensions == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                String name = xtr.getAttributeValue(null, "name");
                if ("to".equalsIgnoreCase(name)) {
                    mailTask.setTo(getFieldExtensionValue(xtr));
                } else if ("from".equalsIgnoreCase(name)) {
                    mailTask.setFrom(getFieldExtensionValue(xtr));
                } else if ("cc".equalsIgnoreCase(name)) {
                    mailTask.setCc(getFieldExtensionValue(xtr));
                } else if ("bcc".equalsIgnoreCase(name)) {
                    mailTask.setBcc(getFieldExtensionValue(xtr));
                } else if ("charset".equalsIgnoreCase(name)) {
                    mailTask.setCharset(getFieldExtensionValue(xtr));
                } else if ("subject".equalsIgnoreCase(name)) {
                    mailTask.setSubject(getFieldExtensionValue(xtr));
                } else if ("html".equalsIgnoreCase(name)) {
                    mailTask.setHtml(getFieldExtensionValue(xtr));
                } else if ("text".equalsIgnoreCase(name)) {
                    mailTask.setText(getFieldExtensionValue(xtr));
                }
            } else if (xtr.isStartElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                FieldExtension extension = parseFieldExtension(xtr);
                extensionList.add(extension);

            } else if (xtr.isStartElement() && "executionListener".equalsIgnoreCase(xtr.getLocalName())) {
                listener = parseListener(xtr);
                mailTask.getExecutionListeners().add(listener);

            } else if (xtr.isEndElement() && "executionListener".equalsIgnoreCase(xtr.getLocalName())) {
                if (extensionList.size() > 0) {
                    listener.getFieldExtensions().addAll(extensionList);
                    extensionList = new ArrayList<FieldExtension>();
                }
            } else if (xtr.isEndElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithExtensions = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private static void fillExtensionsForCallActivity(XMLStreamReader xtr, CallActivity callActivity) {
    List<FieldExtension> extensionList = new ArrayList<FieldExtension>();
    boolean readyWithExtensions = false;
    try {/*from  w w  w . j a va  2s.  com*/
        ActivitiListener listener = null;
        while (readyWithExtensions == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                FieldExtension extension = parseFieldExtension(xtr);
                extensionList.add(extension);

            } else if (xtr.isStartElement() && "executionListener".equalsIgnoreCase(xtr.getLocalName())) {
                listener = parseListener(xtr);
                callActivity.getExecutionListeners().add(listener);

            } else if (xtr.isEndElement() && "executionListener".equalsIgnoreCase(xtr.getLocalName())) {
                if (extensionList.size() > 0) {
                    listener.getFieldExtensions().addAll(extensionList);
                    extensionList = new ArrayList<FieldExtension>();
                }

            } else if (xtr.isStartElement() && "in".equalsIgnoreCase(xtr.getLocalName())) {
                String source = xtr.getAttributeValue(null, "source");
                String sourceExpression = xtr.getAttributeValue(null, "sourceExpression");
                String target = xtr.getAttributeValue(null, "target");
                String targetExpression = xtr.getAttributeValue(null, "targetExpression");
                if ((StringUtils.isNotEmpty(source) || StringUtils.isNotEmpty(sourceExpression))
                        && (StringUtils.isNotEmpty(target) || StringUtils.isNotEmpty(targetExpression))) {

                    IOParameter parameter = new IOParameter();
                    if (StringUtils.isNotEmpty(sourceExpression)) {
                        parameter.setSourceExpression(sourceExpression);
                    } else {
                        parameter.setSource(source);
                    }

                    if (StringUtils.isNotEmpty(targetExpression)) {
                        parameter.setTargetExpression(targetExpression);
                    } else {
                        parameter.setTarget(target);
                    }
                    callActivity.getInParameters().add(parameter);
                }

            } else if (xtr.isStartElement() && "out".equalsIgnoreCase(xtr.getLocalName())) {
                String source = xtr.getAttributeValue(null, "source");
                String sourceExpression = xtr.getAttributeValue(null, "sourceExpression");
                String target = xtr.getAttributeValue(null, "target");
                String targetExpression = xtr.getAttributeValue(null, "targetExpression");
                if ((StringUtils.isNotEmpty(source) || StringUtils.isNotEmpty(sourceExpression))
                        && (StringUtils.isNotEmpty(target) || StringUtils.isNotEmpty(targetExpression))) {

                    IOParameter parameter = new IOParameter();
                    if (StringUtils.isNotEmpty(sourceExpression)) {
                        parameter.setSourceExpression(sourceExpression);
                    } else {
                        parameter.setSource(source);
                    }

                    if (StringUtils.isNotEmpty(targetExpression)) {
                        parameter.setTargetExpression(targetExpression);
                    } else {
                        parameter.setTarget(target);
                    }
                    callActivity.getOutParameters().add(parameter);
                }

            } else if (xtr.isEndElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithExtensions = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private static String getFieldExtensionValue(XMLStreamReader xtr) {
    if (xtr.getAttributeValue(null, "stringValue") != null) {
        return xtr.getAttributeValue(null, "stringValue");

    } else if (xtr.getAttributeValue(null, "expression") != null) {
        return xtr.getAttributeValue(null, "expression");

    } else {//from   www.j av a  2s .c o  m
        boolean readyWithFieldExtension = false;
        try {
            while (readyWithFieldExtension == false && xtr.hasNext()) {
                xtr.next();
                if (xtr.isStartElement() && "string".equalsIgnoreCase(xtr.getLocalName())) {
                    return xtr.getElementText().trim();

                } else if (xtr.isStartElement() && "expression".equalsIgnoreCase(xtr.getLocalName())) {
                    return xtr.getElementText().trim();

                } else if (xtr.isEndElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                    return null;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return null;
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private static List<ActivitiListener> parseListeners(XMLStreamReader xtr) {
    List<ActivitiListener> listenerList = new ArrayList<ActivitiListener>();
    boolean readyWithListener = false;
    try {/*  w w w  .  j a  v  a  2 s. c  o  m*/
        ActivitiListener listener = null;
        while (readyWithListener == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && ("executionListener".equalsIgnoreCase(xtr.getLocalName())
                    || "taskListener".equalsIgnoreCase(xtr.getLocalName()))) {

                if (xtr.getAttributeValue(null, "class") != null
                        && "org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener"
                                .equals(xtr.getAttributeValue(null, "class"))
                        || "org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener"
                                .equals(xtr.getAttributeValue(null, "class"))) {

                    listener = new ActivitiListener();
                    listener.setEvent(xtr.getAttributeValue(null, "event"));
                    listener.setImplementationType(ALFRESCO_TYPE);
                    boolean readyWithAlfrescoType = false;
                    while (readyWithAlfrescoType == false && xtr.hasNext()) {
                        xtr.next();
                        if (xtr.isStartElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                            String script = getFieldExtensionValue(xtr);
                            if (script != null && script.length() > 0) {
                                listener.setImplementation(script);
                            }
                            readyWithAlfrescoType = true;
                        } else if (xtr.isEndElement()
                                && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                            readyWithAlfrescoType = true;
                            readyWithListener = true;
                        }
                    }
                } else {
                    listener = parseListener(xtr);
                }
                listenerList.add(listener);

            } else if (xtr.isStartElement() && "field".equalsIgnoreCase(xtr.getLocalName())) {
                listener.getFieldExtensions().add(parseFieldExtension(xtr));
            } else if (xtr.isEndElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithListener = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return listenerList;
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private ManualTask parseManualTask(XMLStreamReader xtr) {
    ManualTask manualTask = new ManualTask();
    boolean readyWithTask = false;
    try {/*from   w w w  . j  av  a2  s  . c  o  m*/
        while (readyWithTask == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                manualTask.getExecutionListeners().addAll(parseListeners(xtr));

            } else if (xtr.isStartElement()
                    && "multiInstanceLoopCharacteristics".equalsIgnoreCase(xtr.getLocalName())) {
                manualTask.setLoopCharacteristics(parseMultiInstanceDef(xtr));

            } else if (xtr.isEndElement() && "manualTask".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithTask = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return manualTask;
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private CallActivity parseCallActivity(XMLStreamReader xtr) {
    CallActivity callActivity = new CallActivity();
    if (xtr.getAttributeValue(null, "calledElement") != null
            && xtr.getAttributeValue(null, "calledElement").length() > 0) {
        callActivity.setCalledElement(xtr.getAttributeValue(null, "calledElement"));
    }/* w w w .j ava 2s.c o  m*/
    boolean readyWithTask = false;
    try {
        while (readyWithTask == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {

                fillExtensionsForCallActivity(xtr, callActivity);

            } else if (xtr.isStartElement()
                    && "multiInstanceLoopCharacteristics".equalsIgnoreCase(xtr.getLocalName())) {
                callActivity.setLoopCharacteristics(parseMultiInstanceDef(xtr));

            } else if (xtr.isEndElement() && "callActivity".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithTask = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return callActivity;
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private ReceiveTask parseReceiveTask(XMLStreamReader xtr) {
    ReceiveTask receiveTask = new ReceiveTask();
    boolean readyWithTask = false;
    try {/*from  w  w  w  . j a va 2  s.c  o  m*/
        while (readyWithTask == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                receiveTask.getExecutionListeners().addAll(parseListeners(xtr));

            } else if (xtr.isStartElement()
                    && "multiInstanceLoopCharacteristics".equalsIgnoreCase(xtr.getLocalName())) {
                receiveTask.setLoopCharacteristics(parseMultiInstanceDef(xtr));

            } else if (xtr.isEndElement() && "receiveTask".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithTask = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return receiveTask;
}

From source file:org.activiti.designer.eclipse.bpmn.BpmnParser.java

private BusinessRuleTask parseBusinessRuleTask(XMLStreamReader xtr) {
    BusinessRuleTask businessRuleTask = new BusinessRuleTask();
    if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "rules") != null) {
        String ruleNames = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "rules");
        if (ruleNames != null && ruleNames.length() > 0) {
            businessRuleTask.getRuleNames().clear();
            if (ruleNames.contains(",") == false) {
                businessRuleTask.getRuleNames().add(ruleNames);
            } else {
                String[] ruleNameList = ruleNames.split(",");
                for (String rule : ruleNameList) {
                    businessRuleTask.getRuleNames().add(rule);
                }/*  ww  w.  ja v a  2 s  .  c  o m*/
            }
        }
    }
    if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "ruleVariablesInput") != null) {
        String inputNames = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "ruleVariablesInput");
        if (inputNames != null && inputNames.length() > 0) {
            businessRuleTask.getInputVariables().clear();
            if (inputNames.contains(",") == false) {
                businessRuleTask.getInputVariables().add(inputNames);
            } else {
                String[] inputNamesList = inputNames.split(",");
                for (String input : inputNamesList) {
                    businessRuleTask.getInputVariables().add(input);
                }
            }
        }
    }
    if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "exclude") != null) {
        businessRuleTask
                .setExclude(Boolean.valueOf(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "exclude")));
    }
    if (xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "resultVariableName") != null) {
        businessRuleTask.setResultVariableName(
                xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "resultVariableName"));
    }

    boolean readyWithTask = false;
    try {
        while (readyWithTask == false && xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "extensionElements".equalsIgnoreCase(xtr.getLocalName())) {
                businessRuleTask.getExecutionListeners().addAll(parseListeners(xtr));

            } else if (xtr.isStartElement()
                    && "multiInstanceLoopCharacteristics".equalsIgnoreCase(xtr.getLocalName())) {
                businessRuleTask.setLoopCharacteristics(parseMultiInstanceDef(xtr));

            } else if (xtr.isEndElement() && "businessRuleTask".equalsIgnoreCase(xtr.getLocalName())) {
                readyWithTask = true;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return businessRuleTask;
}