ruanwenjun commented on code in PR #16152:
URL: 
https://github.com/apache/dolphinscheduler/pull/16152#discussion_r1639159597


##########
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/condition/ConditionLogicTask.java:
##########
@@ -40,37 +38,34 @@
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-public class ConditionLogicTask extends BaseSyncLogicTask<DependentParameters> 
{
+public class ConditionLogicTask extends 
BaseSyncLogicTask<ConditionsParameters> {
 
     public static final String TASK_TYPE = "CONDITIONS";
 
     private final TaskInstanceDao taskInstanceDao;
     private final ProcessInstanceDao workflowInstanceDao;
 
+    private final TaskInstance taskInstance;
+
     public ConditionLogicTask(TaskExecutionContext taskExecutionContext,
-                              ProcessInstanceExecCacheManager 
processInstanceExecCacheManager,
+                              TaskInstance taskInstance,
                               TaskInstanceDao taskInstanceDao,
-                              ProcessInstanceDao workflowInstanceDao) throws 
LogicTaskInitializeException {
+                              ProcessInstanceDao workflowInstanceDao) {
         // todo: we need to change the parameter in front-end, so that we can 
directly use json to parse
-        super(taskExecutionContext,
-                
processInstanceExecCacheManager.getByProcessInstanceId(taskExecutionContext.getProcessInstanceId())
-                        
.getTaskInstance(taskExecutionContext.getTaskInstanceId())
-                        .orElseThrow(() -> new LogicTaskInitializeException(
-                                "Cannot find the task instance in workflow 
execute runnable"))
-                        .getDependency());
-        // todo:check the parameters, why we don't use conditionTask? 
taskInstance.getDependency();
+        super(taskExecutionContext, taskInstance.getConditionsParameters());
         this.taskInstanceDao = taskInstanceDao;
         this.workflowInstanceDao = workflowInstanceDao;
+        this.taskInstance = taskInstance;
     }
 
     @Override
     public void handle() {
         // calculate the conditionResult
         DependResult conditionResult = calculateConditionResult();
-        TaskExecutionStatus taskExecutionStatus =
-                (conditionResult == DependResult.SUCCESS) ? 
TaskExecutionStatus.SUCCESS : TaskExecutionStatus.FAILURE;
-        log.info("The condition result is {}, task instance statue will be: 
{}", conditionResult, taskExecutionStatus);
-        taskExecutionContext.setCurrentExecutionStatus(taskExecutionStatus);
+        log.info("The condition result is {}", conditionResult);
+        taskParameters.setConditionSuccess(conditionResult == 
DependResult.SUCCESS);
+        taskInstance.setConditionsParameters(taskParameters);
+        
taskExecutionContext.setCurrentExecutionStatus(TaskExecutionStatus.SUCCESS);

Review Comment:
   I find the doc is correct, we don't need to update it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to