@Test public void shouldSetArtifactCleanupOptOutAttribute() throws Exception{ StageConfig config = new StageConfig(); assertThat(config.isArtifactCleanupProhibited(), is(false)); config.setConfigAttributes(Collections.singletonMap(StageConfig.ARTIFACT_CLEANUP_PROHIBITED, "1")); assertThat(config.isArtifactCleanupProhibited(), is(true)); config.setConfigAttributes(new HashMap()); assertThat(config.isArtifactCleanupProhibited(), is(true)); config.setConfigAttributes(Collections.singletonMap(StageConfig.ARTIFACT_CLEANUP_PROHIBITED, "0")); assertThat(config.isArtifactCleanupProhibited(), is(false)); }
@Override public boolean isArtifactCleanupProhibited(String pipelineName, String stageName) { if (!hasStageConfigNamed(new CaseInsensitiveString(pipelineName), new CaseInsensitiveString(stageName), true)) { return false; } StageConfig stageConfig = stageConfigByName(new CaseInsensitiveString(pipelineName), new CaseInsensitiveString(stageName)); return stageConfig.isArtifactCleanupProhibited(); }
+ "</stage>\n"; StageConfig stage = xmlLoader.fromXmlPartial(stageXmlPartial, StageConfig.class); assertThat(stage.isArtifactCleanupProhibited(), is(true)); + "</stage>\n"; stage = xmlLoader.fromXmlPartial(stageXmlPartial, StageConfig.class); assertThat(stage.isArtifactCleanupProhibited(), is(false)); + "</stage>\n"; stage = xmlLoader.fromXmlPartial(stageXmlPartial, StageConfig.class); assertThat(stage.isArtifactCleanupProhibited(), is(false));
private Object flushArtifactCleanupProhibitions() { List<StageArtifactCleanupProhibited> existingEntries = (List<StageArtifactCleanupProhibited>) getHibernateTemplate().find("from StageArtifactCleanupProhibited"); HashMap<Map.Entry<String, String>, StageArtifactCleanupProhibited> persistentStateMap = new HashMap<>(); for (StageArtifactCleanupProhibited persistentState : existingEntries) { persistentState.setProhibited(false); persistentStateMap.put(new AbstractMap.SimpleEntry<>(persistentState.getPipelineName(), persistentState.getStageName()), persistentState); } List<PipelineConfig> pipelineConfigs = goConfigService.currentCruiseConfig().allPipelines(); for (PipelineConfig pipelineConfig : pipelineConfigs) { for (StageConfig stageConfig : pipelineConfig) { StageArtifactCleanupProhibited stageArtifactCleanupProhibited = persistentStateMap.get(new AbstractMap.SimpleEntry<>(CaseInsensitiveString.str(pipelineConfig.name()), CaseInsensitiveString.str(stageConfig.name()))); if (stageArtifactCleanupProhibited == null) { stageArtifactCleanupProhibited = new StageArtifactCleanupProhibited(CaseInsensitiveString.str(pipelineConfig.name()), CaseInsensitiveString.str(stageConfig.name())); } stageArtifactCleanupProhibited.setProhibited(stageConfig.isArtifactCleanupProhibited()); getHibernateTemplate().saveOrUpdate(stageArtifactCleanupProhibited); } } return null; }
public static void toJSON(OutputWriter jsonWriter, StageConfig stageConfig) { if (!stageConfig.errors().isEmpty()) { jsonWriter.addChild("errors", errorWriter -> { new ErrorGetter(new HashMap<>()).toJSON(errorWriter, stageConfig); }); } jsonWriter.addIfNotNull("name", stageConfig.name()); jsonWriter.add("fetch_materials", stageConfig.isFetchMaterials()); jsonWriter.add("clean_working_directory", stageConfig.isCleanWorkingDir()); jsonWriter.add("never_cleanup_artifacts", stageConfig.isArtifactCleanupProhibited()); jsonWriter.addChild("approval", approvalWriter -> ApprovalRepresenter.toJSON(approvalWriter, stageConfig.getApproval())); jsonWriter.addChildList("environment_variables", envVarsWriter -> EnvironmentVariableRepresenter.toJSON(envVarsWriter, stageConfig.getVariables())); jsonWriter.addChildList("jobs", getJobs(stageConfig)); }
public static void toJSON(OutputWriter jsonWriter, StageConfig stageConfig) { if (!stageConfig.errors().isEmpty()) { jsonWriter.addChild("errors", errorWriter -> { new ErrorGetter(new HashMap<>()).toJSON(errorWriter, stageConfig); }); } jsonWriter.addIfNotNull("name", stageConfig.name()); jsonWriter.add("fetch_materials", stageConfig.isFetchMaterials()); jsonWriter.add("clean_working_directory", stageConfig.isCleanWorkingDir()); jsonWriter.add("never_cleanup_artifacts", stageConfig.isArtifactCleanupProhibited()); jsonWriter.addChild("approval", approvalWriter -> ApprovalRepresenter.toJSON(approvalWriter, stageConfig.getApproval())); jsonWriter.addChildList("environment_variables", envVarsWriter -> EnvironmentVariableRepresenter.toJSON(envVarsWriter, stageConfig.getVariables())); jsonWriter.addChildList("jobs", getJobs(stageConfig)); }
CRStage stageToCRStage(StageConfig stageConfig) { CRStage crStage = new CRStage(stageConfig.name().toString()); for(JobConfig job: stageConfig.getJobs()) { crStage.addJob(jobToCRJob(job)); } for (EnvironmentVariableConfig var: stageConfig.getVariables()) { crStage.addEnvironmentVariable(environmentVariableConfigToCREnvironmentVariable(var)); } crStage.setApproval(approvalToCRApproval(stageConfig.getApproval())); crStage.setFetchMaterials(stageConfig.isFetchMaterials()); crStage.setArtifactCleanupProhibited(stageConfig.isArtifactCleanupProhibited()); crStage.setCleanWorkingDir(stageConfig.isCleanWorkingDir()); return crStage; }