本文整理了Java中org.activiti.engine.RepositoryService.getModelEditorSource
方法的一些代码示例,展示了RepositoryService.getModelEditorSource
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.getModelEditorSource
方法的具体详情如下:
包路径:org.activiti.engine.RepositoryService
类名称:RepositoryService
方法名:getModelEditorSource
[英]Returns the model editor source as a byte array
[中]以字节数组的形式返回模型编辑器源
代码示例来源:origin: hs-web/hsweb-framework
@GetMapping(value = "/{modelId}/json")
@Authorize(action = Permission.ACTION_GET)
public Object getEditorJson(@PathVariable String modelId) {
JSONObject modelNode;
Model model = repositoryService.getModel(modelId);
if (model == null) throw new NullPointerException("模型不存在");
if (StringUtils.isNotEmpty(model.getMetaInfo())) {
modelNode = JSON.parseObject(model.getMetaInfo());
} else {
modelNode = new JSONObject();
modelNode.put(MODEL_NAME, model.getName());
}
modelNode.put(MODEL_ID, model.getId());
modelNode.put("model", JSON.parse(new String(repositoryService.getModelEditorSource(model.getId()))));
return modelNode;
}
代码示例来源:origin: bill1012/AdminEAP
/**
* 校验资源文件是否存在
*
* @param type xml image 类型
* @param modelId 模型id
* @return
* @throws IOException
*/
@RequestMapping(value = "/model/exist/{type}/{modelId}", method = RequestMethod.POST)
@ResponseBody
public Result resourceExist(@PathVariable("type") String type, @PathVariable("modelId") String modelId) throws IOException {
Model modelData = repositoryService.getModel(modelId);
if (type.equals("xml")) {
BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
JsonNode editorNode = objectMapper.readTree(repositoryService.getModelEditorSource(modelData.getId()));
BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode);
return new Result(!bpmnModel.getProcesses().isEmpty());
} else {
byte[] pngBytes = repositoryService.getModelEditorSourceExtra(modelData.getId());
return new Result(pngBytes.length > 0);
}
}
代码示例来源:origin: hs-web/hsweb-framework
byte[] modelEditorSource = repositoryService.getModelEditorSource(modelData.getId());
代码示例来源:origin: bill1012/AdminEAP
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();
代码示例来源:origin: hs-web/hsweb-framework
@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");
}
代码示例来源:origin: bill1012/AdminEAP
/**
* 模型复制
*
* @param id
* @return
*/
@RequestMapping(value = "/model/copy/{id}", method = RequestMethod.POST)
@ResponseBody
public Result copyModal(@PathVariable("id") String id) throws IOException {
ModelEntity newModel = (ModelEntity) repositoryService.newModel();
ModelEntity model = (ModelEntity) repositoryService.getModel(id);
BeanUtils.copyProperties(model, newModel, "id", "revision");
ObjectNode modelNode;
if (!StrUtil.isEmpty(model.getMetaInfo())) {
modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
newModel.setMetaInfo(modelNode.toString());
}
newModel.setDeploymentId(null);
newModel.setEditorSourceExtraValueId(null);
newModel.setEditorSourceValueId(null);
newModel.setName(model.getName() + "(副本)");
repositoryService.saveModel(newModel);
repositoryService.addModelEditorSource(newModel.getId(), repositoryService.getModelEditorSource(model.getId()));
repositoryService.addModelEditorSourceExtra(newModel.getId(), repositoryService.getModelEditorSourceExtra
(model.getId()));
return new Result(true, newModel.getId(), "流程复制成功");
}
代码示例来源:origin: bill1012/AdminEAP
@RequestMapping(value="/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public ObjectNode getEditorJson(@PathVariable("modelId") String modelId) {
ObjectNode modelNode = null;
Model model = repositoryService.getModel(modelId);
if (model != null) {
try {
if (StringUtils.isNotEmpty(model.getMetaInfo())) {
modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
} else {
modelNode = objectMapper.createObjectNode();
modelNode.put(MODEL_NAME, model.getName());
}
modelNode.put(MODEL_ID, model.getId());
ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
modelNode.put("model", editorJsonNode);
} catch (Exception e) {
LOGGER.error("Error creating model JSON", e);
throw new ActivitiException("Error creating model JSON", e);
}
}
return modelNode;
}
}
代码示例来源:origin: org.activiti/activiti-explorer
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());
}
});
代码示例来源:origin: bill1012/AdminEAP
/**
* 导出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);
}
}
代码示例来源:origin: bluejoe2008/openwebflow
public static Deployment deployModel(RepositoryService repositoryService, String modelId) throws IOException
{
Model modelData = repositoryService.getModel(modelId);
//EditorSource就是XML格式的
byte[] bpmnBytes = repositoryService.getModelEditorSource(modelId);
String processName = modelData.getName() + ".bpmn20.xml";
Deployment deployment = repositoryService.createDeployment().name(modelData.getName())
.addString(processName, new String(bpmnBytes, "utf-8")).deploy();
//设置部署ID
modelData.setDeploymentId(deployment.getId());
repositoryService.saveModel(modelData);
return deployment;
}
代码示例来源:origin: bill1012/AdminEAP
byte[] bytes = repositoryService.getModelEditorSource(modelData.getId());
代码示例来源:origin: org.activiti/activiti-rest
@ApiOperation(value = "Get the editor source for a model", tags = {"Models"},
notes = "Response body contains the model’s raw editor source. "
+ "The response’s content-type is set to application/octet-stream, regardless of the content of the source.")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Indicates the model was found and source is returned."),
@ApiResponse(code = 404, message = "Indicates the requested model was not found.")
})
@RequestMapping(value = "/repository/models/{modelId}/source", method = RequestMethod.GET)
@ResponseBody protected
byte[] getModelBytes(@ApiParam(name = "modelId", value="The id of the model.") @PathVariable String modelId, HttpServletResponse response) {
byte[] editorSource = repositoryService.getModelEditorSource(modelId);
if (editorSource == null) {
throw new ActivitiObjectNotFoundException("Model with id '" + modelId + "' does not have source available.", String.class);
}
response.setContentType("application/octet-stream");
return editorSource;
}
代码示例来源:origin: org.activiti/activiti-explorer
protected void deployModel() {
try {
if (SimpleTableEditorConstants.TABLE_EDITOR_CATEGORY.equals(modelData.getCategory())) {
deploySimpleTableEditorModel(repositoryService.getModelEditorSource(modelData.getId()));
} else {
final ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));
deployModelerModel(modelNode);
}
} catch (Exception e) {
LOGGER.error("Failed to deploy model", e);
ExplorerApp.get().getNotificationManager().showErrorNotification(Messages.PROCESS_TOXML_FAILED, e);
}
}
代码示例来源:origin: org.hswebframework.web/hsweb-system-workflow-local
@GetMapping(value = "/{modelId}/json")
@Authorize(action = Permission.ACTION_GET)
public Object getEditorJson(@PathVariable String modelId) {
JSONObject modelNode;
Model model = repositoryService.getModel(modelId);
if (model == null) throw new NullPointerException("模型不存在");
if (StringUtils.isNotEmpty(model.getMetaInfo())) {
modelNode = JSON.parseObject(model.getMetaInfo());
} else {
modelNode = new JSONObject();
modelNode.put(MODEL_NAME, model.getName());
}
modelNode.put(MODEL_ID, model.getId());
modelNode.put("model", JSON.parse(new String(repositoryService.getModelEditorSource(model.getId()))));
return modelNode;
}
代码示例来源:origin: com.github.tianjing/tgtools.activiti.modeler
@RequestMapping(value = "/model/{modelId}/json", method = {RequestMethod.GET})
public ObjectNode getEditorJson(@PathVariable String modelId) {
ObjectNode modelNode = null;
Model model = repositoryService.getModel(modelId);
if (model != null) {
try {
if (StringUtils.isNotEmpty(model.getMetaInfo())) {
modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
} else {
modelNode = objectMapper.createObjectNode();
modelNode.put(MODEL_NAME, model.getName());
}
modelNode.put(MODEL_ID, model.getId());
ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
modelNode.put("model", editorJsonNode);
} catch (Exception e) {
LOGGER.error("Error creating model JSON", e);
throw new ActivitiException("Error creating model JSON", e);
}
}
return modelNode;
}
代码示例来源:origin: org.flowable/flowable-modeler
@RequestMapping(value="/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json")
public ObjectNode getEditorJson(@PathVariable String modelId) {
ObjectNode modelNode = null;
Model model = repositoryService.getModel(modelId);
if (model != null) {
try {
if (StringUtils.isNotEmpty(model.getMetaInfo())) {
modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
} else {
modelNode = objectMapper.createObjectNode();
modelNode.put(MODEL_NAME, model.getName());
}
modelNode.put(MODEL_ID, model.getId());
ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
modelNode.put("model", editorJsonNode);
} catch (Exception e) {
LOGGER.error("Error creating model JSON", e);
throw new ActivitiException("Error creating model JSON", e);
}
}
return modelNode;
}
}
代码示例来源:origin: com.github.tianjing/tgtools.activiti.modeler
@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);
}
}
代码示例来源:origin: org.hswebframework.web/hsweb-system-workflow-local
@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");
}
代码示例来源:origin: org.activiti/activiti-explorer
protected WorkflowDefinition loadWorkflowDefinition() throws JsonProcessingException, IOException {
RepositoryService repositoryService = ProcessEngines.getDefaultProcessEngine().getRepositoryService();
return ExplorerApp.get().getSimpleWorkflowJsonConverter().readWorkflowDefinition(repositoryService.getModelEditorSource(model.getId()));
}
代码示例来源:origin: com.github.tianjing/tgtools.activiti.modeler
@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();
}
内容来源于网络,如有侵权,请联系作者删除!