org.activiti.engine.RepositoryService.getModelEditorSource()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(15.8k)|赞(0)|评价(0)|浏览(1236)

本文整理了Java中org.activiti.engine.RepositoryService.getModelEditorSource方法的一些代码示例,展示了RepositoryService.getModelEditorSource的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.getModelEditorSource方法的具体详情如下:
包路径:org.activiti.engine.RepositoryService
类名称:RepositoryService
方法名:getModelEditorSource

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();
}

相关文章

微信公众号

最新文章

更多