11package datadog .trace .api .openfeature ;
22
3- import datadog .trace .api .featureflag .FeatureFlag ;
3+ import static datadog .trace .api .featureflag .FeatureFlag .EVALUATOR ;
4+
45import datadog .trace .api .featureflag .FeatureFlagEvaluator ;
56import dev .openfeature .sdk .ErrorCode ;
67import dev .openfeature .sdk .EvaluationContext ;
@@ -21,15 +22,15 @@ public class Provider extends EventProvider implements Metadata, FeatureFlagEval
2122 private static final Logger LOGGER = LoggerFactory .getLogger (Provider .class );
2223 private static final String METADATA = "datadog-openfeature-provider" ;
2324
24- private final FeatureFlagEvaluator evaluator ;
25-
2625 public Provider () {
27- this ( FeatureFlag . EVALUATOR );
26+ EVALUATOR . addListener ( this );
2827 }
2928
30- Provider (final FeatureFlagEvaluator evaluator ) {
31- this .evaluator = evaluator ;
32- this .evaluator .addListener (this );
29+ @ Override
30+ public void onInitialized () {
31+ emit (
32+ ProviderEvent .PROVIDER_READY ,
33+ ProviderEventDetails .builder ().message ("Provider ready" ).build ());
3334 }
3435
3536 @ Override
@@ -39,13 +40,6 @@ public void onConfigurationChanged() {
3940 ProviderEventDetails .builder ().message ("New configuration received" ).build ());
4041 }
4142
42- @ Override
43- public void onInitialized () {
44- emit (
45- ProviderEvent .PROVIDER_READY ,
46- ProviderEventDetails .builder ().message ("Provider ready" ).build ());
47- }
48-
4943 @ Override
5044 public Metadata getMetadata () {
5145 return this ;
@@ -60,7 +54,7 @@ public String getName() {
6054 public ProviderEvaluation <Boolean > getBooleanEvaluation (
6155 final String key , final Boolean defaultValue , final EvaluationContext ctx ) {
6256 try {
63- return map (Boolean .class , evaluator .evaluate (key , defaultValue , new ContextAdapter (ctx )));
57+ return map (Boolean .class , EVALUATOR .evaluate (key , defaultValue , new ContextAdapter (ctx )));
6458 } catch (final FeatureFlagEvaluator .EvaluationError e ) {
6559 return fromError (e , defaultValue );
6660 }
@@ -70,7 +64,7 @@ public ProviderEvaluation<Boolean> getBooleanEvaluation(
7064 public ProviderEvaluation <String > getStringEvaluation (
7165 final String key , final String defaultValue , final EvaluationContext ctx ) {
7266 try {
73- return map (String .class , evaluator .evaluate (key , defaultValue , new ContextAdapter (ctx )));
67+ return map (String .class , EVALUATOR .evaluate (key , defaultValue , new ContextAdapter (ctx )));
7468 } catch (final FeatureFlagEvaluator .EvaluationError e ) {
7569 return fromError (e , defaultValue );
7670 }
@@ -80,7 +74,7 @@ public ProviderEvaluation<String> getStringEvaluation(
8074 public ProviderEvaluation <Integer > getIntegerEvaluation (
8175 final String key , final Integer defaultValue , final EvaluationContext ctx ) {
8276 try {
83- return map (Integer .class , evaluator .evaluate (key , defaultValue , new ContextAdapter (ctx )));
77+ return map (Integer .class , EVALUATOR .evaluate (key , defaultValue , new ContextAdapter (ctx )));
8478 } catch (final FeatureFlagEvaluator .EvaluationError e ) {
8579 return fromError (e , defaultValue );
8680 }
@@ -90,7 +84,7 @@ public ProviderEvaluation<Integer> getIntegerEvaluation(
9084 public ProviderEvaluation <Double > getDoubleEvaluation (
9185 final String key , final Double defaultValue , final EvaluationContext ctx ) {
9286 try {
93- return map (Double .class , evaluator .evaluate (key , defaultValue , new ContextAdapter (ctx )));
87+ return map (Double .class , EVALUATOR .evaluate (key , defaultValue , new ContextAdapter (ctx )));
9488 } catch (final FeatureFlagEvaluator .EvaluationError e ) {
9589 return fromError (e , defaultValue );
9690 }
@@ -100,7 +94,7 @@ public ProviderEvaluation<Double> getDoubleEvaluation(
10094 public ProviderEvaluation <Value > getObjectEvaluation (
10195 final String key , final Value defaultValue , final EvaluationContext ctx ) {
10296 try {
103- return map (Value .class , evaluator .evaluate (key , defaultValue , new ContextAdapter (ctx )));
97+ return map (Value .class , EVALUATOR .evaluate (key , defaultValue , new ContextAdapter (ctx )));
10498 } catch (final FeatureFlagEvaluator .EvaluationError e ) {
10599 return fromError (e , defaultValue );
106100 }
0 commit comments