update e164 experiments to use account enrollment percentage

This commit is contained in:
adel-signal
2024-11-04 13:00:25 -08:00
committed by GitHub
parent 7633a9b07a
commit 45fad7a6a9
2 changed files with 16 additions and 5 deletions

View File

@@ -41,12 +41,11 @@ public class ExperimentEnrollmentManager {
.getConfiguration().getExperimentEnrollmentConfiguration(experimentName);
return maybeConfiguration
.map(config -> isAccountEnrolled(accountUuid, config)
.orElse(isEnrolled(accountUuid, config.getEnrollmentPercentage(), experimentName))
).orElse(false);
.map(config -> isAccountEnrolled(accountUuid, config, experimentName).orElse(false))
.orElse(false);
}
Optional<Boolean> isAccountEnrolled(final UUID accountUuid, DynamicExperimentEnrollmentConfiguration config) {
private Optional<Boolean> isAccountEnrolled(final UUID accountUuid, DynamicExperimentEnrollmentConfiguration config, String experimentName) {
if (config.getExcludedUuids().contains(accountUuid)) {
return Optional.of(false);
}
@@ -55,6 +54,10 @@ public class ExperimentEnrollmentManager {
return Optional.of(r < config.getUuidSelector().getUuidEnrollmentPercentage());
}
if (isEnrolled(accountUuid, config.getEnrollmentPercentage(), experimentName)) {
return Optional.of(true);
}
return Optional.empty();
}
@@ -64,7 +67,7 @@ public class ExperimentEnrollmentManager {
.getConfiguration().getExperimentEnrollmentConfiguration(experimentName);
return maybeConfiguration
.flatMap(config -> isAccountEnrolled(accountUuid, config))
.flatMap(config -> isAccountEnrolled(accountUuid, config, experimentName))
.orElse(isEnrolled(e164, experimentName));
}