@PostMapping @ResponseStatus(value = HttpStatus.CREATED) @ApiOperation("创建模型") public ResponseMessage<Model> createModel(@RequestBody ModelCreateRequest model) throws Exception { JSONObject stencilset = new JSONObject(); stencilset.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#"); JSONObject editorNode = new JSONObject(); editorNode.put("id", "canvas"); editorNode.put("resourceId", "canvas"); editorNode.put("stencilset", stencilset); JSONObject modelObjectNode = new JSONObject(); modelObjectNode.put(MODEL_REVISION, 1); modelObjectNode.put(MODEL_DESCRIPTION, model.getDescription()); modelObjectNode.put(MODEL_KEY, model.getKey()); modelObjectNode.put(MODEL_NAME, model.getName()); Model modelData = repositoryService.newModel(); modelData.setMetaInfo(modelObjectNode.toJSONString()); modelData.setName(model.getName()); modelData.setKey(model.getKey()); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8")); return ResponseMessage.ok(modelData).status(201); }
com.fasterxml.jackson.databind.node.ObjectNode modelNode = converter.convertToJson(bpmnModel); org.activiti.engine.repository.Model modelData = repositoryService.newModel(); modelData.setKey(processDefinition.getKey()); modelData.setName(processDefinition.getResourceName().substring(0, processDefinition.getResourceName().indexOf("."))); modelData.setCategory(processDefinition.getDeploymentId());
model.setKey(key); model.setMetaInfo(modelNode.toString());
public static void importModel(RepositoryService repositoryService, File modelFile) throws IOException, XMLStreamException { InputStreamReader reader = new InputStreamReader(new FileInputStream(modelFile), "utf-8"); String fileContent = IOUtils.readStringAndClose(reader, (int) modelFile.length()); BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(new StringStreamSourceEx(fileContent), false, false); String processName = bpmnModel.getMainProcess().getName(); if (processName == null || processName.isEmpty()) { processName = bpmnModel.getMainProcess().getId(); } Model modelData = repositoryService.newModel(); ObjectNode modelObjectNode = new ObjectMapper().createObjectNode(); modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, processName); modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); modelData.setMetaInfo(modelObjectNode.toString()); modelData.setName(processName); modelData.setKey(modelFile.getName()); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), fileContent.getBytes("utf-8")); Logger.getLogger(ModelUtils.class) .info(String.format("importing model file: %s", modelFile.getCanonicalPath())); } }
public static void addModel(Model copyModel, String key, String modelName, ObjectNode metaInfo, String tenantId) { copyModel.setKey(key); updateModel(copyModel, modelName, metaInfo, tenantId); }
@PostMapping @ResponseStatus(value = HttpStatus.CREATED) @ApiOperation("创建模型") public ResponseMessage<Model> createModel(@RequestBody ModelCreateRequest model) throws Exception { JSONObject stencilset = new JSONObject(); stencilset.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#"); JSONObject editorNode = new JSONObject(); editorNode.put("id", "canvas"); editorNode.put("resourceId", "canvas"); editorNode.put("stencilset", stencilset); JSONObject modelObjectNode = new JSONObject(); modelObjectNode.put(MODEL_REVISION, 1); modelObjectNode.put(MODEL_DESCRIPTION, model.getDescription()); modelObjectNode.put(MODEL_KEY, model.getKey()); modelObjectNode.put(MODEL_NAME, model.getName()); Model modelData = repositoryService.newModel(); modelData.setMetaInfo(modelObjectNode.toJSONString()); modelData.setName(model.getName()); modelData.setKey(model.getKey()); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8")); return ResponseMessage.ok(modelData).status(201); }
model.setKey(key); model.setMetaInfo(modelNode.toString());
@ApiOperation(value = "Create a model", tags = {"Models"}, notes = "All request values are optional. For example, you can only include the name attribute in the request body JSON-object, only setting the name of the model, leaving all other fields null.") @ApiResponses(value = { @ApiResponse(code = 200, message = "Indicates the model was created.") }) @RequestMapping(value = "/repository/models", method = RequestMethod.POST, produces = "application/json") public ModelResponse createModel(@RequestBody ModelRequest modelRequest, HttpServletRequest request, HttpServletResponse response) { Model model = repositoryService.newModel(); model.setCategory(modelRequest.getCategory()); model.setDeploymentId(modelRequest.getDeploymentId()); model.setKey(modelRequest.getKey()); model.setMetaInfo(modelRequest.getMetaInfo()); model.setName(modelRequest.getName()); model.setVersion(modelRequest.getVersion()); model.setTenantId(modelRequest.getTenantId()); repositoryService.saveModel(model); response.setStatus(HttpStatus.CREATED.value()); return restResponseFactory.createModelResponse(model); } }
com.fasterxml.jackson.databind.node.ObjectNode modelNode = converter.convertToJson(bpmnModel); org.activiti.engine.repository.Model modelData = repositoryService.newModel(); modelData.setKey(processDefinition.getKey()); modelData.setName(processDefinition.getResourceName().substring(0, processDefinition.getResourceName().indexOf("."))); modelData.setCategory(processDefinition.getDeploymentId());
model.setKey(modelRequest.getKey());