/** * Returns the set of pages with their associated experiments for an application. * * @param applicationName the application name * @param authorizationHeader the authorization headers * @return Response object */ @GET @Path("{applicationName}/pageexperimentList") @Produces(APPLICATION_JSON) @ApiOperation(value = "Get the set of pages associated with an application.") @Timed public Response getPagesAndAssociatedExperimentsForApplication( @PathParam("applicationName") @ApiParam(value = "Application Name") final Application.Name applicationName, @HeaderParam(AUTHORIZATION) @ApiParam(value = EXAMPLE_AUTHORIZATION_HEADER, required = true) final String authorizationHeader) { try { authorization.checkUserPermissions(authorization.getUser(authorizationHeader), applicationName, READ); Map<Page.Name, List<PageExperiment>> pageExperimentListMap = pages.getPageAndExperimentList(applicationName); return httpHeader.headers().entity(pageExperimentListMap).build(); } catch (Exception exception) { LOGGER.error("getPagesAndAssociatedExperimentsForApplication failed for applicationName={} with error:", applicationName, exception); throw exception; } }