Beispiel #1
0
 public OptimizelyUserContext(Optimizely optimizely, string userId, UserAttributes userAttributes, ForcedDecisionsStore forcedDecisionsStore, IErrorHandler errorHandler, ILogger logger)
 {
     ErrorHandler         = errorHandler;
     Logger               = logger;
     Optimizely           = optimizely;
     Attributes           = userAttributes ?? new UserAttributes();
     ForcedDecisionsStore = forcedDecisionsStore ?? new ForcedDecisionsStore();
     UserId               = userId;
 }
Beispiel #2
0
        /// <summary>
        /// Returns copy of ForcedDecisionsStore associated with UserContext.
        /// </summary>
        /// <returns>copy of ForcedDecisionsStore.</returns>
        public ForcedDecisionsStore GetForcedDecisionsStore()
        {
            ForcedDecisionsStore copiedForcedDecisionsStore = null;

            lock (mutex)
            {
                if (ForcedDecisionsStore.Count == 0)
                {
                    copiedForcedDecisionsStore = ForcedDecisionsStore.NullForcedDecision();
                }
                else
                {
                    copiedForcedDecisionsStore = new ForcedDecisionsStore(ForcedDecisionsStore);
                }
            }

            return(copiedForcedDecisionsStore);
        }
Beispiel #3
0
 public ForcedDecisionsStore(ForcedDecisionsStore forcedDecisionsStore)
 {
     ForcedDecisionsMap = new Dictionary <string, OptimizelyForcedDecision>(forcedDecisionsStore.ForcedDecisionsMap);
 }
Beispiel #4
0
 /// <summary>
 /// Instantiates a NULL object when ForcedDecisionStore first time is used.
 /// </summary>
 static ForcedDecisionsStore()
 {
     NullForcedDecisionStore = new ForcedDecisionsStore();
 }