@Override public IStatus runInUIThread(IProgressMonitor monitor) { // BPMNDefineModel define = new BPMNDefineModel(); // define.setCurrent_version_flag("Y"); // define.setDescription("XX"); // define.setName("Hello"); // define.setProcess_code("007"); // define.setProcess_version("001"); define.setDefine(InputStreamUtil.stream2String(TestBPMN.getStream())); BPMService service = new BPMService(model); service.setServiceType(Endpoints.T_CREATE_BPM); // service.setBPMNDefineModel(define); service.setParas(makeParas(define)); BPMServiceRunner runner = new BPMServiceRunner(service); BPMServiceResponse list = runner.saveBPM(); int status = list.getStatus(); if (BPMServiceResponse.sucess == status && list.getDefines().size() > 0) { List<BPMNDefineModel> defines = list.getDefines(); BPMNDefineModel repDefine = defines.get(0); if (repDefine != null) { BPMNDefineCategory bpmnDefineCategory = model.getBPMNDefineCategory(repDefine.getCategory_id()); if (bpmnDefineCategory != null) { bpmnDefineCategory.addDefine(repDefine); viewer.getTreeViewer().refresh(bpmnDefineCategory); viewer.getTreeViewer().expandToLevel(bpmnDefineCategory, 1); } else { model.addDefine(repDefine); viewer.getTreeViewer().refresh(model); viewer.getTreeViewer().expandToLevel(model, 1); } try { ByteArrayInputStream is = new ByteArrayInputStream(repDefine.getDefines().getBytes("UTF-8")); IEditorPart openEditor = viewer .getSite() .getPage() .openEditor( new BPMServiceInputStreamEditorInput(is), AuroraBpmnEditor.ID, true); if (openEditor instanceof AuroraBpmnEditor) { ((AuroraBpmnEditor) openEditor).setDefine(repDefine); } } catch (PartInitException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } else { String serviceL = Endpoints.getSaveService(model.getHost(), "").getUrl(); MessageDialog.openError( this.getDisplay().getActiveShell(), "Error", "服务" + serviceL + "未响应"); return Status.CANCEL_STATUS; } return Status.OK_STATUS; }