@@ -26,6 +26,7 @@ public class OptimizelyConfigService {
26
26
private ProjectConfig projectConfig ;
27
27
private OptimizelyConfig optimizelyConfig ;
28
28
private List <OptimizelyAudience > audiences ;
29
+ private List <OptimizelyExperiment > experimentRules ;
29
30
private Map <String , String > audiencesMap ;
30
31
private Map <String , List <FeatureVariable >> featureIdToVariablesMap = new HashMap <>();
31
32
private Map <String , OptimizelyExperiment > experimentMapByExperimentId = new HashMap <>();
@@ -221,10 +222,8 @@ Map<String, OptimizelyFeature> getFeaturesMap(Map<String, OptimizelyExperiment>
221
222
Map <String , OptimizelyFeature > optimizelyFeatureKeyMap = new HashMap <>();
222
223
for (FeatureFlag featureFlag : featureFlags ) {
223
224
Map <String , OptimizelyExperiment > experimentsMapForFeature =
224
- getExperimentsMapForFeature (featureFlag .getExperimentIds (), allExperimentsMap );
225
+ getExperimentsMapForFeature (featureFlag .getExperimentIds ());
225
226
226
- List <OptimizelyExperiment > experimentRules =
227
- new ArrayList <OptimizelyExperiment >(experimentsMapForFeature .values ());
228
227
List <OptimizelyExperiment > deliveryRules =
229
228
this .getDeliveryRules (featureFlag .getRolloutId (), featureFlag .getId ());
230
229
@@ -267,17 +266,22 @@ List<OptimizelyExperiment> getDeliveryRules(String rolloutId, String featureId)
267
266
}
268
267
269
268
@ VisibleForTesting
270
- Map <String , OptimizelyExperiment > getExperimentsMapForFeature (List <String > experimentIds , Map < String , OptimizelyExperiment > allExperimentsMap ) {
269
+ Map <String , OptimizelyExperiment > getExperimentsMapForFeature (List <String > experimentIds ) {
271
270
if (experimentIds == null ) {
272
271
return Collections .emptyMap ();
273
272
}
274
273
274
+ List <OptimizelyExperiment > experimentRulesList = new ArrayList <>();
275
+
275
276
Map <String , OptimizelyExperiment > optimizelyExperimentKeyMap = new HashMap <>();
276
277
for (String experimentId : experimentIds ) {
277
- Experiment experiment = projectConfig .getExperimentIdMapping ().get (experimentId );
278
- optimizelyExperimentKeyMap .put (experiment .getKey (), experimentMapByExperimentId .get (experiment .getId ()));
278
+ OptimizelyExperiment optimizelyExperiment = experimentMapByExperimentId .get (experimentId );
279
+ optimizelyExperimentKeyMap .put (optimizelyExperiment .getKey (), optimizelyExperiment );
280
+ experimentRulesList .add (optimizelyExperiment );
279
281
}
280
282
283
+ this .experimentRules = experimentRulesList ;
284
+
281
285
return optimizelyExperimentKeyMap ;
282
286
}
283
287
0 commit comments