private void setResources()

in client/migrationx/migrationx-transformer/src/main/java/com/aliyun/dataworks/migrationx/transformer/dataworks/converter/dolphinscheduler/v2/nodes/DolphinSchedulerV2Converter.java [118:191]


    private void setResources(DwWorkflow workflow) {
        if (workflow == null) {
            return;
        }

        String engineType = properties.getProperty(Constants.CONVERTER_TARGET_ENGINE_TYPE, "");
        CalcEngineType calcEngineType = CalcEngineType.valueOf(engineType);
        List<String> paths = new ArrayList<>();
        DataWorksTransformerConfig config = DataWorksTransformerConfig.getConfig();
        if (config != null) {
            paths.add(calcEngineType.getDisplayName(config.getLocale()));
            paths.add(LabelType.RESOURCE.getDisplayName(config.getLocale()));
        } else {
            paths.add(calcEngineType.getDisplayName(Locale.SIMPLIFIED_CHINESE));
            paths.add(LabelType.RESOURCE.getDisplayName(Locale.SIMPLIFIED_CHINESE));
        }

        String folder = Joiner.on(File.separator).join(paths);
        List<Resource> resources = new ArrayList<>();

        List<ResourceComponent> resourceComponents = dolphinSchedulerPackage.getResources();
        File dir = TransformerContext.getContext().getSourceDir();

        for (ResourceComponent component : resourceComponents) {
            File file = new File(dir.getAbsolutePath()
                    + File.separator + "resource" + File.separator + "resources"
                    + File.separator + component.getFileName());
            if (!file.exists()) {
                continue;
            }
            DwResource resource = new DwResource();
            resource.setName(component.getFileName());
            resource.setFolder(folder);
            if (component.getFileName().endsWith(".jar")) {
                if (CalcEngineType.EMR.equals(calcEngineType)) {
                    resource.setType(CodeProgramType.EMR_JAR.name());
                } else if (CalcEngineType.ODPS.equals(calcEngineType)) {
                    resource.setType(CodeProgramType.ODPS_JAR.name());
                } else {
                    continue;
                }
                resource.setExtend(SpecFileResourceType.JAR.name());
            } else if (component.getFileName().endsWith(".py")) {
                if (CalcEngineType.ODPS.equals(calcEngineType)) {
                    resource.setType(CodeProgramType.ODPS_PYTHON.name());
                } else {
                    continue;
                }
                resource.setExtend(SpecFileResourceType.PYTHON.name());
            } else if (component.getFileName().endsWith(".txt")) {
                if (CalcEngineType.EMR.equals(calcEngineType)) {
                    resource.setType(CodeProgramType.EMR_FILE.name());
                } else {
                    continue;
                }
                resource.setExtend(SpecFileResourceType.FILE.name());
            } else if (component.getFileName().endsWith(".sh")) {
                if (CalcEngineType.EMR.equals(calcEngineType)) {
                    resource.setType(CodeProgramType.EMR_FILE.name());
                } else if (CalcEngineType.ODPS.equals(calcEngineType)) {
                    resource.setType(CodeProgramType.ODPS_FILE.name());
                } else {
                    continue;
                }
                resource.setExtend(SpecFileResourceType.FILE.name());
            } else {
                continue;
            }
            resource.setLocalPath(file.getAbsolutePath());
            resources.add(resource);
        }

        workflow.getResources().addAll(resources);
    }