.put("experiments", pages.getExperiments(applicationName, pageName)).build();
/** * Get list of page experiments associated to given application and page. * <p> * Use metadata cache if it is enabled or use repository to fetch from Database * * @param applicationName * @param pageName * @return */ private List<PageExperiment> getExperiments(Application.Name applicationName, Page.Name pageName) { if (metadataCacheEnabled) { return metadataCache.getPageExperiments(applicationName, pageName); } else { return pages.getExperimentsWithoutLabels(applicationName, pageName); } }
/** * 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; } }
ExperimentPageList experimentPages = pages.getExperimentPages(experimentID);
/** * Generic Search api: Currently for just pages - Get the experiment list for the chosen page for an application * * @param applicationName the application name * @param pageName the page name * @return Response object containing metadata of all experiments having the page for the application. */ @GET @Path("/applications/{applicationName}/pages/{pageName}") @ApiOperation(value = "Return all experiments for page for app", response = ExperimentList.class) @Timed public Response getPageExperiments( @PathParam("applicationName") @ApiParam(value = "Application Name") final Application.Name applicationName, @PathParam("pageName") @ApiParam(value = "Page name where the experiment will appear") final Page.Name pageName) { try { return httpHeader.headers().entity(pages.getPageExperiments(applicationName, pageName)).build(); } catch (Exception exception) { LOGGER.error("getPageExperiments failed for applicationName={}, pageName={} with error:", applicationName, pageName, exception); throw exception; } }
/** * Returns the set of pages associated with the application. * * @param applicationName the application name * @param authorizationHeader the authorization headers * @return Response object */ @GET @Path("{applicationName}/pages") @Produces(APPLICATION_JSON) @ApiOperation(value = "Get the set of pages associated with an application.") @Timed public Response getPagesForApplication( @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); ImmutableMap<String, List<Page>> applicationPages = ImmutableMap.<String, List<Page>>builder() .put("pages", pages.getPageList(applicationName)).build(); return httpHeader.headers().entity(applicationPages).build(); } catch (Exception exception) { LOGGER.error("getPagesForApplication failed for applicationName={} with error:", applicationName, exception); throw exception; } }
pages.postPages(experimentID, experimentPageList, authorization.getUserInfo(userName));
pages.deletePage(experimentID, pageName, authorization.getUserInfo(userName));
pages.erasePageData(experiment.getApplicationName(), experimentID, user);
ExperimentPageList experimentPageList = pages.getExperimentPages(experiment.getID()); experiment.setExperimentPageList(experimentPageList.getPages()); });