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();
    }
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
234
粉丝
11
喜欢
34
收藏
35
排名:793
访问:8674
私信
所有博文
社区赞助商