use of com.thoughtworks.go.server.domain.user.DashboardFilter in project gocd by gocd.
the class DashboardControllerV4 method index.
public Object index(Request request, Response response) throws IOException {
if (!goDashboardService.hasEverLoadedCurrentState()) {
response.status(ACCEPTED);
return BEING_PROCESSED;
}
final String personalizationCookie = request.cookie(COOKIE_NAME);
final Long userId = currentUserId(request);
final Username userName = currentUsername();
final PipelineSelections personalization = pipelineSelectionsService.load(personalizationCookie, userId);
final DashboardFilter filter = personalization.namedFilter(getViewName(request));
final boolean allowEmpty = Toggles.isToggleOn(Toggles.ALLOW_EMPTY_PIPELINE_GROUPS_DASHBOARD) && "true".equalsIgnoreCase(request.queryParams("allowEmpty"));
List<GoDashboardPipelineGroup> pipelineGroups = goDashboardService.allPipelineGroupsForDashboard(filter, userName, allowEmpty);
List<GoDashboardEnvironment> environments = goDashboardService.allEnvironmentsForDashboard(filter, userName);
String etag = calcEtag(userName, pipelineGroups, environments);
if (fresh(request, etag)) {
return notModified(response);
}
setEtagHeader(response, etag);
return writerForTopLevelObject(request, response, outputWriter -> DashboardRepresenter.toJSON(outputWriter, new DashboardFor(pipelineGroups, environments, userName, personalization.etag())));
}
use of com.thoughtworks.go.server.domain.user.DashboardFilter in project gocd by gocd.
the class DashboardControllerV3 method index.
public Object index(Request request, Response response) throws IOException {
if (!goDashboardService.hasEverLoadedCurrentState()) {
response.status(ACCEPTED);
return BEING_PROCESSED;
}
final String personalizationCookie = request.cookie(COOKIE_NAME);
final Long userId = currentUserId(request);
final Username userName = currentUsername();
final PipelineSelections personalization = pipelineSelectionsService.load(personalizationCookie, userId);
final DashboardFilter filter = personalization.namedFilter(getViewName(request));
List<GoDashboardPipelineGroup> pipelineGroups = goDashboardService.allPipelineGroupsForDashboard(filter, userName);
List<GoDashboardEnvironment> environments = goDashboardService.allEnvironmentsForDashboard(filter, userName);
String etag = calcEtag(userName, pipelineGroups, environments);
if (fresh(request, etag)) {
return notModified(response);
}
setEtagHeader(response, etag);
return writerForTopLevelObject(request, response, outputWriter -> DashboardRepresenter.toJSON(outputWriter, new DashboardFor(pipelineGroups, environments, userName, personalization.etag())));
}
use of com.thoughtworks.go.server.domain.user.DashboardFilter in project gocd by gocd.
the class GoDashboardServiceTest method allEnvironmentsForDashboard_shouldRetrievePipelineGroupsBasedOnDashboardFilters.
@Test
public void allEnvironmentsForDashboard_shouldRetrievePipelineGroupsBasedOnDashboardFilters() {
DashboardFilter filter = new ExcludesFilter("foo", CaseInsensitiveString.list("pipeline2", "pipeline4"), Collections.emptySet());
configMother.addPipelineWithGroup(config, "group2", "pipeline4", "stage1A", "job1A1");
GoDashboardPipeline pipeline4 = pipeline("pipeline4", "group2");
configMother.addPipelineWithGroup(config, "group2", "pipeline3", "stage1A", "job1A1");
GoDashboardPipeline pipeline3 = pipeline("pipeline3", "group2");
configMother.addPipelineWithGroup(config, "group1", "pipeline2", "stage1A", "job1A1");
GoDashboardPipeline pipeline2 = pipeline("pipeline2", "group1");
configMother.addPipelineWithGroup(config, "group1", "pipeline1", "stage1A", "job1A1");
GoDashboardPipeline pipeline1 = pipeline("pipeline1", "group1");
addPipelinesToCache(pipeline1, pipeline2, pipeline3, pipeline4);
configMother.addEnvironmentConfig(config, "env1", "pipeline1", "pipeline2");
configMother.addEnvironmentConfig(config, "env2", "pipeline3", "pipeline4");
List<GoDashboardEnvironment> envs = allEnvironmentsForDashboard(filter, new Username("user1"));
assertThat(envs.size(), is(2));
assertThat(envs.get(0).pipelines(), contains("pipeline1"));
assertThat(envs.get(1).pipelines(), contains("pipeline3"));
}
use of com.thoughtworks.go.server.domain.user.DashboardFilter in project gocd by gocd.
the class GoDashboardServiceTest method allPipelineGroupsForDashboard_shouldRetrievePipelineGroupsBasedOnDashboardFilters.
@Test
public void allPipelineGroupsForDashboard_shouldRetrievePipelineGroupsBasedOnDashboardFilters() {
DashboardFilter filter = new ExcludesFilter("foo", CaseInsensitiveString.list("pipeline2", "pipeline4"), Collections.emptySet());
configMother.addPipelineWithGroup(config, "group2", "pipeline4", "stage1A", "job1A1");
GoDashboardPipeline pipeline4 = pipeline("pipeline4", "group2");
configMother.addPipelineWithGroup(config, "group2", "pipeline3", "stage1A", "job1A1");
GoDashboardPipeline pipeline3 = pipeline("pipeline3", "group2");
configMother.addPipelineWithGroup(config, "group1", "pipeline2", "stage1A", "job1A1");
GoDashboardPipeline pipeline2 = pipeline("pipeline2", "group1");
configMother.addPipelineWithGroup(config, "group1", "pipeline1", "stage1A", "job1A1");
GoDashboardPipeline pipeline1 = pipeline("pipeline1", "group1");
addPipelinesToCache(pipeline1, pipeline2, pipeline3, pipeline4);
List<GoDashboardPipelineGroup> pipelineGroups = allPipelineGroupsForDashboard(filter, new Username("user1"));
assertThat(pipelineGroups.size(), is(2));
assertThat(pipelineGroups.get(0).pipelines(), contains("pipeline1"));
assertThat(pipelineGroups.get(1).pipelines(), contains("pipeline3"));
}
Aggregations