Skip to content

Commit 3087bad

Browse files
committed
fix
1 parent 8034de5 commit 3087bad

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

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

+19-3
Original file line numberDiff line numberDiff line change
@@ -1324,13 +1324,17 @@ Map<String, OptimizelyDecision> decideForKeys(@Nonnull OptimizelyUserContext use
13241324

13251325
List<FeatureFlag> flagsWithoutForcedDecision = new ArrayList<>();
13261326

1327+
List<String> validKeys = new ArrayList<>();
1328+
13271329
for (String key : keys) {
13281330
FeatureFlag flag = projectConfig.getFeatureKeyMapping().get(key);
13291331
if (flag == null) {
13301332
decisionMap.put(key, OptimizelyDecision.newErrorDecision(key, user, DecisionMessage.FLAG_KEY_INVALID.reason(key)));
13311333
continue;
13321334
}
13331335

1336+
validKeys.add(key);
1337+
13341338
DecisionReasons decisionReasons = DefaultDecisionReasons.newInstance(allOptions);
13351339
Optional<FeatureDecision> forcedDecision = getForcedDecision(key, decisionReasons, projectConfig, user);
13361340
decisionReasonsMap.put(key, decisionReasons);
@@ -1352,9 +1356,21 @@ Map<String, OptimizelyDecision> decideForKeys(@Nonnull OptimizelyUserContext use
13521356
decisionReasonsMap.get(flagKey).merge(decision.getReasons());
13531357
}
13541358

1355-
for (Map.Entry<String, FeatureDecision> entry: flagDecisions.entrySet()) {
1356-
String key = entry.getKey();
1357-
FeatureDecision flagDecision = entry.getValue();
1359+
// for (Map.Entry<String, FeatureDecision> entry: flagDecisions.entrySet()) {
1360+
// String key = entry.getKey();
1361+
// FeatureDecision flagDecision = entry.getValue();
1362+
// DecisionReasons decisionReasons = decisionReasonsMap.get((key));
1363+
//
1364+
// OptimizelyDecision optimizelyDecision = createOptimizelyDecision(
1365+
// user, key, flagDecision, decisionReasons, allOptions, projectConfig
1366+
// );
1367+
//
1368+
// if (!allOptions.contains(OptimizelyDecideOption.ENABLED_FLAGS_ONLY) || optimizelyDecision.getEnabled()) {
1369+
// decisionMap.put(key, optimizelyDecision);
1370+
// }
1371+
// }
1372+
for (String key: validKeys) {
1373+
FeatureDecision flagDecision = flagDecisions.get(key);
13581374
DecisionReasons decisionReasons = decisionReasonsMap.get((key));
13591375

13601376
OptimizelyDecision optimizelyDecision = createOptimizelyDecision(

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -408,17 +408,17 @@ public void decideAll_allFlags() {
408408
List<ImpressionEvent> sentEvents = argumentCaptor.getAllValues();
409409
assertEquals(sentEvents.size(), 3);
410410

411-
assertEquals(sentEvents.get(2).getExperimentKey(), "exp_with_audience");
412-
assertEquals(sentEvents.get(2).getVariationKey(), "a");
413-
assertEquals(sentEvents.get(2).getUserContext().getUserId(), userId);
411+
assertEquals(sentEvents.get(0).getExperimentKey(), "exp_with_audience");
412+
assertEquals(sentEvents.get(0).getVariationKey(), "a");
413+
assertEquals(sentEvents.get(0).getUserContext().getUserId(), userId);
414414

415415

416416
assertEquals(sentEvents.get(1).getExperimentKey(), "exp_no_audience");
417417
assertEquals(sentEvents.get(1).getVariationKey(), "variation_with_traffic");
418418
assertEquals(sentEvents.get(1).getUserContext().getUserId(), userId);
419419

420-
assertEquals(sentEvents.get(0).getExperimentKey(), "");
421-
assertEquals(sentEvents.get(0).getUserContext().getUserId(), userId);
420+
assertEquals(sentEvents.get(2).getExperimentKey(), "");
421+
assertEquals(sentEvents.get(2).getUserContext().getUserId(), userId);
422422
}
423423

424424
@Test

0 commit comments

Comments
 (0)