public Map<String, Object> inverseTransform(Map<String, Object> stage) { if (stage == null) { return stage; } String stageName = (String) stage.get(JSON_STAGE_NAME_FIELD); Map<String, Object> inverseStage = new LinkedTreeMap<>(); Map<String, Object> stageData = new LinkedTreeMap<>(); addOptionalValue(stageData, stage, JSON_STAGE_FETCH_FIELD, YAML_STAGE_FETCH_FIELD); addOptionalValue(stageData, stage, JSON_STAGE_NEVER_CLEAN_FIELD, YAML_STAGE_KEEP_ARTIFACTS_FIELD); addOptionalValue(stageData, stage, JSON_STAGE_CLEAN_WORK_FIELD, YAML_STAGE_CLEAN_WORK_FIELD); addInverseApproval(stageData, stage); Map<String, Object> yamlEnvVariables = environmentTransform.inverseTransform((List<Map<String, Object>>) stage.get(JSON_ENV_VAR_FIELD)); if (yamlEnvVariables != null && yamlEnvVariables.size() > 0) stageData.putAll(yamlEnvVariables); addInverseJobs(stageData, (List<Map<String, Object>>) stage.get(JSON_STAGE_JOBS_FIELD)); inverseStage.put(stageName, stageData); return inverseStage; }
public Map<String, Object> inverseTransform(Map<String, Object> pipeline) { Map<String, Object> result = new LinkedTreeMap<>(); Map<String, Object> pipelineMap = new LinkedTreeMap<>(); String name = (String) pipeline.get(JSON_PIPELINE_NAME_FIELD); pipelineMap.put(YAML_PIPELINE_GROUP_FIELD, pipeline.get(JSON_PIPELINE_GROUP_FIELD)); addOptionalValue(pipelineMap, pipeline, JSON_PIPELINE_TEMPLATE_FIELD, YAML_PIPELINE_TEMPLATE_FIELD); addOptionalValue(pipelineMap, pipeline, JSON_PIPELINE_LABEL_TEMPLATE_FIELD, YAML_PIPELINE_LABEL_TEMPLATE_FIELD); addOptionalValue(pipelineMap, pipeline, JSON_PIPELINE_PIPE_LOCKING_FIELD, YAML_PIPELINE_PIPE_LOCKING_FIELD); addOptionalValue(pipelineMap, pipeline, JSON_PIPELINE_LOCK_BEHAVIOR_FIELD, YAML_PIPELINE_LOCK_BEHAVIOR_FIELD); addOptionalValue(pipelineMap, pipeline, JSON_PIPELINE_TRACKING_TOOL_FIELD, YAML_PIPELINE_TRACKING_TOOL_FIELD); addInverseTimer(pipelineMap, pipeline); Map<String, Object> yamlEnvVariables = variablesTransform.inverseTransform((List<Map<String, Object>>) pipeline.get(JSON_ENV_VAR_FIELD)); if (yamlEnvVariables != null && yamlEnvVariables.size() > 0) pipelineMap.putAll(yamlEnvVariables); addInverseMaterials(pipelineMap, (List<Map<String, Object>>) pipeline.get(JSON_PIPELINE_MATERIALS_FIELD)); if (!pipelineMap.containsKey(YAML_PIPELINE_TEMPLATE_FIELD)) { addInverseStages(pipelineMap, (List<Map<String, Object>>) pipeline.get(JSON_PIPELINE_STAGES_FIELD)); } Map<String, Object> params = parameterTransform.inverseTransform((List<Map<String, Object>>) pipeline.get("parameters")); if (params != null && !params.isEmpty()) { pipelineMap.putAll(params); } result.put(name, pipelineMap); return result; }
public Map<String, Object> inverseTransform(Map<String, Object> job) { if (job == null) return null; String jobName = (String) job.get(JSON_JOB_NAME_FIELD); Map<String, Object> inverseJob = new LinkedTreeMap<>(); Map<String, Object> jobData = new LinkedTreeMap<>(); addOptionalInt(jobData, job, JSON_JOB_TIMEOUT_FIELD, YAML_JOB_TIMEOUT_FIELD); addInverseRunInstances(jobData, job); Map<String, Object> yamlEnvVariables = environmentTransform.inverseTransform((List<Map<String, Object>>) job.get(JSON_ENV_VAR_FIELD)); if (yamlEnvVariables != null && yamlEnvVariables.size() > 0) jobData.putAll(yamlEnvVariables); addInverseTabs(jobData, job); addOptionalList(jobData, job, JSON_JOB_RESOURCES_FIELD, YAML_JOB_RESOURCES_FIELD); addOptionalValue(jobData, job, JSON_JOB_ELASTIC_PROFILE_FIELD, YAML_JOB_ELASTIC_PROFILE_FIELD); addInverseArtifacts(jobData, job); addInverseProperties(jobData, job); addInverseTasks(jobData, job); inverseJob.put(jobName, jobData); return inverseJob; }
private void testInverseTransform(String caseFile, String expectedFile) throws IOException { String expectedObject = loadString("parts/env_vars/" + expectedFile + ".yaml"); Map<String, Object> actual = parser.inverseTransform(readJsonArrayGson("parts/env_vars/" + caseFile + ".json")); assertYamlEquivalent(expectedObject, YamlUtils.dump(actual)); } }