Skip to content

Commit cad4281

Browse files
Fix compilation issues
1 parent 5d0e4ce commit cad4281

File tree

5 files changed

+38
-32
lines changed

5 files changed

+38
-32
lines changed

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,7 @@ public void execute() {
656656
maybeStartDebugger(instrumentation, scoClass, sco);
657657
maybeStartRemoteConfig(scoClass, sco);
658658
maybeStartAiGuard();
659-
maybeStartFeatureFlag(instrumentation, scoClass, sco);
659+
maybeStartFeatureFlag(scoClass, sco);
660660

661661
if (telemetryEnabled) {
662662
startTelemetry(instrumentation, scoClass, sco);
@@ -1078,16 +1078,15 @@ private static void maybeStartLLMObs(Instrumentation inst, Class<?> scoClass, Ob
10781078
}
10791079
}
10801080

1081-
private static void maybeStartFeatureFlag(
1082-
final Instrumentation inst, final Class<?> scoClass, final Object sco) {
1081+
private static void maybeStartFeatureFlag(final Class<?> scoClass, final Object sco) {
10831082
if (featureFlagEnabled) {
10841083
StaticEventLogger.begin("Feature Flag");
10851084

10861085
try {
10871086
final Class<?> ffSysClass =
10881087
AGENT_CLASSLOADER.loadClass("com.datadog.featureflag.FeatureFlagSystem");
1089-
final Method ffSysMethod = ffSysClass.getMethod("start", Instrumentation.class, scoClass);
1090-
ffSysMethod.invoke(null, inst, sco);
1088+
final Method ffSysMethod = ffSysClass.getMethod("start", scoClass);
1089+
ffSysMethod.invoke(null, sco);
10911090
} catch (final Throwable e) {
10921091
log.warn("Not starting Feature Flag subsystem", e);
10931092
}

dd-java-agent/agent-featureflag/src/main/java/com/datadog/featureflag/FeatureFlagEvaluatorImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ public Resolution<Object> evaluate(
5151

5252
@Override
5353
public void addListener(final Listener listener) {
54+
if (configuration.get() != null) {
55+
listener.onInitialized();
56+
}
5457
synchronized (listeners) {
5558
this.listeners.add(listener);
5659
}

dd-java-agent/agent-featureflag/src/test/groovy/com/datadog/featureflag/evaluator/FeatureFlagEvaluatorTests.groovy

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.datadog.featureflag.evaluator
22

33
import com.datadog.featureflag.FeatureFlagEvaluatorImpl
4+
import datadog.trace.api.featureflag.FeatureFlag
45
import datadog.trace.api.openfeature.Provider
56
import dev.openfeature.sdk.Client
67
import dev.openfeature.sdk.EvaluationContext
@@ -15,18 +16,16 @@ class FeatureFlagEvaluatorTests extends BaseFeatureFlagsTest {
1516
@Shared
1617
protected Client client
1718

18-
@Shared
19-
protected FeatureFlagEvaluatorImpl evaluator
20-
2119
void setup() {
22-
evaluator = new FeatureFlagEvaluatorImpl()
23-
OpenFeatureAPI.getInstance().setProviderAndWait(new Provider(evaluator))
20+
final evaluator = new FeatureFlagEvaluatorImpl()
21+
evaluator.accept(configuration)
22+
FeatureFlag.EVALUATOR = evaluator
23+
OpenFeatureAPI.getInstance().setProviderAndWait(new Provider())
2424
client = OpenFeatureAPI.getInstance().getClient()
2525
}
2626

2727
void 'test feature flag evaluation'() {
2828
setup:
29-
evaluator.accept(configuration)
3029
final testCase = input["testCase"] as TestCase
3130
final context = buildContext(testCase)
3231

dd-trace-api/openfeature/build.gradle.kts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ val minJavaVersionForTests by extra(JavaVersion.VERSION_11)
1111

1212
description = "open-feature"
1313

14+
idea {
15+
module {
16+
jdkName = "11"
17+
}
18+
}
19+
1420
dependencies {
1521
api(libs.slf4j)
1622
api(libs.openfeature.sdk)
@@ -21,8 +27,13 @@ fun AbstractCompile.configureCompiler(javaVersionInteger: Int, compatibilityVers
2127
(project.extra["configureCompiler"] as Closure<*>).call(this, javaVersionInteger, compatibilityVersion, unsetReleaseFlagReason)
2228
}
2329

24-
listOf("compileJava", "compileTestJava").forEach {
25-
tasks.named<JavaCompile>(it) {
30+
listOf(JavaCompile::class.java, GroovyCompile::class.java).forEach { compileTaskType ->
31+
tasks.withType(compileTaskType).configureEach {
2632
configureCompiler(11, JavaVersion.VERSION_11)
2733
}
2834
}
35+
36+
tasks.withType<Javadoc>().configureEach {
37+
// TODO ensure it uses JDK 11
38+
enabled = false
39+
}

dd-trace-api/openfeature/src/main/java/datadog/trace/api/openfeature/Provider.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package datadog.trace.api.openfeature;
22

3-
import datadog.trace.api.featureflag.FeatureFlag;
3+
import static datadog.trace.api.featureflag.FeatureFlag.EVALUATOR;
4+
45
import datadog.trace.api.featureflag.FeatureFlagEvaluator;
56
import dev.openfeature.sdk.ErrorCode;
67
import 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

Comments
 (0)