public ConditionExpressionImpl parseElement()

in core/src/main/java/com/alibaba/smart/framework/engine/bpmn/assembly/expression/parser/ConditionExpressionParser.java [24:57]


    public ConditionExpressionImpl parseElement(XMLStreamReader reader, ParseContext context) throws XMLStreamException {
        ConditionExpressionImpl conditionExpression = new ConditionExpressionImpl();

        String type = XmlParseUtil.getString(reader, "group");

        String type0 =  reader.getAttributeValue("xsi", "group");
        String type1 =  reader.getAttributeValue(null, "group");
        String type2 =  reader.getAttributeValue(0);


        String content = reader.getElementText();

        conditionExpression.setExpressionContent(content);

        // XML 解析有bug,这里兼容下。
        if(null != type){
            conditionExpression.setExpressionType(type);
        }else  if(null != type0){
            conditionExpression.setExpressionType(type0);
        }else  if(null != type1){
            conditionExpression.setExpressionType(type1);
        }else  if(null != type2){
            conditionExpression.setExpressionType(type2);
        }


        String finalExpressionType = conditionExpression.getExpressionType();
        if(null == finalExpressionType){
            throw new EngineException("expression type should not be empty for expression content:"+ content);
        }

        return conditionExpression;

    }