Skip to content

Commit 3037183

Browse files
[FSSDK-11544] duplicate logic adjustment
1 parent 2ec57de commit 3037183

File tree

3 files changed

+1
-40
lines changed

3 files changed

+1
-40
lines changed

OptimizelySDK.Tests/ProjectConfigTest.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,13 +1369,6 @@ public void TestHoldoutDeserialization_FromDatafile()
13691369

13701370
Assert.IsNotNull(datafileProjectConfig.Holdouts);
13711371
Assert.AreEqual(3, datafileProjectConfig.Holdouts.Length);
1372-
Assert.IsNotNull(datafileProjectConfig.HoldoutIdMap);
1373-
Assert.AreEqual(3, datafileProjectConfig.HoldoutIdMap.Count);
1374-
1375-
// Verify specific holdouts are present
1376-
Assert.IsTrue(datafileProjectConfig.HoldoutIdMap.ContainsKey("holdout_global_1"));
1377-
Assert.IsTrue(datafileProjectConfig.HoldoutIdMap.ContainsKey("holdout_included_1"));
1378-
Assert.IsTrue(datafileProjectConfig.HoldoutIdMap.ContainsKey("holdout_excluded_1"));
13791372
}
13801373

13811374
[Test]
@@ -1451,8 +1444,6 @@ public void TestMissingHoldoutsField_BackwardCompatibility()
14511444

14521445
Assert.IsNotNull(datafileProjectConfig.Holdouts);
14531446
Assert.AreEqual(0, datafileProjectConfig.Holdouts.Length);
1454-
Assert.IsNotNull(datafileProjectConfig.HoldoutIdMap);
1455-
Assert.AreEqual(0, datafileProjectConfig.HoldoutIdMap.Count);
14561447

14571448
// Methods should still work with empty holdouts
14581449
var holdouts = datafileProjectConfig.GetHoldoutsForFlag("any_flag");

OptimizelySDK/Config/DatafileProjectConfig.cs

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -216,11 +216,6 @@ private Dictionary<string, Dictionary<string, Variation>> _VariationIdMap
216216

217217
public Dictionary<string, Rollout> RolloutIdMap => _RolloutIdMap;
218218

219-
/// <summary>
220-
/// Associative array of Holdout ID to Holdout(s) in the datafile
221-
/// </summary>
222-
public Dictionary<string, Holdout> HoldoutIdMap { get; private set; }
223-
224219
/// <summary>
225220
/// Associative array of experiment IDs that exist in any feature
226221
/// for checking that experiment is a feature experiment.
@@ -343,8 +338,6 @@ private void Initialize()
343338
f => f.Key, true);
344339
_RolloutIdMap = ConfigParser<Rollout>.GenerateMap(Rollouts,
345340
r => r.Id.ToString(), true);
346-
HoldoutIdMap = ConfigParser<Holdout>.GenerateMap(Holdouts,
347-
h => h.Id, true);
348341

349342
// Overwrite similar items in audience id map with typed audience id map.
350343
var typedAudienceIdMap = ConfigParser<Audience>.GenerateMap(TypedAudiences,
@@ -795,25 +788,7 @@ public Rollout GetRolloutFromId(string rolloutId)
795788
/// <returns>Holdout Entity corresponding to the holdout ID or null if ID is invalid</returns>
796789
public Holdout GetHoldout(string holdoutId)
797790
{
798-
#if NET35 || NET40
799-
if (string.IsNullOrEmpty(holdoutId) || string.IsNullOrEmpty(holdoutId.Trim()))
800-
#else
801-
if (string.IsNullOrWhiteSpace(holdoutId))
802-
#endif
803-
{
804-
return null;
805-
}
806-
807-
if (HoldoutIdMap.ContainsKey(holdoutId))
808-
{
809-
return HoldoutIdMap[holdoutId];
810-
}
811-
812-
var message = $@"Holdout ID ""{holdoutId}"" is not in datafile.";
813-
Logger.Log(LogLevel.ERROR, message);
814-
ErrorHandler.HandleError(
815-
new InvalidHoldoutException("Provided holdout is not in datafile."));
816-
return null;
791+
return _holdoutConfig.GetHoldout(holdoutId);
817792
}
818793

819794
/// <summary>

OptimizelySDK/ProjectConfig.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,6 @@ public interface ProjectConfig
128128
/// </summary>
129129
Dictionary<string, Rollout> RolloutIdMap { get; }
130130

131-
/// <summary>
132-
/// Associative array of Holdout ID to Holdout(s) in the datafile
133-
/// </summary>
134-
Dictionary<string, Holdout> HoldoutIdMap { get; }
135-
136131
/// <summary>
137132
/// Associative dictionary of Flag to Variation key and Variation in the datafile
138133
/// </summary>

0 commit comments

Comments
 (0)