Reformat to match EditorConig
This commit is contained in:
parent
b5bd16c6a9
commit
152c927929
|
@ -33,7 +33,8 @@ public class DynamicConfiguration {
|
||||||
@Valid
|
@Valid
|
||||||
private DynamicTwilioConfiguration twilio = new DynamicTwilioConfiguration();
|
private DynamicTwilioConfiguration twilio = new DynamicTwilioConfiguration();
|
||||||
|
|
||||||
public Optional<DynamicExperimentEnrollmentConfiguration> getExperimentEnrollmentConfiguration(final String experimentName) {
|
public Optional<DynamicExperimentEnrollmentConfiguration> getExperimentEnrollmentConfiguration(
|
||||||
|
final String experimentName) {
|
||||||
return Optional.ofNullable(experiments.get(experimentName));
|
return Optional.ofNullable(experiments.get(experimentName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,29 +15,31 @@ import java.util.UUID;
|
||||||
|
|
||||||
public class ExperimentEnrollmentManager {
|
public class ExperimentEnrollmentManager {
|
||||||
|
|
||||||
private final DynamicConfigurationManager dynamicConfigurationManager;
|
private final DynamicConfigurationManager dynamicConfigurationManager;
|
||||||
|
|
||||||
public ExperimentEnrollmentManager(final DynamicConfigurationManager dynamicConfigurationManager) {
|
public ExperimentEnrollmentManager(final DynamicConfigurationManager dynamicConfigurationManager) {
|
||||||
this.dynamicConfigurationManager = dynamicConfigurationManager;
|
this.dynamicConfigurationManager = dynamicConfigurationManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEnrolled(final UUID accountUuid, final String experimentName) {
|
||||||
|
final Optional<DynamicExperimentEnrollmentConfiguration> maybeConfiguration = dynamicConfigurationManager
|
||||||
|
.getConfiguration().getExperimentEnrollmentConfiguration(experimentName);
|
||||||
|
|
||||||
|
final Set<UUID> enrolledUuids = maybeConfiguration.map(DynamicExperimentEnrollmentConfiguration::getEnrolledUuids)
|
||||||
|
.orElse(Collections.emptySet());
|
||||||
|
|
||||||
|
final boolean enrolled;
|
||||||
|
|
||||||
|
if (enrolledUuids.contains(accountUuid)) {
|
||||||
|
enrolled = true;
|
||||||
|
} else {
|
||||||
|
final int threshold = maybeConfiguration.map(DynamicExperimentEnrollmentConfiguration::getEnrollmentPercentage)
|
||||||
|
.orElse(0);
|
||||||
|
final int enrollmentHash = ((accountUuid.hashCode() ^ experimentName.hashCode()) & Integer.MAX_VALUE) % 100;
|
||||||
|
|
||||||
|
enrolled = enrollmentHash < threshold;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isEnrolled(final UUID accountUuid, final String experimentName) {
|
return enrolled;
|
||||||
final Optional<DynamicExperimentEnrollmentConfiguration> maybeConfiguration = dynamicConfigurationManager.getConfiguration().getExperimentEnrollmentConfiguration(experimentName);
|
}
|
||||||
|
|
||||||
final Set<UUID> enrolledUuids = maybeConfiguration.map(DynamicExperimentEnrollmentConfiguration::getEnrolledUuids)
|
|
||||||
.orElse(Collections.emptySet());
|
|
||||||
|
|
||||||
final boolean enrolled;
|
|
||||||
|
|
||||||
if (enrolledUuids.contains(accountUuid)) {
|
|
||||||
enrolled = true;
|
|
||||||
} else {
|
|
||||||
final int threshold = maybeConfiguration.map(DynamicExperimentEnrollmentConfiguration::getEnrollmentPercentage).orElse(0);
|
|
||||||
final int enrollmentHash = ((accountUuid.hashCode() ^ experimentName.hashCode()) & Integer.MAX_VALUE) % 100;
|
|
||||||
|
|
||||||
enrolled = enrollmentHash < threshold;
|
|
||||||
}
|
|
||||||
|
|
||||||
return enrolled;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue