Skip to content

Commit 9a12d72

Browse files
update: rename methods to use 'Sync' suffix for clarity in decision-making logic
1 parent 42053e4 commit 9a12d72

File tree

4 files changed

+41
-41
lines changed

4 files changed

+41
-41
lines changed

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,7 +1507,7 @@ Map<String, OptimizelyDecision> decideAll(@Nonnull OptimizelyUserContext user,
15071507
* @param options A list of options for decision-making.
15081508
* @return A decision result using traditional A/B testing logic only.
15091509
*/
1510-
OptimizelyDecision decideWithoutCmab(@Nonnull OptimizelyUserContext user,
1510+
OptimizelyDecision decideSync(@Nonnull OptimizelyUserContext user,
15111511
@Nonnull String key,
15121512
@Nonnull List<OptimizelyDecideOption> options) {
15131513
ProjectConfig projectConfig = getProjectConfig();
@@ -1518,7 +1518,7 @@ OptimizelyDecision decideWithoutCmab(@Nonnull OptimizelyUserContext user,
15181518
List<OptimizelyDecideOption> allOptions = getAllOptions(options);
15191519
allOptions.remove(OptimizelyDecideOption.ENABLED_FLAGS_ONLY);
15201520

1521-
return decideForKeysWithoutCmab(user, Arrays.asList(key), allOptions, true).get(key);
1521+
return decideForKeysSync(user, Arrays.asList(key), allOptions, true).get(key);
15221522
}
15231523

15241524
/**
@@ -1529,10 +1529,10 @@ OptimizelyDecision decideWithoutCmab(@Nonnull OptimizelyUserContext user,
15291529
* @param options A list of options for decision-making.
15301530
* @return All decision results mapped by flag keys, using traditional A/B testing logic only.
15311531
*/
1532-
Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull OptimizelyUserContext user,
1532+
Map<String, OptimizelyDecision> decideForKeysSync(@Nonnull OptimizelyUserContext user,
15331533
@Nonnull List<String> keys,
15341534
@Nonnull List<OptimizelyDecideOption> options) {
1535-
return decideForKeysWithoutCmab(user, keys, options, false);
1535+
return decideForKeysSync(user, keys, options, false);
15361536
}
15371537

15381538
/**
@@ -1542,32 +1542,32 @@ Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull OptimizelyUser
15421542
* @param options A list of options for decision-making.
15431543
* @return All decision results mapped by flag keys, using traditional A/B testing logic only.
15441544
*/
1545-
Map<String, OptimizelyDecision> decideAllWithoutCmab(@Nonnull OptimizelyUserContext user,
1545+
Map<String, OptimizelyDecision> decideAllSync(@Nonnull OptimizelyUserContext user,
15461546
@Nonnull List<OptimizelyDecideOption> options) {
15471547
Map<String, OptimizelyDecision> decisionMap = new HashMap<>();
15481548

15491549
ProjectConfig projectConfig = getProjectConfig();
15501550
if (projectConfig == null) {
1551-
logger.error("Optimizely instance is not valid, failing decideAllWithoutCmab call.");
1551+
logger.error("Optimizely instance is not valid, failing decideAllSync call.");
15521552
return decisionMap;
15531553
}
15541554

15551555
List<FeatureFlag> allFlags = projectConfig.getFeatureFlags();
15561556
List<String> allFlagKeys = new ArrayList<>();
15571557
for (int i = 0; i < allFlags.size(); i++) allFlagKeys.add(allFlags.get(i).getKey());
15581558

1559-
return decideForKeysWithoutCmab(user, allFlagKeys, options);
1559+
return decideForKeysSync(user, allFlagKeys, options);
15601560
}
15611561

1562-
private Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull OptimizelyUserContext user,
1562+
private Map<String, OptimizelyDecision> decideForKeysSync(@Nonnull OptimizelyUserContext user,
15631563
@Nonnull List<String> keys,
15641564
@Nonnull List<OptimizelyDecideOption> options,
15651565
boolean ignoreDefaultOptions) {
15661566
Map<String, OptimizelyDecision> decisionMap = new HashMap<>();
15671567

15681568
ProjectConfig projectConfig = getProjectConfig();
15691569
if (projectConfig == null) {
1570-
logger.error("Optimizely instance is not valid, failing decideForKeysWithoutCmab call.");
1570+
logger.error("Optimizely instance is not valid, failing decideForKeysSync call.");
15711571
return decisionMap;
15721572
}
15731573

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,9 @@ public Map<String, OptimizelyDecision> decideAll() {
213213
* @param options A list of options for decision-making.
214214
* @return A decision result.
215215
*/
216-
public OptimizelyDecision decideWithoutCmab(@Nonnull String key,
216+
public OptimizelyDecision decideSync(@Nonnull String key,
217217
@Nonnull List<OptimizelyDecideOption> options) {
218-
return optimizely.decideWithoutCmab(copy(), key, options);
218+
return optimizely.decideSync(copy(), key, options);
219219
}
220220

221221
/**
@@ -225,8 +225,8 @@ public OptimizelyDecision decideWithoutCmab(@Nonnull String key,
225225
* @param key A flag key for which a decision will be made.
226226
* @return A decision result.
227227
*/
228-
public OptimizelyDecision decideWithoutCmab(@Nonnull String key) {
229-
return decideWithoutCmab(key, Collections.emptyList());
228+
public OptimizelyDecision decideSync(@Nonnull String key) {
229+
return decideSync(key, Collections.emptyList());
230230
}
231231

232232
/**
@@ -236,9 +236,9 @@ public OptimizelyDecision decideWithoutCmab(@Nonnull String key) {
236236
* @param options A list of options for decision-making.
237237
* @return All decision results mapped by flag keys.
238238
*/
239-
public Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull List<String> keys,
239+
public Map<String, OptimizelyDecision> decideForKeysSync(@Nonnull List<String> keys,
240240
@Nonnull List<OptimizelyDecideOption> options) {
241-
return optimizely.decideForKeysWithoutCmab(copy(), keys, options);
241+
return optimizely.decideForKeysSync(copy(), keys, options);
242242
}
243243

244244
/**
@@ -248,8 +248,8 @@ public Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull List<St
248248
* @param keys A list of flag keys for which decisions will be made.
249249
* @return All decision results mapped by flag keys.
250250
*/
251-
public Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull List<String> keys) {
252-
return decideForKeysWithoutCmab(keys, Collections.emptyList());
251+
public Map<String, OptimizelyDecision> decideForKeysSync(@Nonnull List<String> keys) {
252+
return decideForKeysSync(keys, Collections.emptyList());
253253
}
254254

255255
/**
@@ -259,8 +259,8 @@ public Map<String, OptimizelyDecision> decideForKeysWithoutCmab(@Nonnull List<St
259259
* @param options A list of options for decision-making.
260260
* @return All decision results mapped by flag keys.
261261
*/
262-
public Map<String, OptimizelyDecision> decideAllWithoutCmab(@Nonnull List<OptimizelyDecideOption> options) {
263-
return optimizely.decideAllWithoutCmab(copy(), options);
262+
public Map<String, OptimizelyDecision> decideAllSync(@Nonnull List<OptimizelyDecideOption> options) {
263+
return optimizely.decideAllSync(copy(), options);
264264
}
265265

266266
/**
@@ -269,8 +269,8 @@ public Map<String, OptimizelyDecision> decideAllWithoutCmab(@Nonnull List<Optimi
269269
*
270270
* @return A dictionary of all decision results, mapped by flag keys.
271271
*/
272-
public Map<String, OptimizelyDecision> decideAllWithoutCmab() {
273-
return decideAllWithoutCmab(Collections.emptyList());
272+
public Map<String, OptimizelyDecision> decideAllSync() {
273+
return decideAllSync(Collections.emptyList());
274274
}
275275

276276
/**

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public class DecisionService {
9090
public DecisionService(@Nonnull Bucketer bucketer,
9191
@Nonnull ErrorHandler errorHandler,
9292
@Nullable UserProfileService userProfileService,
93-
@Nullable CmabService cmabService) {
93+
@Nonnull CmabService cmabService) {
9494
this.bucketer = bucketer;
9595
this.errorHandler = errorHandler;
9696
this.userProfileService = userProfileService;

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2272,7 +2272,7 @@ public void decide_all_with_holdout() throws Exception {
22722272
}
22732273

22742274
@Test
2275-
public void decideWithoutCmab_featureTest() {
2275+
public void decideSync_featureTest() {
22762276
optimizely = new Optimizely.Builder()
22772277
.withDatafile(datafile)
22782278
.withEventProcessor(new ForwardingEventProcessor(eventHandler, null))
@@ -2286,7 +2286,7 @@ public void decideWithoutCmab_featureTest() {
22862286
OptimizelyJSON variablesExpected = optimizely.getAllFeatureVariables(flagKey, userId);
22872287

22882288
OptimizelyUserContext user = optimizely.createUserContext(userId);
2289-
OptimizelyDecision decision = user.decideWithoutCmab(flagKey);
2289+
OptimizelyDecision decision = user.decideSync(flagKey);
22902290

22912291
assertEquals(decision.getVariationKey(), variationKey);
22922292
assertTrue(decision.getEnabled());
@@ -2307,7 +2307,7 @@ public void decideWithoutCmab_featureTest() {
23072307
}
23082308

23092309
@Test
2310-
public void decideForKeysWithoutCmab_multipleFlags() {
2310+
public void decideForKeysSync_multipleFlags() {
23112311
String flagKey1 = "feature_1";
23122312
String flagKey2 = "feature_2";
23132313

@@ -2316,7 +2316,7 @@ public void decideForKeysWithoutCmab_multipleFlags() {
23162316
OptimizelyJSON variablesExpected2 = optimizely.getAllFeatureVariables(flagKey2, userId);
23172317

23182318
OptimizelyUserContext user = optimizely.createUserContext(userId, Collections.singletonMap("gender", "f"));
2319-
Map<String, OptimizelyDecision> decisions = user.decideForKeysWithoutCmab(flagKeys);
2319+
Map<String, OptimizelyDecision> decisions = user.decideForKeysSync(flagKeys);
23202320

23212321
assertEquals(decisions.size(), 2);
23222322

@@ -2341,15 +2341,15 @@ public void decideForKeysWithoutCmab_multipleFlags() {
23412341
}
23422342

23432343
@Test
2344-
public void decideForKeysWithoutCmab_withOptions() {
2344+
public void decideForKeysSync_withOptions() {
23452345
String flagKey1 = "feature_1";
23462346
String flagKey2 = "feature_2";
23472347

23482348
List<String> flagKeys = Arrays.asList(flagKey1, flagKey2);
23492349
List<OptimizelyDecideOption> options = Arrays.asList(OptimizelyDecideOption.EXCLUDE_VARIABLES);
23502350

23512351
OptimizelyUserContext user = optimizely.createUserContext(userId, Collections.singletonMap("gender", "f"));
2352-
Map<String, OptimizelyDecision> decisions = user.decideForKeysWithoutCmab(flagKeys, options);
2352+
Map<String, OptimizelyDecision> decisions = user.decideForKeysSync(flagKeys, options);
23532353

23542354
assertEquals(decisions.size(), 2);
23552355

@@ -2364,7 +2364,7 @@ public void decideForKeysWithoutCmab_withOptions() {
23642364
}
23652365

23662366
@Test
2367-
public void decideAllWithoutCmab_allFlags() {
2367+
public void decideAllSync_allFlags() {
23682368
EventProcessor mockEventProcessor = mock(EventProcessor.class);
23692369

23702370
optimizely = new Optimizely.Builder()
@@ -2382,7 +2382,7 @@ public void decideAllWithoutCmab_allFlags() {
23822382
OptimizelyJSON variablesExpected3 = new OptimizelyJSON(Collections.emptyMap());
23832383

23842384
OptimizelyUserContext user = optimizely.createUserContext(userId, attributes);
2385-
Map<String, OptimizelyDecision> decisions = user.decideAllWithoutCmab();
2385+
Map<String, OptimizelyDecision> decisions = user.decideAllSync();
23862386
assertEquals(decisions.size(), 3);
23872387

23882388
assertEquals(
@@ -2435,12 +2435,12 @@ public void decideAllWithoutCmab_allFlags() {
24352435
}
24362436

24372437
@Test
2438-
public void decideAllWithoutCmab_withOptions() {
2438+
public void decideAllSync_withOptions() {
24392439
String flagKey1 = "feature_1";
24402440
OptimizelyJSON variablesExpected1 = optimizely.getAllFeatureVariables(flagKey1, userId);
24412441

24422442
OptimizelyUserContext user = optimizely.createUserContext(userId, Collections.singletonMap("gender", "f"));
2443-
Map<String, OptimizelyDecision> decisions = user.decideAllWithoutCmab(Arrays.asList(OptimizelyDecideOption.ENABLED_FLAGS_ONLY));
2443+
Map<String, OptimizelyDecision> decisions = user.decideAllSync(Arrays.asList(OptimizelyDecideOption.ENABLED_FLAGS_ONLY));
24442444

24452445
assertEquals(decisions.size(), 2); // Only enabled flags
24462446

@@ -2457,7 +2457,7 @@ public void decideAllWithoutCmab_withOptions() {
24572457
}
24582458

24592459
@Test
2460-
public void decideAllWithoutCmab_ups_batching() throws Exception {
2460+
public void decideAllSync_ups_batching() throws Exception {
24612461
UserProfileService ups = mock(UserProfileService.class);
24622462

24632463
optimizely = new Optimizely.Builder()
@@ -2468,7 +2468,7 @@ public void decideAllWithoutCmab_ups_batching() throws Exception {
24682468
Map<String, Object> attributes = Collections.singletonMap("gender", "f");
24692469

24702470
OptimizelyUserContext user = optimizely.createUserContext(userId, attributes);
2471-
Map<String, OptimizelyDecision> decisions = user.decideAllWithoutCmab();
2471+
Map<String, OptimizelyDecision> decisions = user.decideAllSync();
24722472

24732473
assertEquals(decisions.size(), 3);
24742474

@@ -2484,12 +2484,12 @@ public void decideAllWithoutCmab_ups_batching() throws Exception {
24842484
}
24852485

24862486
@Test
2487-
public void decideWithoutCmab_sdkNotReady() {
2487+
public void decideSync_sdkNotReady() {
24882488
String flagKey = "feature_1";
24892489

24902490
Optimizely optimizely = new Optimizely.Builder().build();
24912491
OptimizelyUserContext user = optimizely.createUserContext(userId);
2492-
OptimizelyDecision decision = user.decideWithoutCmab(flagKey);
2492+
OptimizelyDecision decision = user.decideSync(flagKey);
24932493

24942494
assertNull(decision.getVariationKey());
24952495
assertFalse(decision.getEnabled());
@@ -2502,17 +2502,17 @@ public void decideWithoutCmab_sdkNotReady() {
25022502
}
25032503

25042504
@Test
2505-
public void decideForKeysWithoutCmab_sdkNotReady() {
2505+
public void decideForKeysSync_sdkNotReady() {
25062506
List<String> flagKeys = Arrays.asList("feature_1");
25072507

25082508
Optimizely optimizely = new Optimizely.Builder().build();
25092509
OptimizelyUserContext user = optimizely.createUserContext(userId);
2510-
Map<String, OptimizelyDecision> decisions = user.decideForKeysWithoutCmab(flagKeys);
2510+
Map<String, OptimizelyDecision> decisions = user.decideForKeysSync(flagKeys);
25112511

25122512
assertEquals(decisions.size(), 0);
25132513
}
25142514
@Test
2515-
public void decideWithoutCmab_bypassUPS() throws Exception {
2515+
public void decideSync_bypassUPS() throws Exception {
25162516
String flagKey = "feature_2"; // embedding experiment: "exp_no_audience"
25172517
String experimentId = "10420810910"; // "exp_no_audience"
25182518
String variationId1 = "10418551353";
@@ -2529,11 +2529,11 @@ public void decideWithoutCmab_bypassUPS() throws Exception {
25292529
.build();
25302530

25312531
OptimizelyUserContext user = optimizely.createUserContext(userId);
2532-
OptimizelyDecision decision = user.decideWithoutCmab(flagKey);
2532+
OptimizelyDecision decision = user.decideSync(flagKey);
25332533
// should return variationId2 set by UPS
25342534
assertEquals(decision.getVariationKey(), variationKey2);
25352535

2536-
decision = user.decideWithoutCmab(flagKey, Arrays.asList(OptimizelyDecideOption.IGNORE_USER_PROFILE_SERVICE));
2536+
decision = user.decideSync(flagKey, Arrays.asList(OptimizelyDecideOption.IGNORE_USER_PROFILE_SERVICE));
25372537
// should ignore variationId2 set by UPS and return variationId1
25382538
assertEquals(decision.getVariationKey(), variationKey1);
25392539
// also should not save either

0 commit comments

Comments
 (0)