Skip to content

Commit 6a3f2aa

Browse files
author
Vignesh Raja
authored
Revert "Merge pull request #35 from optimizely/mng/rename-user-profile" (#41)
1 parent 13e3bb3 commit 6a3f2aa

File tree

9 files changed

+87
-86
lines changed

9 files changed

+87
-86
lines changed

CHANGELOG.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
## 1.1.0
22

33
- Add support for live variables
4-
- Change `UserExperimentRecord` to `UserProfile`
54

65
## 1.0.3
76

core-api/src/main/java/com/optimizely/ab/Optimizely.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import com.optimizely.ab.annotations.VisibleForTesting;
2020
import com.optimizely.ab.bucketing.Bucketer;
21-
import com.optimizely.ab.bucketing.UserProfile;
21+
import com.optimizely.ab.bucketing.UserExperimentRecord;
2222
import com.optimizely.ab.config.Attribute;
2323
import com.optimizely.ab.config.EventType;
2424
import com.optimizely.ab.config.Experiment;
@@ -104,7 +104,7 @@ private Optimizely(@Nonnull ProjectConfig projectConfig,
104104

105105
// Do work here that should be done once per Optimizely lifecycle
106106
@VisibleForTesting void initialize() {
107-
bucketer.cleanUserProfiles();
107+
bucketer.cleanUserExperimentRecords();
108108
}
109109

110110
//======== activate calls ========//
@@ -596,7 +596,7 @@ public static class Builder {
596596

597597
private String datafile;
598598
private Bucketer bucketer;
599-
private UserProfile userProfile;
599+
private UserExperimentRecord userExperimentRecord;
600600
private ErrorHandler errorHandler;
601601
private EventHandler eventHandler;
602602
private EventBuilder eventBuilder;
@@ -615,8 +615,8 @@ public Builder withErrorHandler(ErrorHandler errorHandler) {
615615
return this;
616616
}
617617

618-
public Builder withUserProfile(UserProfile userProfile) {
619-
this.userProfile = userProfile;
618+
public Builder withUserExperimentRecord(UserExperimentRecord userExperimentRecord) {
619+
this.userExperimentRecord = userExperimentRecord;
620620
return this;
621621
}
622622

@@ -653,7 +653,7 @@ public Optimizely build() throws ConfigParseException {
653653

654654
// use the default bucketer and event builder, if no overrides were provided
655655
if (bucketer == null) {
656-
bucketer = new Bucketer(projectConfig, userProfile);
656+
bucketer = new Bucketer(projectConfig, userExperimentRecord);
657657
}
658658

659659
if (clientEngine == null) {

core-api/src/main/java/com/optimizely/ab/bucketing/Bucketer.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class Bucketer {
4747

4848
private final ProjectConfig projectConfig;
4949

50-
@Nullable private final UserProfile userProfile;
50+
@Nullable private final UserExperimentRecord userExperimentRecord;
5151

5252
private static final Logger logger = LoggerFactory.getLogger(Bucketer.class);
5353

@@ -63,9 +63,9 @@ public Bucketer(ProjectConfig projectConfig) {
6363
this(projectConfig, null);
6464
}
6565

66-
public Bucketer(ProjectConfig projectConfig, @Nullable UserProfile userProfile) {
66+
public Bucketer(ProjectConfig projectConfig, @Nullable UserExperimentRecord userExperimentRecord) {
6767
this.projectConfig = projectConfig;
68-
this.userProfile = userProfile;
68+
this.userExperimentRecord = userExperimentRecord;
6969
}
7070

7171
private String bucketToEntity(int bucketValue, List<TrafficAllocation> trafficAllocations) {
@@ -112,12 +112,12 @@ private Variation bucketToVariation(@Nonnull Experiment experiment,
112112
String experimentKey = experiment.getKey();
113113
String combinedBucketId = userId + experimentId;
114114

115-
// If a user profile instance is present then check it for a saved variation
116-
if (userProfile != null) {
117-
String variationKey = userProfile.lookup(userId, experimentKey);
115+
// If a user experiment record instance is present then check it for a saved variation
116+
if (userExperimentRecord != null) {
117+
String variationKey = userExperimentRecord.lookup(userId, experimentKey);
118118
if (variationKey != null) {
119119
logger.info("Returning previously activated variation \"{}\" of experiment \"{}\" "
120-
+ "for user \"{}\" from user profile.",
120+
+ "for user \"{}\" from user experiment record.",
121121
variationKey, experimentKey, userId);
122122
// A variation is stored for this combined bucket id
123123
return projectConfig
@@ -127,7 +127,7 @@ private Variation bucketToVariation(@Nonnull Experiment experiment,
127127
.get(variationKey);
128128
} else {
129129
logger.info("No previously activated variation of experiment \"{}\" "
130-
+ "for user \"{}\" found in user profile.",
130+
+ "for user \"{}\" found in user experiment record.",
131131
experimentKey, userId);
132132
}
133133
}
@@ -145,9 +145,9 @@ private Variation bucketToVariation(@Nonnull Experiment experiment,
145145
logger.info("User \"{}\" is in variation \"{}\" of experiment \"{}\".", userId, variationKey,
146146
experimentKey);
147147

148-
// If a user profile is present give it a variation to store
149-
if (userProfile != null) {
150-
boolean saved = userProfile.save(userId, experiment.getKey(), variationKey);
148+
// If a user experiment record is present give it a variation to store
149+
if (userExperimentRecord != null) {
150+
boolean saved = userExperimentRecord.save(userId, experiment.getKey(), variationKey);
151151
if (saved) {
152152
logger.info("Saved variation \"{}\" of experiment \"{}\" for user \"{}\".",
153153
variationKey, experimentKey, userId);
@@ -224,23 +224,23 @@ int generateBucketValue(int hashCode) {
224224
}
225225

226226
@Nullable
227-
public UserProfile getUserProfile() {
228-
return userProfile;
227+
public UserExperimentRecord getUserExperimentRecord() {
228+
return userExperimentRecord;
229229
}
230230

231231
/**
232-
* Gives implementations of {@link UserProfile} a chance to remove records
232+
* Gives implementations of {@link UserExperimentRecord} a chance to remove records
233233
* of experiments that are deleted or not running.
234234
*/
235-
public void cleanUserProfiles() {
236-
if (userProfile != null) {
237-
Map<String, Map<String,String>> records = userProfile.getAllRecords();
235+
public void cleanUserExperimentRecords() {
236+
if (userExperimentRecord != null) {
237+
Map<String, Map<String,String>> records = userExperimentRecord.getAllRecords();
238238
if (records != null) {
239239
for (Map.Entry<String,Map<String,String>> record : records.entrySet()) {
240240
for (String experimentKey : record.getValue().keySet()) {
241241
Experiment experiment = projectConfig.getExperimentKeyMapping().get(experimentKey);
242242
if (experiment == null || !experiment.isRunning()) {
243-
userProfile.remove(record.getKey(), experimentKey);
243+
userExperimentRecord.remove(record.getKey(), experimentKey);
244244
}
245245
}
246246
}

core-api/src/main/java/com/optimizely/ab/bucketing/UserProfile.java renamed to core-api/src/main/java/com/optimizely/ab/bucketing/UserExperimentRecord.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* user experience after changing traffic allocations. Also, this interface gives users
2626
* a hook to keep track of activation history.
2727
*/
28-
public interface UserProfile {
28+
public interface UserExperimentRecord {
2929

3030
/**
3131
* Called when implementors should save an activation
@@ -47,7 +47,7 @@ public interface UserProfile {
4747
String lookup(String userId, String experimentKey);
4848

4949
/**
50-
* Called when user profile should be removed
50+
* Called when user experiment record should be removed
5151
*
5252
* Records should be removed when an experiment is not running or when an experiment has been
5353
* deleted.

core-api/src/test/java/com/optimizely/ab/OptimizelyBuilderTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717
package com.optimizely.ab;
1818

19-
import com.optimizely.ab.bucketing.UserProfile;
19+
import com.optimizely.ab.bucketing.UserExperimentRecord;
2020
import com.optimizely.ab.config.ProjectConfigTestUtils;
2121
import com.optimizely.ab.config.parser.ConfigParseException;
2222
import com.optimizely.ab.error.ErrorHandler;
@@ -112,13 +112,13 @@ public void withDefaultErrorHandler() throws Exception {
112112
}
113113

114114
@Test
115-
public void withUserProfile() throws Exception {
116-
UserProfile userProfile = mock(UserProfile.class);
115+
public void withUserExperimentRecord() throws Exception {
116+
UserExperimentRecord userExperimentRecord = mock(UserExperimentRecord.class);
117117
Optimizely optimizelyClient = Optimizely.builder(validConfigJsonV2(), mockEventHandler)
118-
.withUserProfile(userProfile)
118+
.withUserExperimentRecord(userExperimentRecord)
119119
.build();
120120

121-
assertThat(optimizelyClient.bucketer.getUserProfile(), is(userProfile));
121+
assertThat(optimizelyClient.bucketer.getUserExperimentRecord(), is(userExperimentRecord));
122122
}
123123

124124
@Test

core-api/src/test/java/com/optimizely/ab/OptimizelyTestV1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public void initializationOccursForBucketerWhenBuildingOptly() throws Exception
159159
.withErrorHandler(mockErrorHandler)
160160
.build();
161161

162-
verify(mockBucketer).cleanUserProfiles();
162+
verify(mockBucketer).cleanUserExperimentRecords();
163163
}
164164

165165
/**

core-api/src/test/java/com/optimizely/ab/OptimizelyTestV2.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@
3131
import com.optimizely.ab.error.RaiseExceptionErrorHandler;
3232
import com.optimizely.ab.event.EventHandler;
3333
import com.optimizely.ab.event.LogEvent;
34+
import com.optimizely.ab.event.internal.BuildVersionInfo;
3435
import com.optimizely.ab.event.internal.EventBuilder;
3536
import com.optimizely.ab.event.internal.EventBuilderV2;
37+
import com.optimizely.ab.event.internal.payload.Event.ClientEngine;
3638
import com.optimizely.ab.internal.LogbackVerifier;
3739
import com.optimizely.ab.internal.ProjectValidationUtils;
3840

@@ -159,7 +161,7 @@ public void initializationOccursForBucketerWhenBuildingOptly() throws Exception
159161
.withErrorHandler(mockErrorHandler)
160162
.build();
161163

162-
verify(mockBucketer).cleanUserProfiles();
164+
verify(mockBucketer).cleanUserExperimentRecords();
163165
}
164166

165167
/**

core-api/src/test/java/com/optimizely/ab/OptimizelyTestV3.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public void initializationOccursForBucketerWhenBuildingOptly() throws Exception
161161
.withErrorHandler(mockErrorHandler)
162162
.build();
163163

164-
verify(mockBucketer).cleanUserProfiles();
164+
verify(mockBucketer).cleanUserExperimentRecords();
165165
}
166166

167167
/**

0 commit comments

Comments
 (0)