1
0

ActivitiController.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.izouma.awesomeadmin.web;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import com.fasterxml.jackson.databind.node.ObjectNode;
  4. import com.izouma.awesomeadmin.dto.Result;
  5. import org.activiti.editor.constants.ModelDataJsonConstants;
  6. import org.activiti.engine.*;
  7. import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
  8. import org.activiti.engine.repository.Model;
  9. import org.activiti.engine.repository.ModelQuery;
  10. import org.apache.commons.lang.StringUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import org.springframework.web.bind.annotation.ResponseBody;
  16. import java.util.List;
  17. @Controller
  18. @RequestMapping("/activiti")
  19. public class ActivitiController {
  20. @Autowired
  21. protected IdentityService identityService;
  22. @Autowired
  23. protected RepositoryService repositoryService;
  24. @Autowired
  25. protected RuntimeService runtimeService;
  26. @Autowired
  27. protected TaskService taskService;
  28. @Autowired
  29. protected ManagementService managementService;
  30. @Autowired
  31. protected ProcessEngineConfigurationImpl processEngineConfiguration;
  32. @RequestMapping(value = "/processList", method = RequestMethod.GET)
  33. @ResponseBody
  34. public Result processList(String name) {
  35. ModelQuery query = repositoryService.createModelQuery();
  36. if (StringUtils.isNotEmpty(name)) {
  37. query = query.modelNameLike(name);
  38. }
  39. List<Model> models = query.list();
  40. return new Result(true, models);
  41. }
  42. @RequestMapping(value = "/createModel", method = RequestMethod.GET)
  43. @ResponseBody
  44. public Result createModel(String name, String description) {
  45. Model newModel = repositoryService.newModel();
  46. try {
  47. ObjectMapper objectMapper = new ObjectMapper();
  48. ObjectNode modelObjectNode = objectMapper.createObjectNode();
  49. modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);
  50. modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
  51. modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
  52. newModel.setMetaInfo(modelObjectNode.toString());
  53. newModel.setName(name);
  54. repositoryService.saveModel(newModel);
  55. ObjectNode editorNode = objectMapper.createObjectNode();
  56. editorNode.put("id", "canvas");
  57. editorNode.put("resourceId", "canvas");
  58. ObjectNode stencilSetNode = objectMapper.createObjectNode();
  59. stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
  60. editorNode.set("stencilset", stencilSetNode);
  61. repositoryService.addModelEditorSource(newModel.getId(),
  62. editorNode.toString().getBytes("utf-8"));
  63. return new Result(true, newModel.getId());
  64. } catch (Exception e) {
  65. e.getStackTrace();
  66. }
  67. return new Result(false, "创建失败");
  68. }
  69. }