1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
/** * 部署一个模型 * * @param id */ public void deployModel(String id) { Deployment deployment = null; try { Model modelData = repositoryService.getModel(id); ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree( repositoryService.getModelEditorSource(modelData.getId()) ); byte[] bpmnBytes = null; /* // 无法载入.form文件 BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName() + ".bpmn20.xml"; deployment = repositoryService.createDeployment().name(modelData.getName()).addString(processName, new String(bpmnBytes)).deploy(); */ //载入.form文件 DeploymentBuilder db = repositoryService.createDeployment().name(modelData.getName()); List<JsonNode> forms = modelNode.findValues("formkeydefinition"); for (JsonNode node : forms) { String formName = node.textValue(); if (StringUtils.isNotBlank(formName)) { db.addInputStream(formName, new FileInputStream(new File("/home/pandy/workspace/PandyWebApp/webapp/src/main/resources/bpmn/start1.form"))); //break; } } BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode); bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName() + ".bpmn20.xml"; db.name(modelData.getName()).addString(processName, new String(bpmnBytes)).deploy(); } catch (Exception e) { e.printStackTrace(); } } |