@Override public List<CaseInsensitiveString> getPipelineNames() { List<CaseInsensitiveString> allNames = new ArrayList<>(); for (EnvironmentConfig part : this) { for (CaseInsensitiveString pipe : part.getPipelineNames()) { if (!allNames.contains(pipe)) allNames.add(pipe); } } return allNames; }
private void validateDuplicatePipelines(ValidationContext validationContext) { ArrayList<CaseInsensitiveString> allPipelines = new ArrayList<>(); for (EnvironmentConfig part : this) { for (CaseInsensitiveString pipelineName : part.getPipelineNames()) { if (allPipelines.contains(pipelineName)) { String message = String.format("Environment pipeline '%s' is defined more than once.", pipelineName); configErrors.add("pipeline", message); } else { allPipelines.add(pipelineName); } } } }
public List<CaseInsensitiveString> pipelinesFor(final CaseInsensitiveString environmentName) throws NoSuchEnvironmentException { return environments.named(environmentName).getPipelineNames(); }
@Override public boolean hasSamePipelinesAs(EnvironmentConfig other) { for (EnvironmentPipelineConfig pipeline : pipelines) { for (CaseInsensitiveString name : other.getPipelineNames()) { if (name.equals(pipeline.getName())) return true; } } return false; }
@Override public boolean hasSamePipelinesAs(EnvironmentConfig other) { for (CaseInsensitiveString pipeline : getPipelineNames()) { for (CaseInsensitiveString name : other.getPipelineNames()) { if (name.equals(pipeline)) return true; } } return false; }
@Test public void shouldUpdatePipelines() { environmentConfig.addPipeline(new CaseInsensitiveString("baz")); environmentConfig.setConfigAttributes(Collections.singletonMap(BasicEnvironmentConfig.PIPELINES_FIELD, Arrays.asList(Collections.singletonMap("name", "foo"), Collections.singletonMap("name", "bar")))); assertThat(environmentConfig.getPipelineNames(), is(Arrays.asList(new CaseInsensitiveString("foo"), new CaseInsensitiveString("bar")))); }
private GoDashboardEnvironment dashboardEnvironmentFor(EnvironmentConfig environment, DashboardFilter filter, Username user, Users allowedUsers, GoDashboardPipelines allPipelines) { GoDashboardEnvironment env = new GoDashboardEnvironment(environment.name().toString(), allowedUsers); environment.getPipelineNames().forEach(pipelineName -> { GoDashboardPipeline pipeline = allPipelines.find(pipelineName); if (null != pipeline && pipeline.canBeViewedBy(user.getUsername().toString()) && filter.isPipelineVisible(pipelineName)) { env.addPipeline(pipeline); } }); return env; }
@Override public boolean isValid(CruiseConfig preprocessedConfig) { for (PipelineConfig pipeline : preprocessedConfig.getAllPipelineConfigs()) { if(pipeline.materialConfigs().hasDependencyMaterial(pipelineConfig)){ this.result.unprocessableEntity("Cannot delete pipeline '" + pipelineConfig.name() + "' as pipeline '" + String.format("%s (%s)", pipeline.name(), pipeline.getOriginDisplayName()) + "' depends on it"); return false; } } for (EnvironmentConfig environment : preprocessedConfig.getEnvironments()) { if(environment.getPipelineNames().contains(pipelineConfig.name())){ this.result.unprocessableEntity("Cannot delete pipeline '" + pipelineConfig.name() + "' as it is present in environment '" + environment.name() + "'."); return false; } } return true; }
@Test public void shouldReturnPipelineNamesContainedInIt() throws Exception { environmentConfig.addPipeline(new CaseInsensitiveString("deployment")); environmentConfig.addPipeline(new CaseInsensitiveString("testing")); List<CaseInsensitiveString> pipelineNames = environmentConfig.getPipelineNames(); assertThat(pipelineNames.size(), is(2)); assertThat(pipelineNames, hasItem(new CaseInsensitiveString("deployment"))); assertThat(pipelineNames, hasItem(new CaseInsensitiveString("testing"))); }