add - 添加新版的 JSON 转 BPMN 功能

This commit is contained in:
wangli 2023-10-18 09:52:35 +08:00
parent 53057ddc1a
commit aa11ed3933
10 changed files with 10 additions and 44 deletions

View File

@ -80,7 +80,7 @@ public class BpmnJsonConverterUtil {
* @return {@link BpmnJsonNode} json 格式对象,可以直接解析
*/
public static BpmnJsonNode convertToJson(BpmnModel bpmnModel) {
return new BpmnJsonNode();
throw new WorkflowEngineException("暂不支持转 JSON ,请通过获取定义查看 JSON");
}
/**

View File

@ -2,6 +2,7 @@ package cn.axzo.workflow.core.converter.json;
import cn.axzo.framework.jackson.utility.JSON;
import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonNode;
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
import org.flowable.bpmn.model.ExtensionAttribute;
import org.flowable.bpmn.model.FlowElement;
import org.flowable.bpmn.model.Process;
@ -16,10 +17,9 @@ import static cn.axzo.workflow.common.constant.BpmConstants.FLOW_NODE_JSON;
*/
public abstract class AbstractBpmnJsonConverter<T extends FlowElement> {
public abstract void convertElementToJson();
public abstract T convertJsonToElement(BpmnJsonNode node, Process process);
public T convertJsonToElement(BpmnJsonNode node, Process process) {
throw new WorkflowEngineException("暂不支持 BPMN 转 JSON");
}
public final void addJsonValueAttribute(T t, BpmnJsonNode jsonNode) {
ExtensionAttribute extensionAttribute = new ExtensionAttribute();

View File

@ -7,16 +7,12 @@ import org.flowable.bpmn.model.Process;
import static cn.axzo.workflow.common.constant.BpmConstants.END_EVENT_ID;
/**
* TODO
* 结束节点
*
* @author wangli
* @since 2023/10/13 14:47
*/
public class EndEventJsonConverter extends AbstractBpmnJsonConverter<EndEvent> {
@Override
public void convertElementToJson() {
}
@Override
public EndEvent convertJsonToElement(BpmnJsonNode node, Process process) {

View File

@ -14,10 +14,6 @@ import java.util.Objects;
* @since 2023/10/16 20:51
*/
public class ExclusiveGatewayJsonConverter extends AbstractBpmnJsonConverter<ExclusiveGateway> {
@Override
public void convertElementToJson() {
}
@Override
public ExclusiveGateway convertJsonToElement(BpmnJsonNode node, Process process) {

View File

@ -8,16 +8,12 @@ import org.flowable.bpmn.model.Process;
import static cn.axzo.workflow.core.common.enums.BpmErrorCode.CONVERTOR_NODE_TYPE_NOT_SUPPORT;
/**
* TODO
* 默认的不支持的节点转换器
*
* @author wangli
* @since 2023/10/13 15:13
*/
public class NotSupportConverter extends AbstractBpmnJsonConverter {
@Override
public void convertElementToJson() {
}
@Override
public FlowElement convertJsonToElement(BpmnJsonNode node, Process process) {

View File

@ -14,10 +14,6 @@ import java.util.Objects;
* @since 2023/10/16 20:51
*/
public class ParallelGatewayJsonConverter extends AbstractBpmnJsonConverter<ParallelGateway> {
@Override
public void convertElementToJson() {
}
@Override
public ParallelGateway convertJsonToElement(BpmnJsonNode node, Process process) {

View File

@ -16,10 +16,6 @@ import static cn.axzo.workflow.core.common.utils.BpmnJsonConverterUtil.id;
* @since 2023/10/13 18:45
*/
public class SequenceFlowJsonConverter extends AbstractBpmnJsonConverter<SequenceFlow> {
@Override
public void convertElementToJson() {
}
@Override
public SequenceFlow convertJsonToElement(BpmnJsonNode node, Process process) {

View File

@ -5,17 +5,12 @@ import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.ServiceTask;
/**
* TODO
* 服务任务节点
*
* @author wangli
* @since 2023/10/17 15:47
*/
public class ServiceTaskJsonConverter extends AbstractBpmnJsonConverter<ServiceTask> {
@Override
public void convertElementToJson() {
}
@Override
public ServiceTask convertJsonToElement(BpmnJsonNode node, Process process) {
ServiceTask serviceTask = new ServiceTask();

View File

@ -8,18 +8,13 @@ import org.flowable.bpmn.model.StartEvent;
import static cn.axzo.workflow.common.constant.BpmConstants.START_EVENT_ID;
/**
* StartEvent 对象与 JSON 互转
* 开始节点
*
* @author wangli
* @since 2023/10/12 11:04
*/
public class StartEventJsonConverter extends AbstractBpmnJsonConverter<StartEvent> {
@Override
public void convertElementToJson() {
}
@Override
public StartEvent convertJsonToElement(BpmnJsonNode node, Process process) {
StartEvent startEvent = new StartEvent();

View File

@ -15,16 +15,12 @@ import static cn.axzo.workflow.common.enums.BpmFlowNodeType.NODE_STARTER;
import static org.flowable.bpmn.model.ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION;
/**
* TODO
* 用户任务节点
*
* @author wangli
* @since 2023/10/13 17:01
*/
public class UserTaskJsonConverter extends AbstractBpmnJsonConverter<UserTask> {
@Override
public void convertElementToJson() {
}
@Override
public UserTask convertJsonToElement(BpmnJsonNode node, Process process) {