@@ -26,6 +26,7 @@ public class OptimizelyConfigService {
2626 private ProjectConfig projectConfig ;
2727 private OptimizelyConfig optimizelyConfig ;
2828 private List <OptimizelyAudience > audiences ;
29+ private List <OptimizelyExperiment > experimentRules ;
2930 private Map <String , String > audiencesMap ;
3031 private Map <String , List <FeatureVariable >> featureIdToVariablesMap = new HashMap <>();
3132 private Map <String , OptimizelyExperiment > experimentMapByExperimentId = new HashMap <>();
@@ -221,10 +222,8 @@ Map<String, OptimizelyFeature> getFeaturesMap(Map<String, OptimizelyExperiment>
221222 Map <String , OptimizelyFeature > optimizelyFeatureKeyMap = new HashMap <>();
222223 for (FeatureFlag featureFlag : featureFlags ) {
223224 Map <String , OptimizelyExperiment > experimentsMapForFeature =
224- getExperimentsMapForFeature (featureFlag .getExperimentIds (), allExperimentsMap );
225+ getExperimentsMapForFeature (featureFlag .getExperimentIds ());
225226
226- List <OptimizelyExperiment > experimentRules =
227- new ArrayList <OptimizelyExperiment >(experimentsMapForFeature .values ());
228227 List <OptimizelyExperiment > deliveryRules =
229228 this .getDeliveryRules (featureFlag .getRolloutId (), featureFlag .getId ());
230229
@@ -267,17 +266,22 @@ List<OptimizelyExperiment> getDeliveryRules(String rolloutId, String featureId)
267266 }
268267
269268 @ VisibleForTesting
270- Map <String , OptimizelyExperiment > getExperimentsMapForFeature (List <String > experimentIds , Map < String , OptimizelyExperiment > allExperimentsMap ) {
269+ Map <String , OptimizelyExperiment > getExperimentsMapForFeature (List <String > experimentIds ) {
271270 if (experimentIds == null ) {
272271 return Collections .emptyMap ();
273272 }
274273
274+ List <OptimizelyExperiment > experimentRulesList = new ArrayList <>();
275+
275276 Map <String , OptimizelyExperiment > optimizelyExperimentKeyMap = new HashMap <>();
276277 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 );
279281 }
280282
283+ this .experimentRules = experimentRulesList ;
284+
281285 return optimizelyExperimentKeyMap ;
282286 }
283287
0 commit comments