@Override public PipelineConfig remove(int i) { if(i < 0) throw new IndexOutOfBoundsException(); int start =0; for (PipelineConfigs part : this.parts) { int end = start + part.size(); if(i < end) return part.remove(i - start); start = end; } throw new IndexOutOfBoundsException(); }
public void deletePipeline(PipelineConfig pipelineConfig) { for (PipelineConfigs group : this) { if(group.hasPipeline(pipelineConfig.name())){ group.remove(pipelineConfig); return; } } }
@Override public void remove(PipelineConfig pipelineConfig) { PipelineConfigs part = this.getPartWithPipeline(pipelineConfig.name()); if(!isEditable(part)) throw bomb("Cannot remove pipeline fron non-editable configuration source"); part.remove(pipelineConfig); }
@Test public void shouldNotCloneAllPipelineConfigs() { BasicCruiseConfig config = GoConfigMother.configWithPipelines("p1", "p2"); //to prime cache config.getAllPipelineConfigs(); //change state config.findGroup("defaultGroup").remove(0); BasicCruiseConfig cloned = new GoConfigCloner().deepClone(config); assertThat(ReflectionUtil.getField(config, "allPipelineConfigs"), is(not((nullValue())))); assertThat(ReflectionUtil.getField(cloned, "allPipelineConfigs"), is(nullValue())); assertThat(cloned.getAllPipelineConfigs().size(), is(1)); }
@Test public void shouldNotClonePipelineNameToConfigMap() { BasicCruiseConfig config = GoConfigMother.configWithPipelines("p1", "p2"); //to prime cache config.pipelineConfigByName(new CaseInsensitiveString("p1")); //change state config.findGroup("defaultGroup").remove(0); BasicCruiseConfig cloned = new GoConfigCloner().deepClone(config); assertThat(ReflectionUtil.getField(config, "pipelineNameToConfigMap"), is(not((nullValue())))); assertThat(ReflectionUtil.getField(cloned, "pipelineNameToConfigMap"), is(nullValue())); assertThat(cloned.pipelineConfigsAsMap().size(), is(1)); }
@Test public void shouldRemovePipelineAtIndex() { PipelineConfigs group = createWithPipeline(PipelineConfigMother.pipelineConfig("pipeline0")); PipelineConfig p1 = PipelineConfigMother.pipelineConfig("pipeline1"); group.add(1,p1); group.remove(0); assertThat(group.get(0), is(p1)); assertThat(group.size(), is(1)); }
@Test public void shouldRemovePipeline() { PipelineConfig p0 = PipelineConfigMother.pipelineConfig("pipeline0"); PipelineConfigs group = createWithPipeline(p0); PipelineConfig p1 = PipelineConfigMother.pipelineConfig("pipeline1"); group.add(1,p1); group.remove(p0); assertThat(group.get(0),is(p1)); assertThat(group.size(), is(1)); }
@Test public void shouldNotCloneAllTemplatesWithAssociatedPipelines() { PipelineTemplateConfig template = PipelineTemplateConfigMother.createTemplate("template-1"); BasicCruiseConfig config = GoConfigMother.defaultCruiseConfig(); config.addTemplate(template); config.addPipelineWithoutValidation("g1", PipelineConfigMother.pipelineConfigWithTemplate("p1", template.name().toString())); //to prime cache config.templatesWithAssociatedPipelines(); //change state config.findGroup("g1").remove(0); config.getTemplates().removeTemplateNamed(template.name()); BasicCruiseConfig cloned = new GoConfigCloner().deepClone(config); assertThat(ReflectionUtil.getField(config, "allTemplatesWithAssociatedPipelines"), is(not((nullValue())))); assertThat(ReflectionUtil.getField(cloned, "allTemplatesWithAssociatedPipelines"), is(nullValue())); assertThat(cloned.templatesWithAssociatedPipelines().size(), is(0)); }