You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by le...@apache.org on 2021/02/25 10:04:31 UTC
[incubator-dolphinscheduler] branch json_split updated:
[Feature-4417][JsonSplit] definition log extends definition (#4870)
This is an automated email from the ASF dual-hosted git repository.
leonbao pushed a commit to branch json_split
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/json_split by this push:
new fd7aa53 [Feature-4417][JsonSplit] definition log extends definition (#4870)
fd7aa53 is described below
commit fd7aa53fd3c7dbaf9be984e7d80b8a45593f6cd8
Author: bao liang <29...@users.noreply.github.com>
AuthorDate: Thu Feb 25 18:03:19 2021 +0800
[Feature-4417][JsonSplit] definition log extends definition (#4870)
* task definition log extends task definition
* process definition log extends process definition
process task relation log extends process task relation
* code style
* code style
* code style
* update log extends definition
* code style
* code style
---
.../dao/entity/ProcessDefinitionLog.java | 433 ++-------------------
.../dao/entity/ProcessTaskRelationLog.java | 249 +-----------
.../dao/entity/TaskDefinition.java | 19 +-
.../dao/entity/TaskDefinitionLog.java | 392 ++-----------------
.../dao/mapper/TaskDefinitionLogMapperTest.java | 63 +++
.../dao/mapper/TaskDefinitionMapperTest.java | 62 +++
.../service/process/ProcessService.java | 33 +-
7 files changed, 230 insertions(+), 1021 deletions(-)
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinitionLog.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinitionLog.java
index 5cfb1cf..c21e074 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinitionLog.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinitionLog.java
@@ -17,169 +17,16 @@
package org.apache.dolphinscheduler.dao.entity;
-import org.apache.dolphinscheduler.common.enums.Flag;
-import org.apache.dolphinscheduler.common.enums.ReleaseState;
-import org.apache.dolphinscheduler.common.process.Property;
-import org.apache.dolphinscheduler.common.utils.JSONUtils;
-
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
-
/**
* process definition log
*/
@TableName("t_ds_process_definition_log")
-public class ProcessDefinitionLog {
-
- /**
- * id
- */
- @TableId(value = "id", type = IdType.AUTO)
- private int id;
-
- /**
- * code
- */
- private Long code;
-
- /**
- * name
- */
- private String name;
-
- /**
- * version
- */
- private int version;
-
- /**
- * release state : online/offline
- */
- private ReleaseState releaseState;
-
- /**
- * project code
- */
- private Long projectCode;
-
- /**
- * description
- */
- private String description;
-
- /**
- * user defined parameters
- */
- private String globalParams;
-
- /**
- * user defined parameter list
- */
- @TableField(exist = false)
- private List<Property> globalParamList;
-
- /**
- * user define parameter map
- */
- @TableField(exist = false)
- private Map<String, String> globalParamMap;
-
- /**
- * create time
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date createTime;
-
- /**
- * update time
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date updateTime;
-
- /**
- * process is valid: yes/no
- */
- private Flag flag;
-
- /**
- * process user id
- */
- private int userId;
-
- /**
- * user name
- */
- @TableField(exist = false)
- private String userName;
-
- /**
- * project name
- */
- @TableField(exist = false)
- private String projectName;
-
- /**
- * locations array for web
- */
- private String locations;
-
- /**
- * receivers
- */
- private String receivers;
-
- /**
- * receivers cc
- */
- private String receiversCc;
-
- /**
- * schedule release state : online/offline
- */
- @TableField(exist = false)
- private ReleaseState scheduleReleaseState;
-
- /**
- * process warning time out. unit: minute
- */
- private int timeout;
-
- /**
- * tenant id
- */
- private int tenantId;
-
- /**
- * modify user name
- */
- private String modifyBy;
-
- /**
- * warningGroupId
- */
- @TableField(exist = false)
- private int warningGroupId;
-
- /**
- * connects array for web
- */
- private String connects;
-
- /**
- * resource ids
- */
- private String resourceIds;
+public class ProcessDefinitionLog extends ProcessDefinition {
/**
* operator
@@ -192,21 +39,37 @@ public class ProcessDefinitionLog {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date operateTime;
- public int getWarningGroupId() {
- return warningGroupId;
+ public ProcessDefinitionLog() {
+ super();
+ }
+
+ public ProcessDefinitionLog(ProcessDefinition processDefinition) {
+ this.setId(processDefinition.getId());
+ this.setCode(processDefinition.getCode());
+ this.setName(processDefinition.getName());
+ this.setVersion(processDefinition.getVersion());
+ this.setReleaseState(processDefinition.getReleaseState());
+ this.setProjectCode(processDefinition.getProjectCode());
+ this.setDescription(processDefinition.getDescription());
+ this.setGlobalParams(processDefinition.getGlobalParams());
+ this.setGlobalParamList(processDefinition.getGlobalParamList());
+ this.setGlobalParamMap(processDefinition.getGlobalParamMap());
+ this.setCreateTime(processDefinition.getCreateTime());
+ this.setUpdateTime(processDefinition.getUpdateTime());
+ this.setFlag(processDefinition.getFlag());
+ this.setUserId(processDefinition.getUserId());
+ this.setUserName(processDefinition.getUserName());
+ this.setProjectName(processDefinition.getProjectName());
+ this.setLocations(processDefinition.getLocations());
+ this.setConnects(processDefinition.getConnects());
+ this.setScheduleReleaseState(processDefinition.getScheduleReleaseState());
+ this.setTimeout(processDefinition.getTimeout());
+ this.setTenantId(processDefinition.getTenantId());
+ this.setModifyBy(processDefinition.getModifyBy());
+ this.setResourceIds(processDefinition.getResourceIds());
+ this.setWarningGroupId(processDefinition.getWarningGroupId());
}
- public void setWarningGroupId(int warningGroupId) {
- this.warningGroupId = warningGroupId;
- }
-
- public String getConnects() {
- return connects;
- }
-
- public void setConnects(String connects) {
- this.connects = connects;
- }
public int getOperator() {
return operator;
@@ -224,240 +87,4 @@ public class ProcessDefinitionLog {
this.operateTime = operateTime;
}
- public Long getCode() {
- return code;
- }
-
- public void setCode(Long code) {
- this.code = code;
- }
-
- public Long getProjectCode() {
- return projectCode;
- }
-
- public void setProjectCode(Long projectCode) {
- this.projectCode = projectCode;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getVersion() {
- return version;
- }
-
- public void setVersion(int version) {
- this.version = version;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public ReleaseState getReleaseState() {
- return releaseState;
- }
-
- public void setReleaseState(ReleaseState releaseState) {
- this.releaseState = releaseState;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public Date getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Date updateTime) {
- this.updateTime = updateTime;
- }
-
- public Flag getFlag() {
- return flag;
- }
-
- public void setFlag(Flag flag) {
- this.flag = flag;
- }
-
- public int getUserId() {
- return userId;
- }
-
- public void setUserId(int userId) {
- this.userId = userId;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- public String getProjectName() {
- return projectName;
- }
-
- public void setProjectName(String projectName) {
- this.projectName = projectName;
- }
-
- public String getGlobalParams() {
- return globalParams;
- }
-
- public void setGlobalParams(String globalParams) {
- if (globalParams == null) {
- this.globalParamList = new ArrayList<>();
- } else {
- this.globalParamList = JSONUtils.toList(globalParams, Property.class);
- }
- this.globalParams = globalParams;
- }
-
- public List<Property> getGlobalParamList() {
- return globalParamList;
- }
-
- public void setGlobalParamList(List<Property> globalParamList) {
- this.globalParams = JSONUtils.toJsonString(globalParamList);
- this.globalParamList = globalParamList;
- }
-
- public Map<String, String> getGlobalParamMap() {
- if (globalParamMap == null && StringUtils.isNotEmpty(globalParams)) {
- List<Property> propList = JSONUtils.toList(globalParams, Property.class);
- globalParamMap = propList.stream().collect(Collectors.toMap(Property::getProp, Property::getValue));
- }
-
- return globalParamMap;
- }
-
- public void setGlobalParamMap(Map<String, String> globalParamMap) {
- this.globalParamMap = globalParamMap;
- }
-
- public String getLocations() {
- return locations;
- }
-
- public void setLocations(String locations) {
- this.locations = locations;
- }
-
- public String getReceivers() {
- return receivers;
- }
-
- public void setReceivers(String receivers) {
- this.receivers = receivers;
- }
-
- public String getReceiversCc() {
- return receiversCc;
- }
-
- public void setReceiversCc(String receiversCc) {
- this.receiversCc = receiversCc;
- }
-
- public ReleaseState getScheduleReleaseState() {
- return scheduleReleaseState;
- }
-
- public void setScheduleReleaseState(ReleaseState scheduleReleaseState) {
- this.scheduleReleaseState = scheduleReleaseState;
- }
-
- public String getResourceIds() {
- return resourceIds;
- }
-
- public void setResourceIds(String resourceIds) {
- this.resourceIds = resourceIds;
- }
-
- public int getTimeout() {
- return timeout;
- }
-
- public void setTimeout(int timeout) {
- this.timeout = timeout;
- }
-
- public int getTenantId() {
- return tenantId;
- }
-
- public void setTenantId(int tenantId) {
- this.tenantId = tenantId;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getModifyBy() {
- return modifyBy;
- }
-
- public void setModifyBy(String modifyBy) {
- this.modifyBy = modifyBy;
- }
-
- @Override
- public String toString() {
- return "ProcessDefinitionLog{"
- + "id=" + id
- + ", code=" + code
- + ", name='" + name + '\''
- + ", version=" + version
- + ", releaseState=" + releaseState
- + ", projectCode=" + projectCode
- + ", description='" + description + '\''
- + ", globalParams='" + globalParams + '\''
- + ", globalParamList=" + globalParamList
- + ", globalParamMap=" + globalParamMap
- + ", createTime=" + createTime
- + ", updateTime=" + updateTime
- + ", flag=" + flag
- + ", userId=" + userId
- + ", userName='" + userName + '\''
- + ", projectName='" + projectName + '\''
- + ", locations='" + locations + '\''
- + ", receivers='" + receivers + '\''
- + ", receiversCc='" + receiversCc + '\''
- + ", scheduleReleaseState=" + scheduleReleaseState
- + ", timeout=" + timeout
- + ", tenantId=" + tenantId
- + ", modifyBy='" + modifyBy + '\''
- + ", warningGroupId=" + warningGroupId
- + ", connects='" + connects + '\''
- + ", resourceIds='" + resourceIds + '\''
- + ", operator=" + operator
- + ", operateTime=" + operateTime
- + '}';
- }
}
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessTaskRelationLog.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessTaskRelationLog.java
index f858d98..812c501 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessTaskRelationLog.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessTaskRelationLog.java
@@ -17,96 +17,16 @@
package org.apache.dolphinscheduler.dao.entity;
-import org.apache.dolphinscheduler.common.enums.ConditionType;
-import org.apache.dolphinscheduler.common.process.Property;
-import org.apache.dolphinscheduler.common.utils.JSONUtils;
-
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* process task relation log
*/
@TableName("t_ds_process_task_relation_log")
-public class ProcessTaskRelationLog {
-
- /**
- * id
- */
- @TableId(value = "id", type = IdType.AUTO)
- private int id;
-
- /**
- * name
- */
- private String name;
-
- /**
- * process version
- */
- private int processDefinitionVersion;
-
- /**
- * project code
- */
- private long projectCode;
-
- /**
- * process code
- */
- private long processDefinitionCode;
-
- /**
- * pre task code
- */
- private long preTaskCode;
-
- /**
- * pre node version
- */
- private int preNodeVersion;
-
- /**
- * post task code
- */
- private long postTaskCode;
-
- /**
- * post node version
- */
- private int postNodeVersion;
-
- /**
- * condition type
- */
- private ConditionType conditionType;
-
- /**
- * condition parameters
- */
- private String conditionParams;
-
- /**
- * condition parameter list
- */
- @TableField(exist = false)
- private List<Property> conditionParamList;
-
- /**
- * condition parameter map
- */
- @TableField(exist = false)
- private Map<String, String> conditionParamMap;
+public class ProcessTaskRelationLog extends ProcessTaskRelation {
/**
* operator user id
@@ -119,132 +39,29 @@ public class ProcessTaskRelationLog {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date operateTime;
- /**
- * create time
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date createTime;
-
- /**
- * update time
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date updateTime;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
+ public ProcessTaskRelationLog() {
+ super();
}
- public int getId() {
- return id;
+ public ProcessTaskRelationLog(ProcessTaskRelation processTaskRelation) {
+ super();
+ this.setId(processTaskRelation.getId());
+ this.setName(processTaskRelation.getName());
+ this.setProcessDefinitionCode(processTaskRelation.getProcessDefinitionCode());
+ this.setProcessDefinitionVersion(processTaskRelation.getProcessDefinitionVersion());
+ this.setProjectCode(processTaskRelation.getProjectCode());
+ this.setPreTaskCode(processTaskRelation.getPreTaskCode());
+ this.setPreNodeVersion(processTaskRelation.getPreNodeVersion());
+ this.setPostTaskCode(processTaskRelation.getPostTaskCode());
+ this.setPostNodeVersion(processTaskRelation.getPostNodeVersion());
+ this.setConditionType(processTaskRelation.getConditionType());
+ this.setConditionParams(processTaskRelation.getConditionParams());
+ this.setConditionParamList(processTaskRelation.getConditionParamList());
+ this.setConditionParamMap(processTaskRelation.getConditionParamMap());
+ this.setCreateTime(processTaskRelation.getCreateTime());
+ this.setUpdateTime(processTaskRelation.getUpdateTime());
}
- public void setId(int id) {
- this.id = id;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public Date getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Date updateTime) {
- this.updateTime = updateTime;
- }
-
- public String getConditionParams() {
- return conditionParams;
- }
-
- public void setConditionParams(String conditionParams) {
- if (conditionParams == null) {
- this.conditionParamList = new ArrayList<>();
- } else {
- this.conditionParamList = JSONUtils.toList(conditionParams, Property.class);
- }
- this.conditionParams = conditionParams;
- }
-
- public List<Property> getConditionParamList() {
- return conditionParamList;
- }
-
- public void setConditionParamList(List<Property> conditionParamList) {
- this.conditionParams = JSONUtils.toJsonString(conditionParamList);
- this.conditionParamList = conditionParamList;
- }
-
- public Map<String, String> getConditionParamMap() {
- if (conditionParamMap == null && StringUtils.isNotEmpty(conditionParams)) {
- List<Property> propList = JSONUtils.toList(conditionParams, Property.class);
- conditionParamMap = propList.stream().collect(Collectors.toMap(Property::getProp, Property::getValue));
- }
-
- return conditionParamMap;
- }
-
- public void setConditionParamMap(Map<String, String> conditionParamMap) {
- this.conditionParamMap = conditionParamMap;
- }
-
- public int getProcessDefinitionVersion() {
- return processDefinitionVersion;
- }
-
- public void setProcessDefinitionVersion(int processDefinitionVersion) {
- this.processDefinitionVersion = processDefinitionVersion;
- }
-
- public long getProjectCode() {
- return projectCode;
- }
-
- public void setProjectCode(long projectCode) {
- this.projectCode = projectCode;
- }
-
- public long getProcessDefinitionCode() {
- return processDefinitionCode;
- }
-
- public void setProcessDefinitionCode(long processDefinitionCode) {
- this.processDefinitionCode = processDefinitionCode;
- }
-
- public long getPreTaskCode() {
- return preTaskCode;
- }
-
- public void setPreTaskCode(long preTaskCode) {
- this.preTaskCode = preTaskCode;
- }
-
- public long getPostTaskCode() {
- return postTaskCode;
- }
-
- public void setPostTaskCode(long postTaskCode) {
- this.postTaskCode = postTaskCode;
- }
-
- public ConditionType getConditionType() {
- return conditionType;
- }
-
- public void setConditionType(ConditionType conditionType) {
- this.conditionType = conditionType;
- }
public int getOperator() {
return operator;
@@ -262,30 +79,4 @@ public class ProcessTaskRelationLog {
this.operateTime = operateTime;
}
- public void set(ProcessTaskRelation processTaskRelation) {
- this.name = processTaskRelation.getName();
- this.processDefinitionVersion = processTaskRelation.getProcessDefinitionVersion();
- this.projectCode = processTaskRelation.getProjectCode();
- this.processDefinitionCode = processTaskRelation.getProcessDefinitionCode();
- this.preTaskCode = processTaskRelation.getPreTaskCode();
- this.postTaskCode = processTaskRelation.getPostTaskCode();
- this.conditionType = processTaskRelation.getConditionType();
- this.conditionParams = processTaskRelation.getConditionParams();
- }
-
- public int getPostNodeVersion() {
- return postNodeVersion;
- }
-
- public void setPostNodeVersion(int postNodeVersion) {
- this.postNodeVersion = postNodeVersion;
- }
-
- public int getPreNodeVersion() {
- return preNodeVersion;
- }
-
- public void setPreNodeVersion(int preNodeVersion) {
- this.preNodeVersion = preNodeVersion;
- }
}
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
index 3ca10a2..c0c167b 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
@@ -14,16 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.dolphinscheduler.dao.entity;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.apache.dolphinscheduler.common.enums.*;
+import org.apache.dolphinscheduler.common.enums.Flag;
+import org.apache.dolphinscheduler.common.enums.Priority;
+import org.apache.dolphinscheduler.common.enums.TaskTimeoutStrategy;
+import org.apache.dolphinscheduler.common.enums.TaskType;
+import org.apache.dolphinscheduler.common.enums.TimeoutFlag;
import org.apache.dolphinscheduler.common.process.Property;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
@@ -33,6 +30,12 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.fasterxml.jackson.annotation.JsonFormat;
/**
* task definition
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinitionLog.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinitionLog.java
index 439e352..3988bc0 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinitionLog.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinitionLog.java
@@ -17,142 +17,16 @@
package org.apache.dolphinscheduler.dao.entity;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
-import org.apache.dolphinscheduler.common.enums.*;
-import org.apache.dolphinscheduler.common.process.Property;
-import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
/**
* task definition log
*/
@TableName("t_ds_task_definition_log")
-public class TaskDefinitionLog {
-
- /**
- * id
- */
- @TableId(value = "id", type = IdType.AUTO)
- private int id;
-
- /**
- * code
- */
- private long code;
-
- /**
- * name
- */
- private String name;
-
- /**
- * version
- */
- private int version;
-
- /**
- * description
- */
- private String description;
-
- /**
- * project code
- */
- private long projectCode;
-
- /**
- * task user id
- */
- private int userId;
-
- /**
- * task type
- */
- private TaskType taskType;
-
- /**
- * user defined parameters
- */
- private String taskParams;
-
- /**
- * user defined parameter list
- */
- @TableField(exist = false)
- private List<Property> taskParamList;
-
- /**
- * user define parameter map
- */
- @TableField(exist = false)
- private Map<String, String> taskParamMap;
-
- /**
- * task is valid: yes/no
- */
- private Flag flag;
-
- /**
- * task priority
- */
- private Priority taskPriority;
-
- /**
- * user name
- */
- @TableField(exist = false)
- private String userName;
-
- /**
- * project name
- */
- @TableField(exist = false)
- private String projectName;
-
- /**
- * worker group
- */
- private String workerGroup;
-
- /**
- * fail retry times
- */
- private int failRetryTimes;
-
- /**
- * fail retry interval
- */
- private int failRetryInterval;
-
- /**
- * timeout flag
- */
- private TimeoutFlag timeoutFlag;
-
- /**
- * timeout notify strategy
- */
- private TaskTimeoutStrategy taskTimeoutStrategy;
-
- /**
- * task warning time out. unit: minute
- */
- private int timeout;
-
- /**
- * resource ids
- */
- private String resourceIds;
+public class TaskDefinitionLog extends TaskDefinition {
/**
* operator user id
@@ -165,203 +39,36 @@ public class TaskDefinitionLog {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date operateTime;
- /**
- * create time
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date createTime;
-
- /**
- * update time
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date updateTime;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public Date getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Date updateTime) {
- this.updateTime = updateTime;
- }
-
- public Flag getFlag() {
- return flag;
- }
-
- public void setFlag(Flag flag) {
- this.flag = flag;
- }
-
- public int getUserId() {
- return userId;
- }
-
- public void setUserId(int userId) {
- this.userId = userId;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- public String getProjectName() {
- return projectName;
- }
-
- public void setProjectName(String projectName) {
- this.projectName = projectName;
- }
-
- public String getTaskParams() {
- return taskParams;
- }
-
- public void setTaskParams(String taskParams) {
- if (taskParams == null) {
- this.taskParamList = new ArrayList<>();
- } else {
- this.taskParamList = JSONUtils.toList(taskParams, Property.class);
- }
- this.taskParams = taskParams;
- }
-
- public List<Property> getTaskParamList() {
- return taskParamList;
- }
-
- public void setTaskParamList(List<Property> taskParamList) {
- this.taskParams = JSONUtils.toJsonString(taskParamList);
- this.taskParamList = taskParamList;
- }
-
- public Map<String, String> getTaskParamMap() {
- if (taskParamMap == null && StringUtils.isNotEmpty(taskParams)) {
- List<Property> propList = JSONUtils.toList(taskParams, Property.class);
- taskParamMap = propList.stream().collect(Collectors.toMap(Property::getProp, Property::getValue));
- }
-
- return taskParamMap;
- }
-
- public void setTaskParamMap(Map<String, String> taskParamMap) {
- this.taskParamMap = taskParamMap;
- }
-
- public int getTimeout() {
- return timeout;
- }
-
- public void setTimeout(int timeout) {
- this.timeout = timeout;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public long getCode() {
- return code;
- }
-
- public void setCode(long code) {
- this.code = code;
- }
-
- public int getVersion() {
- return version;
- }
-
- public void setVersion(int version) {
- this.version = version;
- }
-
- public long getProjectCode() {
- return projectCode;
- }
-
- public void setProjectCode(long projectCode) {
- this.projectCode = projectCode;
- }
-
- public TaskType getTaskType() {
- return taskType;
- }
-
- public void setTaskType(TaskType taskType) {
- this.taskType = taskType;
- }
-
- public Priority getTaskPriority() {
- return taskPriority;
- }
-
- public void setTaskPriority(Priority taskPriority) {
- this.taskPriority = taskPriority;
- }
-
- public String getWorkerGroup() {
- return workerGroup;
- }
-
- public void setWorkerGroup(String workerGroup) {
- this.workerGroup = workerGroup;
- }
-
- public int getFailRetryTimes() {
- return failRetryTimes;
- }
-
- public void setFailRetryTimes(int failRetryTimes) {
- this.failRetryTimes = failRetryTimes;
- }
-
- public int getFailRetryInterval() {
- return failRetryInterval;
- }
-
- public void setFailRetryInterval(int failRetryInterval) {
- this.failRetryInterval = failRetryInterval;
- }
-
- public TaskTimeoutStrategy getTaskTimeoutStrategy() {
- return taskTimeoutStrategy;
- }
-
- public void setTaskTimeoutStrategy(TaskTimeoutStrategy taskTimeoutStrategy) {
- this.taskTimeoutStrategy = taskTimeoutStrategy;
+ public TaskDefinitionLog() {
+ super();
+ }
+
+ public TaskDefinitionLog(TaskDefinition taskDefinition) {
+ super();
+ this.setId(taskDefinition.getId());
+ this.setCode(taskDefinition.getCode());
+ this.setVersion(taskDefinition.getVersion());
+ this.setName(taskDefinition.getName());
+ this.setDescription(taskDefinition.getDescription());
+ this.setUserId(taskDefinition.getUserId());
+ this.setUserName(taskDefinition.getUserName());
+ this.setWorkerGroup(taskDefinition.getWorkerGroup());
+ this.setProjectCode(taskDefinition.getProjectCode());
+ this.setProjectName(taskDefinition.getProjectName());
+ this.setResourceIds(taskDefinition.getResourceIds());
+ this.setTaskParams(taskDefinition.getTaskParams());
+ this.setTaskParamList(taskDefinition.getTaskParamList());
+ this.setTaskParamMap(taskDefinition.getTaskParamMap());
+ this.setTaskPriority(taskDefinition.getTaskPriority());
+ this.setTaskTimeoutStrategy(taskDefinition.getTaskTimeoutStrategy());
+ this.setTaskType(taskDefinition.getTaskType());
+ this.setTimeout(taskDefinition.getTimeout());
+ this.setTimeoutFlag(taskDefinition.getTimeoutFlag());
+ this.setUpdateTime(taskDefinition.getUpdateTime());
+ this.setCreateTime(taskDefinition.getCreateTime());
+ this.setFailRetryInterval(taskDefinition.getFailRetryInterval());
+ this.setFailRetryTimes(taskDefinition.getFailRetryTimes());
+ this.setFlag(taskDefinition.getFlag());
}
public int getOperator() {
@@ -379,41 +86,4 @@ public class TaskDefinitionLog {
public void setOperateTime(Date operateTime) {
this.operateTime = operateTime;
}
-
- public TimeoutFlag getTimeoutFlag() {
- return timeoutFlag;
- }
-
- public void setTimeoutFlag(TimeoutFlag timeoutFlag) {
- this.timeoutFlag = timeoutFlag;
- }
-
- public String getResourceIds() {
- return resourceIds;
- }
-
- public void setResourceIds(String resourceIds) {
- this.resourceIds = resourceIds;
- }
-
- public void set(TaskDefinition taskDefinition) {
- this.code = taskDefinition.getCode();
- this.name = taskDefinition.getName();
- this.version = taskDefinition.getVersion();
- this.description = taskDefinition.getDescription();
- this.projectCode = taskDefinition.getProjectCode();
- this.userId = taskDefinition.getUserId();
- this.taskType = taskDefinition.getTaskType();
- this.taskParams = taskDefinition.getTaskParams();
- this.flag = taskDefinition.getFlag();
- this.taskPriority = taskDefinition.getTaskPriority();
- this.workerGroup = taskDefinition.getWorkerGroup();
- this.failRetryTimes = taskDefinition.getFailRetryTimes();
- this.failRetryInterval = taskDefinition.getFailRetryInterval();
- this.timeoutFlag = taskDefinition.getTimeoutFlag();
- this.taskTimeoutStrategy = taskDefinition.getTaskTimeoutStrategy();
- this.timeout = taskDefinition.getTimeout();
- this.createTime = taskDefinition.getCreateTime();
- this.updateTime = taskDefinition.getUpdateTime();
- }
}
diff --git a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapperTest.java b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapperTest.java
new file mode 100644
index 0000000..3e471cb
--- /dev/null
+++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionLogMapperTest.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dolphinscheduler.dao.mapper;
+
+import org.apache.dolphinscheduler.common.enums.TaskType;
+import org.apache.dolphinscheduler.dao.entity.TaskDefinitionLog;
+
+import java.util.Date;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.transaction.annotation.Transactional;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@Transactional
+@Rollback(true)
+public class TaskDefinitionLogMapperTest {
+
+
+ @Autowired
+ TaskDefinitionLogMapper taskDefinitionLogMapper;
+
+ public TaskDefinitionLog insertOne() {
+ TaskDefinitionLog taskDefinition = new TaskDefinitionLog();
+ taskDefinition.setCode(888888L);
+ taskDefinition.setName("unit-test");
+ taskDefinition.setProjectCode(111111L);
+ taskDefinition.setTaskType(TaskType.SHELL);
+ taskDefinition.setUserId(99);
+ taskDefinition.setVersion(1);
+ taskDefinition.setCreateTime(new Date());
+ taskDefinition.setUpdateTime(new Date());
+ taskDefinitionLogMapper.insert(taskDefinition);
+ return taskDefinition;
+ }
+
+ @Test
+ public void testInsert() {
+ TaskDefinitionLog taskDefinitionLog = insertOne();
+ Assert.assertNotEquals(taskDefinitionLog.getId(), 0);
+ }
+}
diff --git a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapperTest.java b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapperTest.java
new file mode 100644
index 0000000..b891cef
--- /dev/null
+++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskDefinitionMapperTest.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dolphinscheduler.dao.mapper;
+
+import org.apache.dolphinscheduler.common.enums.TaskType;
+import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
+
+import java.util.Date;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.transaction.annotation.Transactional;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@Transactional
+@Rollback(true)
+public class TaskDefinitionMapperTest {
+
+ @Autowired
+ TaskDefinitionMapper taskDefinitionMapper;
+
+ public TaskDefinition insertOne() {
+ TaskDefinition taskDefinition = new TaskDefinition();
+ taskDefinition.setCode(888888L);
+ taskDefinition.setName("unit-test");
+ taskDefinition.setProjectCode(111111L);
+ taskDefinition.setTaskType(TaskType.SHELL);
+ taskDefinition.setUserId(99);
+ taskDefinition.setVersion(1);
+ taskDefinition.setCreateTime(new Date());
+ taskDefinition.setUpdateTime(new Date());
+ taskDefinitionMapper.insert(taskDefinition);
+ return taskDefinition;
+ }
+
+ @Test
+ public void testInsert() {
+ TaskDefinition taskDefinition = insertOne();
+ Assert.assertNotEquals(taskDefinition.getId(), 0);
+ }
+}
diff --git a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
index 3eb6923..01df13c 100644
--- a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
+++ b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
@@ -404,10 +404,7 @@ public class ProcessService {
* covert log to process definition
*/
public ProcessDefinition convertFromLog(ProcessDefinitionLog processDefinitionLog) {
- ProcessDefinition definition = null;
- if (null != processDefinitionLog) {
- definition = JSONUtils.parseObject(JSONUtils.toJsonString(processDefinitionLog), ProcessDefinition.class);
- }
+ ProcessDefinition definition = processDefinitionLog;
if (null != definition) {
definition.setId(0);
}
@@ -2130,8 +2127,7 @@ public class ProcessService {
return Constants.EXIT_CODE_FAILURE;
}
- ProcessDefinition tmpDefinition = JSONUtils.parseObject(JSONUtils.toJsonString(processDefinitionLog),
- ProcessDefinition.class);
+ ProcessDefinition tmpDefinition = processDefinitionLog;
tmpDefinition.setId(processDefinition.getId());
tmpDefinition.setReleaseState(ReleaseState.OFFLINE);
tmpDefinition.setFlag(Flag.YES);
@@ -2153,8 +2149,7 @@ public class ProcessService {
}
List<ProcessTaskRelationLog> processTaskRelationLogList = processTaskRelationLogMapper.queryByProcessCodeAndVersion(processDefinition.getCode(), processDefinition.getVersion());
for (ProcessTaskRelationLog processTaskRelationLog : processTaskRelationLogList) {
- ProcessTaskRelation processTaskRelation = JSONUtils.parseObject(JSONUtils.toJsonString(processTaskRelationLog),
- ProcessTaskRelation.class);
+ ProcessTaskRelation processTaskRelation = processTaskRelationLog;
processTaskRelationMapper.insert(processTaskRelation);
}
}
@@ -2178,8 +2173,7 @@ public class ProcessService {
setTaskFromTaskNode(taskNode, taskDefinition);
int update = taskDefinitionMapper.updateById(taskDefinition);
// save task definition log
- TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog();
- taskDefinitionLog.set(taskDefinition);
+ TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(taskDefinition);
taskDefinitionLog.setOperator(operator.getId());
taskDefinitionLog.setOperateTime(now);
int insert = taskDefinitionLogMapper.insert(taskDefinitionLog);
@@ -2314,25 +2308,27 @@ public class ProcessService {
List<String> depList = taskNode.getDepList();
if (CollectionUtils.isNotEmpty(depList)) {
for (String preTaskName : depList) {
- builderRelationList.add(new ProcessTaskRelation("",// todo relation name
+ builderRelationList.add(new ProcessTaskRelation("",
processDefinition.getVersion(),
projectCode,
processDefinition.getCode(),
taskNameAndCode.get(preTaskName),
taskNameAndCode.get(taskNode.getName()),
- ConditionType.of("none"), // todo conditionType
+ ConditionType.of("none"),
taskNode.getConditionResult(),
now,
now));
}
} else {
- builderRelationList.add(new ProcessTaskRelation("",// todo relation name
+ // todo relation name
+ builderRelationList.add(new ProcessTaskRelation("",
processDefinition.getVersion(),
projectCode,
processDefinition.getCode(),
0L,
taskNameAndCode.get(taskNode.getName()),
- ConditionType.of("none"), // todo conditionType
+ // todo conditionType
+ ConditionType.of("none"),
taskNode.getConditionResult(),
now,
now));
@@ -2341,8 +2337,7 @@ public class ProcessService {
for (ProcessTaskRelation processTaskRelation : builderRelationList) {
processTaskRelationMapper.insert(processTaskRelation);
// save process task relation log
- ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog();
- processTaskRelationLog.set(processTaskRelation);
+ ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(processTaskRelation);
processTaskRelationLog.setOperator(operator.getId());
processTaskRelationLog.setOperateTime(now);
processTaskRelationLogMapper.insert(processTaskRelationLog);
@@ -2359,9 +2354,7 @@ public class ProcessService {
setTaskFromTaskNode(taskNode, taskDefinition);
// save the new task definition
int insert = taskDefinitionMapper.insert(taskDefinition);
- // save task definition log
- TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog();
- taskDefinitionLog.set(taskDefinition);
+ TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(taskDefinition);
taskDefinitionLog.setOperator(operator.getId());
taskDefinitionLog.setOperateTime(now);
int logInsert = taskDefinitionLogMapper.insert(taskDefinitionLog);
@@ -2410,7 +2403,7 @@ public class ProcessService {
processVersion);
List<ProcessTaskRelation> processTaskRelations = new ArrayList<>();
for (ProcessTaskRelationLog processTaskRelationLog : taskRelationLogs) {
- processTaskRelations.add(JSONUtils.parseObject(JSONUtils.toJsonString(processTaskRelationLog), ProcessTaskRelation.class));
+ processTaskRelations.add(processTaskRelationLog);
}
return processTaskRelations;
}