Skip to content

Commit ae1e7c5

Browse files
author
Bernd Warmuth
committed
fixup! feat: implemented support for tracking
Signed-off-by: Bernd Warmuth <[email protected]>
1 parent d40050f commit ae1e7c5

File tree

4 files changed

+10
-15
lines changed

4 files changed

+10
-15
lines changed

src/main/java/dev/openfeature/sdk/FeatureProvider.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package dev.openfeature.sdk;
22

3-
import javax.annotation.Nullable;
43
import java.util.ArrayList;
54
import java.util.List;
65

@@ -76,10 +75,10 @@ default ProviderState getState() {
7675
* Feature provider implementations can opt in for to support Tracking by implementing this method.
7776
*
7877
* @param eventName The name of the tracking event
79-
* @param context Evaluation context used in flag evaluation (Optional)
80-
* @param details Data pertinent to a particular tracking event (Optional)
78+
* @param context Evaluation context used in flag evaluation (Optional)
79+
* @param details Data pertinent to a particular tracking event (Optional)
8180
*/
82-
default void track(String eventName, @Nullable EvaluationContext context, @Nullable TrackingEventDetails details) {
81+
default void track(String eventName, EvaluationContext context, TrackingEventDetails details) {
8382

8483
}
8584
}

src/main/java/dev/openfeature/sdk/MutableTrackingEventDetails.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,18 @@
1616
@ToString
1717
public class MutableTrackingEventDetails implements TrackingEventDetails {
1818

19-
2019
@Getter
21-
private final float target;
20+
private final Number value;
2221
@Delegate(excludes = MutableTrackingEventDetails.DelegateExclusions.class)
2322
private final MutableStructure structure;
2423

2524
public MutableTrackingEventDetails() {
26-
this.target = 0f;
25+
this.value = 0f;
2726
this.structure = new MutableStructure();
2827
}
2928

30-
public MutableTrackingEventDetails(final float target) {
31-
this.target = target;
29+
public MutableTrackingEventDetails(final float value) {
30+
this.value = value;
3231
this.structure = new MutableStructure();
3332
}
3433

src/main/java/dev/openfeature/sdk/OpenFeatureClient.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import lombok.Getter;
1212
import lombok.extern.slf4j.Slf4j;
1313

14-
import javax.annotation.Nullable;
1514
import java.util.ArrayList;
1615
import java.util.Arrays;
1716
import java.util.Collections;
@@ -230,9 +229,7 @@ private static <T> void enrichDetailsWithErrorDefaults(T defaultValue, FlagEvalu
230229
details.setReason(Reason.ERROR.toString());
231230
}
232231

233-
private void invokeTrack(String trackingEventName,
234-
@Nullable EvaluationContext context,
235-
@Nullable TrackingEventDetails details) {
232+
private void invokeTrack(String trackingEventName, EvaluationContext context, TrackingEventDetails details) {
236233
if ("".equals(trackingEventName)) {
237234
throw new IllegalArgumentException("trackingEventName cannot be empty");
238235
}

src/test/java/dev/openfeature/sdk/TrackingSpecTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ void noopProvider() {
136136
"fields, having keys of type `string`, and values of type `boolean | string | number | structure`.")
137137
@Test
138138
void eventDetails() {
139-
assertEquals(0f, new MutableTrackingEventDetails().getTarget());
140-
assertEquals(9.87f, new MutableTrackingEventDetails(9.87f).getTarget());
139+
assertEquals(0f, new MutableTrackingEventDetails().getValue());
140+
assertEquals(9.87f, new MutableTrackingEventDetails(9.87f).getValue());
141141
Map<String, Value> expectedMap = Maps.newHashMap();
142142
expectedMap.put("my-str", new Value("str"));
143143
expectedMap.put("my-num", new Value(1));

0 commit comments

Comments
 (0)