public static AbstractParameterConverter create()

in client/migrationx/migrationx-transformer/src/main/java/com/aliyun/dataworks/migrationx/transformer/dataworks/converter/dolphinscheduler/v3/nodes/TaskConverterFactoryV3.java [47:101]


    public static AbstractParameterConverter create(
            DagData processMeta, TaskDefinition taskDefinition, DolphinSchedulerConverterContext converterContext) throws Throwable {

        TransformerContext.getCollector().incrementType(taskDefinition.getTaskType());

        if (Config.get().getTempTaskTypes().contains(taskDefinition.getTaskType())) {
            return new CustomParameterConverter(processMeta, taskDefinition, converterContext);
        }

        TaskType taskType;
        try {
            taskType = TaskType.of(taskDefinition.getTaskType());
        } catch (Exception e) {
            markUnSupportedTask(processMeta.getProcessDefinition(), taskDefinition);
            throw new UnSupportedTypeException(taskDefinition.getTaskType());
        }

        switch (taskType) {
            case PROCEDURE:
                return new ProcedureParameterConverter(processMeta, taskDefinition, converterContext);
            case SQL:
                return new SqlParameterConverter(processMeta, taskDefinition, converterContext);
            case PYTHON:
                return new PythonParameterConverter(processMeta, taskDefinition, converterContext);
            case CONDITIONS:
                return new ConditionsParameterConverter(processMeta, taskDefinition, converterContext);
            case SUB_PROCESS:
                return new SubProcessParameterConverter(processMeta, taskDefinition, converterContext);
            case DEPENDENT:
                return new DependentParameterConverter(processMeta, taskDefinition, converterContext);
            case SHELL:
                return new ShellParameterConverter(processMeta, taskDefinition, converterContext);
            case SWITCH:
                return new SwitchParameterConverter(processMeta, taskDefinition, converterContext);
            case HTTP:
                return new HttpParameterConverter(processMeta, taskDefinition, converterContext);
            case SPARK:
                return new SparkParameterConverter(processMeta, taskDefinition, converterContext);
            case MR:
                return new MrParameterConverter(processMeta, taskDefinition, converterContext);
            case HIVECLI:
                return new HiveCliParameterConverter(processMeta, taskDefinition, converterContext);
            case DATAX:
                return new DataxParameterConverter(processMeta, taskDefinition, converterContext);
            case SQOOP:
                return new SqoopParameterConverter(processMeta, taskDefinition, converterContext);
            case FLINK:
                return new FlinkParameterConverter(processMeta, taskDefinition, converterContext);
            case DLC:
                return new DLCParameterConverter(processMeta, taskDefinition, converterContext);
            default:
                markUnSupportedTask(processMeta.getProcessDefinition(), taskDefinition);
                throw new UnSupportedTypeException(taskDefinition.getTaskType());
        }
    }