关闭

Activiti工作流中工作流配置资源的上传实现

108人阅读 评论(0) 收藏 举报
分类:

     在activiti工作流中的将工作流文件通过activit-probe的deployment部署文件。实现原理如下。通过activiti-probe中调用commons-fileupload将文件上传到并部署。源代码如下:

 

Java代码  收藏代码
  1.   

 

 

Java代码  收藏代码
  1. package org.activiti.rest.api.repository;  
  2.   
  3. import java.util.List;  
  4.   
  5. /** 
  6.  * @author Tijs Rademakers 
  7.  */  
  8. public class DeploymentUploadResource extends SecuredResource {  
  9.     
  10.   @Post  
  11.   public void uploadDeployment(Representation entity) {  
  12.     try {  
  13.       if(authenticate(SecuredResource.ADMIN) == falsereturn;  
  14.         
  15.       RestletFileUpload upload = new RestletFileUpload(new DiskFileItemFactory());  
  16.       List<FileItem> items = upload.parseRepresentation(entity);  
  17.         
  18.       FileItem uploadItem = null;  
  19.       String successMethod = null;  
  20.       for (FileItem fileItem : items) {  
  21.         if(fileItem.getName() != null) {  
  22.           uploadItem = fileItem;  
  23.         } else if(fileItem.getFieldName().equals("success")){  
  24.           successMethod = fileItem.getString();  
  25.         }  
  26.       }  
  27.         
  28.       DeploymentBuilder deploymentBuilder = ActivitiUtil.getRepositoryService().createDeployment();  
  29.       String fileName = uploadItem.getName();  
  30.       if (fileName.endsWith(".bpmn20.xml")) {  
  31.         deploymentBuilder.addInputStream(fileName, uploadItem.getInputStream());  
  32.       } else if (fileName.endsWith(".bar") || fileName.endsWith(".zip")) {  
  33.         deploymentBuilder.addZipInputStream(new ZipInputStream(uploadItem.getInputStream()));  
  34.       } else {  
  35.         throw new ActivitiException("File must be of type .bpmn20.xml, .bar or .zip");  
  36.       }  
  37.       deploymentBuilder.name(fileName);  
  38.       deploymentBuilder.deploy();  
  39.       StringBuilder html = new StringBuilder();  
  40.       html.append("<html>\n");  
  41.       html.append("  <script type=\"text/javascript\">\n");  
  42.       html.append("    " + successMethod + "()\n");  
  43.       html.append("   </script>\n");  
  44.       html.append("</html>\n");  
  45.       getResponse().setEntity(html.toString(), MediaType.TEXT_HTML);  
  46.         
  47.     } catch (Exception e) {  
  48.       throw new ActivitiException(e.getMessage(), e);  
  49.     }  
  50.   }  
  51. }  

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Activiti进阶(二)——部署流程资源的三种方式

流程资源可以是各种类型的文件,在启动流程或流程实例运行过程中会被读取。下面介绍常用的流程资源。     一、流程资源          流程定义文件:扩展名为bpmn20.xml和bpmn;...
  • zjx86320
  • zjx86320
  • 2015-12-09 13:35
  • 19365

activiti工作流会签功能的实现

需求:统计会签部门的审核情况然后决定下一步流程的走向;逻辑实现: 1、设置一个变量signCount 如果同意,signCount+1 // 如果是会签流程 List ...
  • liuwu0720
  • liuwu0720
  • 2015-11-06 11:15
  • 2971

用activiti 工作流 实现简单的请假 附带源码

新建一个 项目结构
  • lvsehuoyan
  • lvsehuoyan
  • 2014-08-06 23:19
  • 6437

Activiti工作流资源的获取和存储实现

前两天同事问我,工作流activiti通过activiti-probe部署时候上传的工作流配置文件到存在哪里。我当时懵了,当时知道在数据库存储工作流资源文件的信息。但是不知道文件系统是否存有。于是,研...
  • qq_31387691
  • qq_31387691
  • 2016-08-29 15:31
  • 146

工作流activiti数据库配置文件

  • 2017-06-01 23:10
  • 1KB
  • 下载

activiti 工作流实例-实现请假流程

  • 2016-01-13 09:48
  • 48.44MB
  • 下载

Activiti工作流的环境配置

继上篇《Activiti工作流简介》         在上篇中,对Activiti工作流进行了介绍。在本篇继续给大家介绍如何进行Activiti工作流的环境配置,不多说,直接上干货,参考我的来配置。。...
  • u013037201
  • u013037201
  • 2016-09-02 20:11
  • 4561

配置activiti工作流

activiti工作流在日常项目中应用很是广泛 通过工作流来管理流程让项目流程更加便于操作 设计好工作流程图后我们需要在项目中配置好对应的配置文件,可以在spring配置文件中配置也可以单独配置再引...
  • Fly_Eason
  • Fly_Eason
  • 2017-10-30 16:52
  • 125

工作流Activiti的学习总结(三) activit数据库限制和数据库相关的配置

数据库相关的配置:     在activiti中的持久化框架采用Ibatis3实现。有两种方式定义activiti的数据库。     1.通过jdbc.properties定义数据库相关的属性: ...
  • qq_31387691
  • qq_31387691
  • 2016-08-29 14:49
  • 203

Activiti5工作流框架学习之Struts2+Hibernate+Spring整合配置

测试环境WindowsSTSMysql5Jdk1.8Tomcat8 Maven3Struts2 + Spring4 + Hibernate3 + Activiti5.17一、整合Spring与Hibe...
  • u011726984
  • u011726984
  • 2015-08-03 19:58
  • 3053
    个人资料
    • 访问:27061次
    • 积分:761
    • 等级:
    • 排名:千里之外
    • 原创:38篇
    • 转载:75篇
    • 译文:0篇
    • 评论:0条
    文章分类