public Builder() { super(); instance = new AssignmentCounts(); }
/** * Retrieves the analytics data for the buckets and the experiment itself. * * @param experimentDetail the {@link ExperimentDetail} that needs to be enhanced with analytics data * @param params {@link Parameters} for the Analytics calls- containing the context for example * @return the same object with additional analytic information */ ExperimentDetail getAnalyticData(ExperimentDetail experimentDetail, Parameters params) { // analytics data is only necessary for running/paused/terminated experiments if (!experimentDetail.getState().equals(Experiment.State.DRAFT)) { //experiment level analytics AssignmentCounts assignmentCounts = analytics.getAssignmentCounts(experimentDetail.getId(), params.getContext()); if (!Objects.isNull(assignmentCounts)) { long onlyBucketAssignments = assignmentCounts.getTotalUsers().getBucketAssignments(); experimentDetail.setTotalNumberUsers(onlyBucketAssignments); } ExperimentStatistics expStats = analytics.getExperimentStatistics(experimentDetail.getId(), params); getBucketDetails(experimentDetail, expStats, assignmentCounts); } return experimentDetail; }
List<BucketAssignmentCount> bucketAssignments = assignmentCounts.getAssignments();
assignmentCounts.getTotalUsers().getBucketAssignments() >= userCap) { Experiment experimentInfoFromDB = experimentUtil.getExperiment(experiment.getID()); if (experimentInfoFromDB.getState().equals(Experiment.State.RUNNING)) {