activiti 根据模型ID导出、预览 xml文件-阿里云开发者社区

开发者社区> 祖师爷> 正文

activiti 根据模型ID导出、预览 xml文件

简介: activiti 根据模型ID导出、预览 xml文件
+关注继续查看
/**根据模型ID导出xml文件
     * @param response
     * @param modelId   //模型ID
     * @from  fhadmin.cn
     */
    protected void exportXmlFromModelId(HttpServletResponse response, String modelId) throws Exception{
        Model modelData = repositoryService.getModel(modelId);  
        BpmnJsonConverter jsonConverter = new BpmnJsonConverter();  
        ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));
        BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(modelNode);  
        BpmnXMLConverter xmlConverter = new BpmnXMLConverter();  
        byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel);  
        ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);  
        //IOUtils.copy(in, response.getOutputStream());  
        String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.xml";  
        /*response.setHeader("Content-Disposition", "attachment; filename=" + filename);  
        response.flushBuffer(); */
        FileUpload.copyFile(in,PathUtil.getProjectpath()+Const.FILEACTIVITI,filename);      //把文件上传到文件目录里面
        FileDownload.fileDownload(response, PathUtil.getProjectpath()+Const.FILEACTIVITI+filename, filename);
        in.close();
    }
    
    /**根据模型ID预览xml文件
     * @param response
     * @param modelId   //模型ID
     * @from  fhadmin.org
     */
    protected String viewXmlFromModelId(String modelId) throws Exception{
        Model modelData = repositoryService.getModel(modelId);  
        BpmnJsonConverter jsonConverter = new BpmnJsonConverter();  
        ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));
        BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(modelNode);  
        BpmnXMLConverter xmlConverter = new BpmnXMLConverter();  
        byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel);  
        ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);  
        InputStreamReader isr = new InputStreamReader(in,"utf-8");
        BufferedReader bufferedReader = new BufferedReader(isr);
        StringBuffer xmlContent = new StringBuffer(); 
        String lineTxt = null;
        while ((lineTxt = bufferedReader.readLine()) != null) {
            xmlContent.append(lineTxt);
            xmlContent.append("\n");
        }
        isr.close();
        return xmlContent.toString();
    }

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一个json格式转xml格式的java实现
一个json格式转xml格式的java实现
3 0
使用java将json文件反序列化成java对象
使用java将json文件反序列化成java对象
3 0
Json string to object debug - json字符串转Java对象的处理调试
Json string to object debug - json字符串转Java对象的处理调试
6 0
Apache HttpClient库的日志级别设置原理
Apache HttpClient库的日志级别设置原理
3 0
jMeter Transaction Controller 学习笔记
jMeter Transaction Controller 学习笔记
3 0
关于Tomcat如何处理Open Redirect的问题
关于Tomcat如何处理Open Redirect的问题
4 0
单点登录SSO解决方案之SpringSecurity+JWT实现
通过前面几天文章我们详细的介绍了SpringSecurity的使用,本文我们来看下,结合JWT来实现单点登录操作。
3 0
Spring component detection logic
Spring component detection logic
5 0
SpringSecurity超详细入门介绍
权限管理是我们项目中必不可少的一环,实际项目中我们可以自己设计权限管理模块,也可以使用市面上成熟的权限管理框架,比如 shiro或者 SpringSecurity等,前面已经详细的介绍过了 shiro 的使用,本文开始就给大家详细的来介绍下SpringSecurity的使用。
3 0
+关注
祖师爷
java框架www.fhadmin.cn
104
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载