ModelResource.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:plumdo-work 作者:
@RequestMapping(value = "/model", method = RequestMethod.POST, produces = "application/json", name="模型创建")
@ResponseStatus(value = HttpStatus.CREATED)
@Transactional(propagation = Propagation.REQUIRED)
public ModelResponse createModel(@RequestBody ModelRequest modelRequest){

    Model model = repositoryService.newModel();
    model.setCategory(modelRequest.getCategory());
    model.setKey(modelRequest.getKey());
    model.setMetaInfo(modelRequest.getMetaInfo());
    model.setName(modelRequest.getName());
    model.setVersion(modelRequest.getVersion());
    model.setTenantId(modelRequest.getTenantId());

    repositoryService.saveModel(model);

    ObjectMapper objectMapper = new ObjectMapper();
    ObjectNode editorNode = objectMapper.createObjectNode();
    editorNode.put(EditorJsonConstants.EDITOR_STENCIL_ID, "canvas");

    editorNode.put(EditorJsonConstants.EDITOR_SHAPE_ID, "canvas");
    //设置流程定义初始化的key和name
    ObjectNode propertieNode = objectMapper.createObjectNode();
    if(StringUtils.isNotEmpty(model.getKey())){
        propertieNode.put(StencilConstants.PROPERTY_PROCESS_ID, model.getKey());
    }else{
        propertieNode.put(StencilConstants.PROPERTY_PROCESS_ID, "model_"+model.getId());
    }
    propertieNode.put(StencilConstants.PROPERTY_NAME, model.getName());
    editorNode.set(EditorJsonConstants.EDITOR_SHAPE_PROPERTIES, propertieNode);
    ObjectNode stencilSetNode = objectMapper.createObjectNode();
    stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
    editorNode.set("stencilset", stencilSetNode);
    try {
        repositoryService.addModelEditorSource(model.getId(), editorNode.toString().getBytes("utf-8"));
    } catch (UnsupportedEncodingException e) {
        throw new FlowableConflictException("create model exception :"+e.getMessage());
    }

    return restResponseFactory.createModelResponse(model);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号