Browse Source
* first add feature_8373 * fix code smell * add blank line * fix some problems * fix unit test error3.0.0/version-upgrade
xiangzihao
3 years ago
committed by
GitHub
15 changed files with 443 additions and 32 deletions
@ -0,0 +1,49 @@ |
|||||||
|
/* |
||||||
|
* 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.common.enums; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.EnumValue; |
||||||
|
|
||||||
|
/** |
||||||
|
* task node depend type |
||||||
|
*/ |
||||||
|
public enum ComplementDependentMode { |
||||||
|
/** |
||||||
|
* 0 off mode |
||||||
|
* 1 run complement data with all dependent process |
||||||
|
*/ |
||||||
|
OFF_MODE(0,"off mode"), |
||||||
|
ALL_DEPENDENT(1,"all dependent"); |
||||||
|
|
||||||
|
ComplementDependentMode(int code, String desc) { |
||||||
|
this.code = code; |
||||||
|
this.desc = desc; |
||||||
|
} |
||||||
|
|
||||||
|
@EnumValue |
||||||
|
private final int code; |
||||||
|
private final String desc; |
||||||
|
|
||||||
|
public int getCode() { |
||||||
|
return code; |
||||||
|
} |
||||||
|
|
||||||
|
public String getDesc() { |
||||||
|
return desc; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,149 @@ |
|||||||
|
/* |
||||||
|
* 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.entity; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.common.Constants; |
||||||
|
import org.apache.dolphinscheduler.common.enums.CycleEnum; |
||||||
|
import org.apache.dolphinscheduler.common.model.DependentItem; |
||||||
|
import org.apache.dolphinscheduler.common.model.DependentTaskModel; |
||||||
|
import org.apache.dolphinscheduler.common.task.dependent.DependentParameters; |
||||||
|
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* dependent process definition |
||||||
|
*/ |
||||||
|
public class DependentProcessDefinition { |
||||||
|
|
||||||
|
/** |
||||||
|
* process definition code |
||||||
|
*/ |
||||||
|
private long processDefinitionCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* process definition name |
||||||
|
*/ |
||||||
|
private String processDefinitionName; |
||||||
|
|
||||||
|
/** |
||||||
|
* task definition name |
||||||
|
*/ |
||||||
|
private long taskDefinitionCode; |
||||||
|
|
||||||
|
/** |
||||||
|
* task definition params |
||||||
|
*/ |
||||||
|
private String taskParams; |
||||||
|
|
||||||
|
/** |
||||||
|
* schedule worker group |
||||||
|
*/ |
||||||
|
private String workerGroup; |
||||||
|
|
||||||
|
/** |
||||||
|
* get dependent cycle |
||||||
|
* @return CycleEnum |
||||||
|
*/ |
||||||
|
public CycleEnum getDependentCycle() { |
||||||
|
DependentParameters dependentParameters = this.getDependentParameters(); |
||||||
|
List<DependentTaskModel> dependentTaskModelList = dependentParameters.getDependTaskList(); |
||||||
|
|
||||||
|
for (DependentTaskModel dependentTaskModel : dependentTaskModelList) { |
||||||
|
List<DependentItem> dependentItemList = dependentTaskModel.getDependItemList(); |
||||||
|
for (DependentItem dependentItem : dependentItemList) { |
||||||
|
if (this.getProcessDefinitionCode() == dependentItem.getDefinitionCode()) { |
||||||
|
return cycle2CycleEnum(dependentItem.getCycle()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return CycleEnum.DAY; |
||||||
|
} |
||||||
|
|
||||||
|
public CycleEnum cycle2CycleEnum(String cycle) { |
||||||
|
CycleEnum cycleEnum = null; |
||||||
|
|
||||||
|
switch (cycle) { |
||||||
|
case "day": |
||||||
|
cycleEnum = CycleEnum.DAY; |
||||||
|
break; |
||||||
|
case "hour": |
||||||
|
cycleEnum = CycleEnum.HOUR; |
||||||
|
break; |
||||||
|
case "week": |
||||||
|
cycleEnum = CycleEnum.WEEK; |
||||||
|
break; |
||||||
|
case "month": |
||||||
|
cycleEnum = CycleEnum.MONTH; |
||||||
|
break; |
||||||
|
default: |
||||||
|
break; |
||||||
|
} |
||||||
|
return cycleEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public DependentParameters getDependentParameters() { |
||||||
|
return JSONUtils.parseObject(getDependence(), DependentParameters.class); |
||||||
|
} |
||||||
|
|
||||||
|
public String getDependence() { |
||||||
|
return JSONUtils.getNodeString(this.taskParams, Constants.DEPENDENCE); |
||||||
|
} |
||||||
|
|
||||||
|
public String getProcessDefinitionName() { |
||||||
|
return this.processDefinitionName; |
||||||
|
} |
||||||
|
|
||||||
|
public void setprocessDefinitionName(String name) { |
||||||
|
this.processDefinitionName = name; |
||||||
|
} |
||||||
|
|
||||||
|
public long getProcessDefinitionCode() { |
||||||
|
return this.processDefinitionCode; |
||||||
|
} |
||||||
|
|
||||||
|
public void setProcessDefinitionCode(long code) { |
||||||
|
this.processDefinitionCode = code; |
||||||
|
} |
||||||
|
|
||||||
|
public long getTaskDefinitionCode() { |
||||||
|
return this.taskDefinitionCode; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTaskDefinitionCode(long code) { |
||||||
|
this.taskDefinitionCode = code; |
||||||
|
} |
||||||
|
|
||||||
|
public String getTaskParams() { |
||||||
|
return this.taskParams; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTaskParams(String taskParams) { |
||||||
|
this.taskParams = taskParams; |
||||||
|
} |
||||||
|
|
||||||
|
public String getWorkerGroup() { |
||||||
|
return this.workerGroup; |
||||||
|
} |
||||||
|
|
||||||
|
public void setWorkerGroup(String workerGroup) { |
||||||
|
this.workerGroup = workerGroup; |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue