Example usage for javax.xml.stream XMLStreamReader getAttributeValue

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

Introduction

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

Prototype

public String getAttributeValue(String namespaceURI, String localName);

Source Link

Document

Returns the normalized attribute value of the attribute with the namespace and localName If the namespaceURI is null the namespace is not checked for equality

Usage

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

private static FieldExtension parseFieldExtension(XMLStreamReader xtr) {
    FieldExtension extension = new FieldExtension();
    extension.setFieldName(xtr.getAttributeValue(null, "name"));
    extension.setExpression(getFieldExtensionValue(xtr));
    return extension;
}

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 {//w w w  .  j  ava  2 s  . co  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 {/*from   w  w w .  ja  v a  2  s  . co 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 static ActivitiListener parseListener(XMLStreamReader xtr) {
    ActivitiListener listener = new ActivitiListener();
    if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, "class"))) {
        listener.setImplementation(xtr.getAttributeValue(null, "class"));
        listener.setImplementationType(CLASS_TYPE);
    } else if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, "expression"))) {
        listener.setImplementation(xtr.getAttributeValue(null, "expression"));
        listener.setImplementationType(EXPRESSION_TYPE);
    } else if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, "delegateExpression"))) {
        listener.setImplementation(xtr.getAttributeValue(null, "delegateExpression"));
        listener.setImplementationType(DELEGATE_EXPRESSION_TYPE);
    }/* w  ww .j  a  va 2 s  .  c om*/
    listener.setEvent(xtr.getAttributeValue(null, "event"));
    return listener;
}

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"));
    }/*from   www  .j a v  a  2  s. c  om*/
    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 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);
                }//w  w w. j a  va  2 s  .co 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;
}

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

private BoundaryEventModel parseBoundaryEvent(XMLStreamReader xtr) {
    BoundaryEvent boundaryEvent = new BoundaryEvent();
    boundaryEvent.setName(xtr.getAttributeValue(null, "name"));

    if (xtr.getAttributeValue(null, "cancelActivity") != null) {
        String cancelActivity = xtr.getAttributeValue(null, "cancelActivity");
        if ("true".equalsIgnoreCase(cancelActivity)) {
            boundaryEvent.setCancelActivity(true);
        } else {//from w  w  w  .  ja v a  2 s.co  m
            boundaryEvent.setCancelActivity(false);
        }
    }

    BoundaryEventModel model = new BoundaryEventModel();
    model.boundaryEvent = boundaryEvent;
    model.attachedRef = xtr.getAttributeValue(null, "attachedToRef");
    try {
        while (xtr.hasNext()) {
            xtr.next();
            if (xtr.isStartElement() && "timerEventDefinition".equalsIgnoreCase(xtr.getLocalName())) {
                model.type = BoundaryEventModel.TIMEEVENT;
                boundaryEvent.getEventDefinitions().add(parseTimerEventDefinition(xtr));
                break;

            } else if (xtr.isStartElement() && "errorEventDefinition".equalsIgnoreCase(xtr.getLocalName())) {
                model.type = BoundaryEventModel.ERROREVENT;
                boundaryEvent.getEventDefinitions().add(parseErrorEventDefinition(xtr));
                break;

            } else if (xtr.isStartElement() && "signalEventDefinition".equalsIgnoreCase(xtr.getLocalName())) {
                model.type = BoundaryEventModel.SIGNALEVENT;
                boundaryEvent.getEventDefinitions().add(parseSignalEventDefinition(xtr));
                break;

            } else if (xtr.isEndElement() && "boundaryEvent".equalsIgnoreCase(xtr.getLocalName())) {
                break;
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return model;
}

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

private boolean parseAsync(XMLStreamReader xtr) {
    boolean async = false;
    String asyncString = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "async");
    if ("true".equalsIgnoreCase(asyncString)) {
        async = true;/*from  w ww  .j  a  v a  2 s  . c  o m*/
    }
    return async;
}

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

private boolean parseNotExclusive(XMLStreamReader xtr) {
    boolean notExclusive = false;
    String exclusiveString = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, "exclusive");
    if ("false".equalsIgnoreCase(exclusiveString)) {
        notExclusive = true;//from   ww  w .jav a  2 s. c o m
    }
    return notExclusive;
}

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

private ErrorEventDefinition parseErrorEventDefinition(XMLStreamReader xtr) {
    ErrorEventDefinition eventDefinition = new ErrorEventDefinition();
    if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, "errorRef"))) {
        eventDefinition.setErrorCode(xtr.getAttributeValue(null, "errorRef"));
    }/*  w  ww .ja v  a 2s.  c  o m*/
    return eventDefinition;
}