| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package com.izouma.awesomeadmin.web;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.node.ObjectNode;
- import com.izouma.awesomeadmin.dto.Result;
- import org.activiti.editor.constants.ModelDataJsonConstants;
- import org.activiti.engine.*;
- import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
- import org.activiti.engine.repository.Model;
- import org.activiti.engine.repository.ModelQuery;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.ResponseBody;
- import java.util.List;
- @Controller
- @RequestMapping("/activiti")
- public class ActivitiController {
- @Autowired
- protected IdentityService identityService;
- @Autowired
- protected RepositoryService repositoryService;
- @Autowired
- protected RuntimeService runtimeService;
- @Autowired
- protected TaskService taskService;
- @Autowired
- protected ManagementService managementService;
- @Autowired
- protected ProcessEngineConfigurationImpl processEngineConfiguration;
- @RequestMapping(value = "/processList", method = RequestMethod.GET)
- @ResponseBody
- public Result processList(String name) {
- ModelQuery query = repositoryService.createModelQuery();
- if (StringUtils.isNotEmpty(name)) {
- query = query.modelNameLike(name);
- }
- List<Model> models = query.list();
- return new Result(true, models);
- }
- @RequestMapping(value = "/createModel", method = RequestMethod.GET)
- @ResponseBody
- public Result createModel(String name, String description) {
- Model newModel = repositoryService.newModel();
- try {
- ObjectMapper objectMapper = new ObjectMapper();
- ObjectNode modelObjectNode = objectMapper.createObjectNode();
- modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);
- modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
- modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
- newModel.setMetaInfo(modelObjectNode.toString());
- newModel.setName(name);
- repositoryService.saveModel(newModel);
- ObjectNode editorNode = objectMapper.createObjectNode();
- editorNode.put("id", "canvas");
- editorNode.put("resourceId", "canvas");
- ObjectNode stencilSetNode = objectMapper.createObjectNode();
- stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
- editorNode.set("stencilset", stencilSetNode);
- repositoryService.addModelEditorSource(newModel.getId(),
- editorNode.toString().getBytes("utf-8"));
- return new Result(true, newModel.getId());
- } catch (Exception e) {
- e.getStackTrace();
- }
- return new Result(false, "创建失败");
- }
- }
|