flowable model validation

 //验证模板
    protected BpmnXMLConverter bpmnXmlConverter = new BpmnXMLConverter();

    @Override
    public Object validatorModel(String modelXml) {
    
    
        if (StringUtils.isBlank(modelXml)) {
    
    
            return failure("modelXml不能为空,请检查!!!");
        }
        InputStream inputStream = new ByteArrayInputStream(modelXml.getBytes());
        XMLInputFactory xif = XmlUtil.createSafeXmlInputFactory();
        InputStreamReader xmlIn = null;
        XMLStreamReader xtr = null;
        try {
    
    
            xmlIn = new InputStreamReader(inputStream, "UTF-8");
            xtr = xif.createXMLStreamReader(xmlIn);
            // 把XML转换成BpmnModel对象
            BpmnModel bpmnModel = bpmnXmlConverter.convertToBpmnModel(xtr);
            //模板验证
            ProcessValidator validator = new ProcessValidatorFactory().createDefaultProcessValidator();
            List<ValidationError> errors = validator.validate(bpmnModel);
            if (errors.isEmpty()) {
    
    
                return success("验证模板");
            }
            return failure("验证模板失败");
        } catch (UnsupportedEncodingException e) {
    
    
            e.printStackTrace();
        } catch (XMLStreamException e) {
    
    
            e.printStackTrace();
        }
        return null;
    }

Guess you like

Origin blog.csdn.net/qq_36213455/article/details/113947613