public byte[] convertToXML(BpmnModel model) { return convertToXML(model, DEFAULT_ENCODING); }
public DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel) { BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter(); try { String bpmn20Xml = new String(bpmnXMLConverter.convertToXML(bpmnModel), "UTF-8"); addString(resourceName, bpmn20Xml); } catch (UnsupportedEncodingException e) { throw new ActivitiException("Error while transforming BPMN model to xml: not UTF-8 encoded", e); } return this; }
exportBytes = xmlConverter.convertToXML(bpmnModel); filename = mainProcessId + ".bpmn20.xml"; } else if (type == ModelType.json) {
@PostMapping("/{modelId}/deploy") @ApiOperation("发布模型") @Authorize(action = "deploy") public ResponseMessage<Deployment> deployModel(@PathVariable String modelId) throws Exception { Model modelData = repositoryService.getModel(modelId); if (modelData == null) { throw new NotFoundException("模型不存在!"); } ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId())); BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName() + ".bpmn20.xml"; Deployment deployment = repositoryService.createDeployment() .name(modelData.getName()) .addString(processName, new String(bpmnBytes, "utf8")) .deploy(); return ResponseMessage.ok(deployment).include(Deployment.class, "id", "name", "new"); }
/** * 导出model的xml文件 */ @RequestMapping(value = "/model/export/xml/{modelId}", method = RequestMethod.GET) public void exportXml(@PathVariable("modelId") String modelId, HttpServletResponse response) { try { Model modelData = repositoryService.getModel(modelId); BpmnJsonConverter jsonConverter = new BpmnJsonConverter(); JsonNode editorNode = objectMapper.readTree(repositoryService.getModelEditorSource(modelData.getId())); BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); //没有xml if (bpmnModel.getProcesses().isEmpty()) { response.setCharacterEncoding("utf-8"); response.getWriter().print("<script>modals.error('xml文件不存在,生成错误');</script>"); response.flushBuffer(); return; } byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel); ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes); IOUtils.copy(in, response.getOutputStream()); String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.model.xml"; response.setHeader("Content-Disposition", "attachment; filename=" + filename); response.flushBuffer(); } catch (Exception e) { LOGGER.error("导出model的xml文件失败:modelId={}", modelId, e); } }
BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel);
public byte[] convertToXML(BpmnModel model) { return convertToXML(model, DEFAULT_ENCODING); }
byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model); Result xml = generateResource("xml", id, request); Result image = generateResource("image", id, request);
/** * Returns the BPMN 2.0 xml which is the converted version of the * provided {@link WorkflowDefinition}. */ public String getBpmn20Xml() { if (bpmnModel == null) { convert(); } BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter(); return new String(bpmnXMLConverter.convertToXML(bpmnModel)); } }
public DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel) { BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter(); try { String bpmn20Xml = new String(bpmnXMLConverter.convertToXML(bpmnModel), "UTF-8"); addString(resourceName, bpmn20Xml); } catch (UnsupportedEncodingException e) { throw new ActivitiException("Error while transforming BPMN model to xml: not UTF-8 encoded", e); } return this; }
public DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel) { BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter(); try { String bpmn20Xml = new String(bpmnXMLConverter.convertToXML(bpmnModel), "UTF-8"); addString(resourceName, bpmn20Xml); } catch (UnsupportedEncodingException e) { throw new ActivitiException("Errot while transforming BPMN model to xml: not UTF-8 encoded", e); } return this; }
public static byte[] getBpmnMeta(ObjectNode metaNode) { BpmnModel bpmnModel = getBpmnJsonConverter().convertToBpmnModel(metaNode); byte[] bpmnMeta = getBpmnXMLConverter().convertToXML(bpmnModel); return bpmnMeta; }
@RequestMapping(value = "/model/export/{id}", method = RequestMethod.GET) public void exportToXml(@PathVariable("id") String id, HttpServletResponse response) { try { Model modelData = repositoryService.getModel(id); BpmnJsonConverter jsonConverter = new BpmnJsonConverter(); JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId())); BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode); BpmnXMLConverter xmlConverter = new BpmnXMLConverter(); byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel); ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes); IOUtils.copy(in, response.getOutputStream()); String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.xml"; response.setHeader("Content-Disposition", "attachment; filename=" + filename); response.flushBuffer(); } catch (Exception e) { throw new ActivitiException("导出model的xml文件失败,模型ID=" + id, e); } }
/** * Gets the Activiti XML from the specified BPMN model. The returned XML will have CDATA wrappers removed. * * @param bpmnModel the model. * * @return the Activiti XML. */ protected String getActivitiXmlFromBpmnModel(BpmnModel bpmnModel) { return new String(new BpmnXMLConverter().convertToXML(bpmnModel)).replace("<![CDATA[", "").replaceAll("]]>", ""); }
exportBytes = xmlConverter.convertToXML(bpmnModel); filename = mainProcessId + ".bpmn20.xml"; } else if (type == ModelType.json) {
@PostMapping("/{modelId}/deploy") @ApiOperation("发布模型") @Authorize(action = "deploy") public ResponseMessage<Deployment> deployModel(@PathVariable String modelId) throws Exception { Model modelData = repositoryService.getModel(modelId); if (modelData == null) { throw new NotFoundException("模型不存在!"); } ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId())); BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName() + ".bpmn20.xml"; Deployment deployment = repositoryService.createDeployment() .name(modelData.getName()) .addString(processName, new String(bpmnBytes, "utf8")) .deploy(); return ResponseMessage.ok(deployment).include(Deployment.class, "id", "name", "new"); }
@RequestMapping(value = "/model/deploy/{id}", method = RequestMethod.POST) public ResponseCode deploy(@PathVariable("id") String id) throws Exception { //获取模型 Model modelData = repositoryService.getModel(id); byte[] bytes = repositoryService.getModelEditorSource(modelData.getId()); if (bytes == null) { return ResponseCode.error("模型数据为空,请先设计流程并成功保存,再进行发布。"); } JsonNode modelNode = new ObjectMapper().readTree(bytes); BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); if (model.getProcesses().size() == 0) { return ResponseCode.error("数据模型不符要求,请至少设计一条主线流程。"); } byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model); //发布流程 String processName = modelData.getName() + ".bpmn20.xml"; Deployment deployment = repositoryService.createDeployment() .name(modelData.getName()) .addString(processName, new String(bpmnBytes, "UTF-8")) .deploy(); modelData.setDeploymentId(deployment.getId()); repositoryService.saveModel(modelData); return ResponseCode.ok(); }
@RequiresPermissions("flowdefine") @RequestMapping("/admin/flowdefine/view_add") public String add(ModelMap model) { BpmnModel bpmnModel = new BpmnModel(); Process process = new Process(); process.setName("流程名称"); bpmnModel.addProcess(process); process.addFlowElement(createStartEvent()); process.addFlowElement(createEndEvent()); process.addFlowElement(createSequenceFlow("start", "end")); process.setId("my-process"); BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter(); byte[] convertToXML = bpmnXMLConverter.convertToXML(bpmnModel); String bytes = new String(convertToXML); model.addAttribute("content", bytes); return "/admin/flowdefine/add"; }
protected void deployModelerModel(final ObjectNode modelNode) { BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName() + ".bpmn20.xml"; Deployment deployment = repositoryService.createDeployment() .name(modelData.getName()) .addString(processName, new String(bpmnBytes)) .deploy(); ExplorerApp.get().getViewManager().showDeploymentPage(deployment.getId()); }
BpmnModel model = jsonConverter.convertToBpmnModel(editorNode); filename = model.getMainProcess().getId() + ".bpmn20.xml"; bpmnBytes = new BpmnXMLConverter().convertToXML(model);