From aee2e1fc9f55f04f2b3b2dc6a4f609f5c1ede401 Mon Sep 17 00:00:00 2001 From: Jae Kim Date: Tue, 15 Dec 2020 09:52:14 -0800 Subject: [PATCH 1/2] fix samples code to use decide apis --- .../src/main/java/com/optimizely/Example.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/java-quickstart/src/main/java/com/optimizely/Example.java b/java-quickstart/src/main/java/com/optimizely/Example.java index ade4ed679..940b92f12 100644 --- a/java-quickstart/src/main/java/com/optimizely/Example.java +++ b/java-quickstart/src/main/java/com/optimizely/Example.java @@ -17,11 +17,12 @@ import com.optimizely.ab.Optimizely; import com.optimizely.ab.OptimizelyFactory; -import com.optimizely.ab.config.Variation; +import com.optimizely.ab.OptimizelyUserContext; +import com.optimizely.ab.optimizelydecision.OptimizelyDecision; +import com.optimizely.ab.optimizelyjson.OptimizelyJSON; import java.util.Collections; import java.util.Map; - import java.util.Random; import java.util.concurrent.TimeUnit; @@ -33,20 +34,21 @@ private Example(Optimizely optimizely) { this.optimizely = optimizely; } - private void processVisitor(String userId, Map attributes) { - Variation variation = optimizely.activate("background_experiment", userId, attributes); + private void processVisitor(String userId, Map attributes) { + OptimizelyUserContext user = optimizely.createUserContext(userId, attributes); + + OptimizelyDecision decision = user.decide("eet_feature"); + String variationKey = decision.getVariationKey(); + + if (variationKey != null) { + boolean enabled = decision.getEnabled(); + OptimizelyJSON variables = decision.getVariables(); + System.out.println("[Example] feature enabled: " + enabled); - if (variation != null) { - optimizely.track("sample_conversion", userId, attributes); - System.out.println(String.format("Found variation %s", variation.getKey())); + user.trackEvent("eet_conversion"); } else { - System.out.println("didn't get a variation"); - } - - if (optimizely.isFeatureEnabled("eet_feature", userId, attributes)) { - optimizely.track("eet_conversion", userId, attributes); - System.out.println("feature enabled"); + System.out.println("[Example] decision failed: " + decision.getReasons().toString()); } } @@ -57,7 +59,7 @@ public static void main(String[] args) throws InterruptedException { Random random = new Random(); for (int i = 0; i < 10; i++) { - String userId = String.valueOf(random.nextInt()); + String userId = String.valueOf(random.nextInt(Integer.MAX_VALUE)); example.processVisitor(userId, Collections.emptyMap()); TimeUnit.MILLISECONDS.sleep(500); } From e37f4ee53852c2a42ec92ce7a54271ac6cd58fa7 Mon Sep 17 00:00:00 2001 From: Jae Kim Date: Tue, 15 Dec 2020 10:15:24 -0800 Subject: [PATCH 2/2] fix unused variable in sample codes --- java-quickstart/src/main/java/com/optimizely/Example.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java-quickstart/src/main/java/com/optimizely/Example.java b/java-quickstart/src/main/java/com/optimizely/Example.java index 940b92f12..04d7f78da 100644 --- a/java-quickstart/src/main/java/com/optimizely/Example.java +++ b/java-quickstart/src/main/java/com/optimizely/Example.java @@ -42,9 +42,11 @@ private void processVisitor(String userId, Map attributes) { if (variationKey != null) { boolean enabled = decision.getEnabled(); - OptimizelyJSON variables = decision.getVariables(); System.out.println("[Example] feature enabled: " + enabled); + OptimizelyJSON variables = decision.getVariables(); + System.out.println("[Example] feature variables: " + variables.toString()); + user.trackEvent("eet_conversion"); } else {