@Override public ExperimentList getExperiments(Collection<Experiment.ID> experimentIDs) { // TODO: Implement this properly as a single query using e.g. WHERE IN ExperimentList result = new ExperimentList(experimentIDs.size()); for (Experiment.ID experimentID : experimentIDs) { result.addExperiment(getExperiment(experimentID)); } return result; }
/** * {@inheritDoc} */ @Override public ExperimentList getExperiments(Collection<Experiment.ID> experimentIDs) { LOGGER.debug("Getting experiments {}", experimentIDs); ExperimentList result = new ExperimentList(); try { if (!experimentIDs.isEmpty()) { Map<Experiment.ID, Experiment> experimentMap = getExperimentsMap(experimentIDs); List<Experiment> experiments = new ArrayList<>(experimentMap.values()); result.setExperiments(experiments); } } catch (Exception e) { LOGGER.error("Error while getting experiments {}", experimentIDs, e); throw new RepositoryException("Could not retrieve the experiments for the collection of experimentIDs", e); } return result; }
/** * {@inheritDoc} */ @Override public ExperimentList getPageExperiments(Application.Name applicationName, Page.Name pageName) { ExperimentList result = new ExperimentList(); if (applicationName == null || applicationName.toString().isEmpty() || pageName == null || pageName.toString().isEmpty()) { return result; } else { List<PageExperiment> pageExperiments = pagesRepository.getExperiments(applicationName, pageName); List<Experiment.ID> expIDList = new ArrayList<>(); if (!pageExperiments.isEmpty()) { for (PageExperiment pageExperiment : pageExperiments) { Experiment.ID experimentID = pageExperiment.getId(); expIDList.add(experimentID); } } result = cassandraRepository.getExperiments(expIDList); } return result; }
/** * {@inheritDoc} */ @Override public ExperimentList getExclusions(Experiment.ID base) { LOGGER.debug("Getting exclusion list for {}", base); try { List<Exclusion> exclusions = mutexAccessor.getExclusions(base.getRawID()).all(); List<UUID> experimentIds = new ArrayList<>(); for (Exclusion exclusion : exclusions) experimentIds.add(exclusion.getPair()); List<com.intuit.wasabi.repository.cassandra.pojo.Experiment> experimentPojos = experimentAccessor.getExperiments(experimentIds).all(); List<Experiment> experiments = new ArrayList<>(); for (com.intuit.wasabi.repository.cassandra.pojo.Experiment experimentPojo : experimentPojos) { experiments.add(ExperimentHelper.makeExperiment(experimentPojo)); } ExperimentList experimentList = new ExperimentList(); experimentList.setExperiments(experiments); return experimentList; } catch (Exception e) { LOGGER.error("Error whil getting exclusion list for {}", base, e); throw new RepositoryException("Could not retrieve the exclusions for \"" + base + "\"", e); } }
ExperimentList allExperiments = new ExperimentList();
ExperimentList result = new ExperimentList(); result.setExperiments(notMutex);
Set<Application.Name> allowed = new HashSet<>(); authorizedExperiments = new ExperimentList();