@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); }
@PutMapping(value = "/{modelId}") @ResponseStatus(value = HttpStatus.OK) @Authorize(action = Permission.ACTION_UPDATE) public void saveModel(@PathVariable String modelId, @RequestParam Map<String, String> values) throws TranscoderException, IOException { Model model = repositoryService.getModel(modelId); JSONObject modelJson = JSON.parseObject(model.getMetaInfo()); modelJson.put(MODEL_NAME, values.get("name")); modelJson.put(MODEL_DESCRIPTION, values.get("description")); model.setMetaInfo(modelJson.toString()); model.setName(values.get("name")); repositoryService.saveModel(model); repositoryService.addModelEditorSource(model.getId(), values.get("json_xml").getBytes("utf-8")); InputStream svgStream = new ByteArrayInputStream(values.get("svg_xml").getBytes("utf-8")); TranscoderInput input = new TranscoderInput(svgStream); PNGTranscoder transcoder = new PNGTranscoder(); // Setup output ByteArrayOutputStream outStream = new ByteArrayOutputStream(); TranscoderOutput output = new TranscoderOutput(outStream); // Do the transformation transcoder.transcode(input, output); final byte[] result = outStream.toByteArray(); repositoryService.addModelEditorSourceExtra(model.getId(), result); outStream.close(); }
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());
public static Model createNewModel(RepositoryService repositoryService, String name, String description) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); Model modelData = repositoryService.newModel(); ObjectNode modelObjectNode = objectMapper.createObjectNode(); modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name); modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description); modelData.setMetaInfo(modelObjectNode.toString()); modelData.setName(name); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), EMPTY_MODEL_XML.getBytes("utf-8")); return modelData; }
modelNode.put(ModelDataJsonConstants.MODEL_REVISION, revision); model.setName(name); 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())); } }
modelJson.put(MODEL_DESCRIPTION, values.getFirst("description")); model.setMetaInfo(modelJson.toString()); model.setName(values.getFirst("name"));
public static void updateModel(Model copyModel, String modelName, ObjectNode metaInfo, String tenantId) { copyModel.setName(modelName); if (null != metaInfo) { copyModel.setMetaInfo(metaInfo.toString()); } copyModel.setTenantId(tenantId); }
public static Model getModelVariables(ObjectNode nodesVariables, Model model) throws Exception { if (StringUtils.isEmpty(nodesVariables) || StringUtils.isEmpty(nodesVariables.get(TAG_EX_MODEL))) { throw new Exception(""); } JsonNode modelNode = nodesVariables.get(TAG_EX_MODEL); model.setName(NodeVariableUtil.hasVariableEmpty(modelNode.get(ModelDataJsonConstants.MODEL_NAME))); model.setMetaInfo(NodeVariableUtil.hasVariableEmpty(modelNode.get(TAG_EX_METAINFO))); model.setTenantId("userId"); model.setVersion(Constants.DEFAULT_VERSION); if (!StringUtils.isEmpty(modelNode.get(ModelDataJsonConstants.MODEL_REVISION))) { model.setVersion(Integer.parseInt(modelNode.get(ModelDataJsonConstants.MODEL_REVISION).textValue())); } return model; }
protected void createModelData(String name, String description, String jsonFile) { List<Model> modelList = repositoryService.createModelQuery().modelName("Demo model").list(); if (modelList == null || modelList.isEmpty()) { Model model = repositoryService.newModel(); model.setName(name); ObjectNode modelObjectNode = new ObjectMapper().createObjectNode(); modelObjectNode.put(MODEL_NAME, name); modelObjectNode.put(MODEL_DESCRIPTION, description); model.setMetaInfo(modelObjectNode.toString()); repositoryService.saveModel(model); try { InputStream svgStream = this.getClass().getClassLoader().getResourceAsStream("org/activiti/explorer/demo/model/test.svg"); repositoryService.addModelEditorSourceExtra(model.getId(), IOUtils.toByteArray(svgStream)); } catch(Exception e) { LOGGER.warn("Failed to read SVG", e); } try { InputStream editorJsonStream = this.getClass().getClassLoader().getResourceAsStream(jsonFile); repositoryService.addModelEditorSource(model.getId(), IOUtils.toByteArray(editorJsonStream)); } catch(Exception e) { LOGGER.warn("Failed to read editor JSON", e); } } }
@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); }
@RequestMapping(value = "/model/{modelId}/save", method = RequestMethod.PUT) @ResponseStatus(value = HttpStatus.OK) public void saveModel(@PathVariable String modelId , String name, String description , String json_xml, String svg_xml) { try { Model model = repositoryService.getModel(modelId); ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo()); modelJson.put(MODEL_NAME, name); modelJson.put(MODEL_DESCRIPTION, description); model.setMetaInfo(modelJson.toString()); model.setName(name); repositoryService.saveModel(model); repositoryService.addModelEditorSource(model.getId(), json_xml.getBytes("utf-8")); InputStream svgStream = new ByteArrayInputStream(svg_xml.getBytes("utf-8")); TranscoderInput input = new TranscoderInput(svgStream); PNGTranscoder transcoder = new PNGTranscoder(); // Setup output ByteArrayOutputStream outStream = new ByteArrayOutputStream(); TranscoderOutput output = new TranscoderOutput(outStream); // Do the transformation transcoder.transcode(input, output); final byte[] result = outStream.toByteArray(); repositoryService.addModelEditorSourceExtra(model.getId(), result); outStream.close(); } catch (Exception e) { LOGGER.error("Error saving model", e); throw new ActivitiException("Error saving model", e); } }
modelNode.put(MODEL_REVISION, revision); model.setName(name); model.setKey(key); model.setMetaInfo(modelNode.toString());
@PutMapping(value = "/{modelId}") @ResponseStatus(value = HttpStatus.OK) @Authorize(action = Permission.ACTION_UPDATE) public void saveModel(@PathVariable String modelId, @RequestParam Map<String, String> values) throws TranscoderException, IOException { Model model = repositoryService.getModel(modelId); JSONObject modelJson = JSON.parseObject(model.getMetaInfo()); modelJson.put(MODEL_NAME, values.get("name")); modelJson.put(MODEL_DESCRIPTION, values.get("description")); model.setMetaInfo(modelJson.toString()); model.setName(values.get("name")); repositoryService.saveModel(model); repositoryService.addModelEditorSource(model.getId(), values.get("json_xml").getBytes("utf-8")); InputStream svgStream = new ByteArrayInputStream(values.get("svg_xml").getBytes("utf-8")); TranscoderInput input = new TranscoderInput(svgStream); PNGTranscoder transcoder = new PNGTranscoder(); // Setup output ByteArrayOutputStream outStream = new ByteArrayOutputStream(); TranscoderOutput output = new TranscoderOutput(outStream); // Do the transformation transcoder.transcode(input, output); final byte[] result = outStream.toByteArray(); repositoryService.addModelEditorSourceExtra(model.getId(), result); outStream.close(); }
modelJson.put(MODEL_DESCRIPTION, values.getFirst("description")); model.setMetaInfo(modelJson.toString()); model.setName(values.getFirst("name"));
@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); } }
public void buttonClick(ClickEvent event) { if (StringUtils.isEmpty((String) nameTextField.getValue())) { form.setComponentError(new UserError("The name field is required.")); return; } Model newModelData = repositoryService.newModel(); ObjectNode modelObjectNode = new ObjectMapper().createObjectNode(); modelObjectNode.put(MODEL_NAME, (String) nameTextField.getValue()); String description = null; if (StringUtils.isNotEmpty((String) descriptionTextArea.getValue())) { description = (String) descriptionTextArea.getValue(); } else { description = ""; } modelObjectNode.put(MODEL_DESCRIPTION, description); newModelData.setMetaInfo(modelObjectNode.toString()); newModelData.setName((String) nameTextField.getValue()); repositoryService.saveModel(newModelData); repositoryService.addModelEditorSource(newModelData.getId(), repositoryService.getModelEditorSource(modelData.getId())); repositoryService.addModelEditorSourceExtra(newModelData.getId(), repositoryService.getModelEditorSourceExtra(modelData.getId())); close(); ExplorerApp.get().getViewManager().showEditorProcessDefinitionPage(newModelData.getId()); } });
model.setName(modelRequest.getName());
modelData.setName(deployModelPopupWindow.getProcessName()); workflowDefinition.setName(deployModelPopupWindow.getProcessName());