Skip to content

Commit d6ed982

Browse files
committed
Updated factory
1 parent 942d236 commit d6ed982

File tree

1 file changed

+12
-22
lines changed

1 file changed

+12
-22
lines changed

splitio/client/factory.go

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -299,12 +299,7 @@ func setupInMemoryFactory(
299299

300300
isProxy := splitAPI.SplitFetcher.IsProxy()
301301

302-
fallbackTreatmentConf := dtos.FallbackTreatmentConfig{}
303-
if cfg.Advanced.FallbackTreatment != nil {
304-
fallbackTreatmentConf.GlobalFallbackTreatment = conf.SanitizeGlobalFallbackTreatment(cfg.Advanced.FallbackTreatment.GlobalFallbackTreatment, logger)
305-
fallbackTreatmentConf.ByFlagFallbackTreatment = conf.SanitizeByFlagFallBackTreatment(cfg.Advanced.FallbackTreatment.ByFlagFallbackTreatment, logger)
306-
}
307-
fallbackTreatmentCalculator := dtos.NewFallbackTreatmentCalculatorImp(&fallbackTreatmentConf)
302+
fallbackTreatmentCalculator := createFallbackTreatmentCalculator(cfg.Advanced.FallbackTreatment, logger)
308303

309304
evaluator := evaluator.NewEvaluator(splitsStorage, segmentsStorage, ruleBasedSegmentStorage, nil, engine.NewEngine(logger), logger, cfg.Advanced.FeatureFlagRules, cfg.Advanced.RuleBasedSegmentRules, fallbackTreatmentCalculator)
310305
ruleBuilder := grammar.NewRuleBuilder(segmentsStorage, ruleBasedSegmentStorage, nil, cfg.Advanced.FeatureFlagRules, cfg.Advanced.RuleBasedSegmentRules, logger, evaluator)
@@ -448,13 +443,6 @@ func setupRedisFactory(apikey string, cfg *conf.SplitSdkConfig, logger logging.L
448443

449444
syncManager := synchronizer.NewSynchronizerManagerRedis(syncImpl, logger)
450445

451-
fallbackTreatmentConf := dtos.FallbackTreatmentConfig{}
452-
if cfg.Advanced.FallbackTreatment != nil {
453-
fallbackTreatmentConf.GlobalFallbackTreatment = conf.SanitizeGlobalFallbackTreatment(cfg.Advanced.FallbackTreatment.GlobalFallbackTreatment, logger)
454-
fallbackTreatmentConf.ByFlagFallbackTreatment = conf.SanitizeByFlagFallBackTreatment(cfg.Advanced.FallbackTreatment.ByFlagFallbackTreatment, logger)
455-
}
456-
fallbackTreatmentCalculator := dtos.NewFallbackTreatmentCalculatorImp(&fallbackTreatmentConf)
457-
458446
factory := &SplitFactory{
459447
startTime: time.Now().UTC(),
460448
apikey: apikey,
@@ -467,7 +455,7 @@ func setupRedisFactory(apikey string, cfg *conf.SplitSdkConfig, logger logging.L
467455
telemetrySync: telemetry.NewSynchronizerRedis(telemetryStorage, logger),
468456
impressionManager: impressionManager,
469457
syncManager: syncManager,
470-
fallbackTreatmentCalculator: fallbackTreatmentCalculator,
458+
fallbackTreatmentCalculator: createFallbackTreatmentCalculator(cfg.Advanced.FallbackTreatment, logger),
471459
}
472460
factory.status.Store(sdkStatusInitializing)
473461
setFactory(factory.apikey, factory.logger)
@@ -532,13 +520,6 @@ func setupLocalhostFactory(
532520
return nil, err
533521
}
534522

535-
fallbackTreatmentConf := dtos.FallbackTreatmentConfig{}
536-
if cfg.Advanced.FallbackTreatment != nil {
537-
fallbackTreatmentConf.GlobalFallbackTreatment = conf.SanitizeGlobalFallbackTreatment(cfg.Advanced.FallbackTreatment.GlobalFallbackTreatment, logger)
538-
fallbackTreatmentConf.ByFlagFallbackTreatment = conf.SanitizeByFlagFallBackTreatment(cfg.Advanced.FallbackTreatment.ByFlagFallbackTreatment, logger)
539-
}
540-
fallbackTreatmentCalculator := dtos.NewFallbackTreatmentCalculatorImp(&fallbackTreatmentConf)
541-
542523
splitFactory := &SplitFactory{
543524
startTime: time.Now().UTC(),
544525
apikey: apikey,
@@ -558,7 +539,7 @@ func setupLocalhostFactory(
558539
readinessSubscriptors: make(map[int]chan int),
559540
syncManager: syncManager,
560541
telemetrySync: &telemetry.NoOp{},
561-
fallbackTreatmentCalculator: fallbackTreatmentCalculator,
542+
fallbackTreatmentCalculator: createFallbackTreatmentCalculator(cfg.Advanced.FallbackTreatment, logger),
562543
}
563544
splitFactory.status.Store(sdkStatusInitializing)
564545

@@ -622,3 +603,12 @@ func printWarnings(logger logging.LoggerInterface, errs []error) {
622603
}
623604
}
624605
}
606+
607+
func createFallbackTreatmentCalculator(fallbackTreatmentConfig *dtos.FallbackTreatmentConfig, logger logging.LoggerInterface) dtos.FallbackTreatmentCalculator {
608+
fallbackTreatmentConf := dtos.FallbackTreatmentConfig{}
609+
if fallbackTreatmentConfig != nil {
610+
fallbackTreatmentConf.GlobalFallbackTreatment = conf.SanitizeGlobalFallbackTreatment(fallbackTreatmentConfig.GlobalFallbackTreatment, logger)
611+
fallbackTreatmentConf.ByFlagFallbackTreatment = conf.SanitizeByFlagFallBackTreatment(fallbackTreatmentConfig.ByFlagFallbackTreatment, logger)
612+
}
613+
return dtos.NewFallbackTreatmentCalculatorImp(&fallbackTreatmentConf)
614+
}

0 commit comments

Comments
 (0)