diff --git a/providers/unleash/pom.xml b/providers/unleash/pom.xml
index 8993383cb..255644649 100644
--- a/providers/unleash/pom.xml
+++ b/providers/unleash/pom.xml
@@ -20,7 +20,7 @@
io.getunleash
unleash-client-java
- 9.3.2
+ 11.0.2
diff --git a/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashProvider.java b/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashProvider.java
index 2a4411752..6c94f85e4 100644
--- a/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashProvider.java
+++ b/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashProvider.java
@@ -1,6 +1,6 @@
package dev.openfeature.contrib.providers.unleash;
-import static io.getunleash.Variant.DISABLED_VARIANT;
+import static io.getunleash.variant.Variant.DISABLED_VARIANT;
import dev.openfeature.sdk.EvaluationContext;
import dev.openfeature.sdk.EventProvider;
@@ -12,8 +12,8 @@
import io.getunleash.DefaultUnleash;
import io.getunleash.Unleash;
import io.getunleash.UnleashContext;
-import io.getunleash.Variant;
import io.getunleash.util.UnleashConfig;
+import io.getunleash.variant.Variant;
import java.util.concurrent.atomic.AtomicBoolean;
import lombok.AccessLevel;
import lombok.Getter;
@@ -34,13 +34,13 @@ public class UnleashProvider extends EventProvider {
public static final String UNKNOWN_ERROR = "unknown error";
@Getter(AccessLevel.PROTECTED)
- private UnleashProviderConfig unleashProviderConfig;
+ private final UnleashProviderConfig unleashProviderConfig;
@Setter(AccessLevel.PROTECTED)
@Getter
private Unleash unleash;
- private AtomicBoolean isInitialized = new AtomicBoolean(false);
+ private final AtomicBoolean isInitialized = new AtomicBoolean(false);
/**
* Constructor.
diff --git a/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashSubscriberWrapper.java b/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashSubscriberWrapper.java
index 8c8c1bafe..13b07f7ac 100644
--- a/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashSubscriberWrapper.java
+++ b/providers/unleash/src/main/java/dev/openfeature/contrib/providers/unleash/UnleashSubscriberWrapper.java
@@ -5,6 +5,8 @@
import dev.openfeature.sdk.ProviderEventDetails;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import io.getunleash.UnleashException;
+import io.getunleash.event.ClientFeaturesResponse;
+import io.getunleash.event.FeatureSet;
import io.getunleash.event.ImpressionEvent;
import io.getunleash.event.ToggleEvaluated;
import io.getunleash.event.UnleashEvent;
@@ -12,9 +14,6 @@
import io.getunleash.event.UnleashSubscriber;
import io.getunleash.metric.ClientMetrics;
import io.getunleash.metric.ClientRegistration;
-import io.getunleash.repository.FeatureCollection;
-import io.getunleash.repository.FeatureToggleResponse;
-import io.getunleash.repository.ToggleCollection;
import javax.annotation.Nullable;
import lombok.Generated;
import lombok.extern.slf4j.Slf4j;
@@ -24,8 +23,8 @@
@Generated
public class UnleashSubscriberWrapper implements UnleashSubscriber {
- private UnleashSubscriber unleashSubscriber;
- private EventProvider eventProvider;
+ private final UnleashSubscriber unleashSubscriber;
+ private final EventProvider eventProvider;
/**
* Constructor.
@@ -67,9 +66,9 @@ public void toggleEvaluated(ToggleEvaluated toggleEvaluated) {
}
@Override
- public void togglesFetched(FeatureToggleResponse toggleResponse) {
+ public void togglesFetched(ClientFeaturesResponse toggleResponse) {
unleashSubscriber.togglesFetched(toggleResponse);
- if (FeatureToggleResponse.Status.CHANGED.equals(toggleResponse.getStatus())) {
+ if (ClientFeaturesResponse.Status.CHANGED.equals(toggleResponse.getStatus())) {
eventProvider.emitProviderConfigurationChanged(ProviderEventDetails.builder()
.eventMetadata(ImmutableMetadata.builder().build())
.build());
@@ -87,33 +86,18 @@ public void clientRegistered(ClientRegistration clientRegistration) {
}
@Override
- public void togglesBackedUp(ToggleCollection toggleCollection) {
- unleashSubscriber.togglesBackedUp(toggleCollection);
+ public void featuresBackedUp(FeatureSet toggleCollection) {
+ unleashSubscriber.featuresBackedUp(toggleCollection);
}
@Override
- public void toggleBackupRestored(ToggleCollection toggleCollection) {
- unleashSubscriber.toggleBackupRestored(toggleCollection);
+ public void featuresBackupRestored(FeatureSet toggleCollection) {
+ unleashSubscriber.featuresBackupRestored(toggleCollection);
}
@Override
- public void togglesBootstrapped(ToggleCollection toggleCollection) {
- unleashSubscriber.togglesBootstrapped(toggleCollection);
- }
-
- @Override
- public void featuresBootstrapped(FeatureCollection featureCollection) {
- unleashSubscriber.featuresBootstrapped(featureCollection);
- }
-
- @Override
- public void featuresBackedUp(FeatureCollection featureCollection) {
- unleashSubscriber.featuresBackedUp(featureCollection);
- }
-
- @Override
- public void featuresBackupRestored(FeatureCollection featureCollection) {
- unleashSubscriber.featuresBackupRestored(featureCollection);
+ public void featuresBootstrapped(FeatureSet toggleCollection) {
+ unleashSubscriber.featuresBootstrapped(toggleCollection);
}
@Override
diff --git a/providers/unleash/src/test/java/dev/openfeature/contrib/providers/unleash/UnleashProviderTest.java b/providers/unleash/src/test/java/dev/openfeature/contrib/providers/unleash/UnleashProviderTest.java
index efb27f805..1d44647f5 100644
--- a/providers/unleash/src/test/java/dev/openfeature/contrib/providers/unleash/UnleashProviderTest.java
+++ b/providers/unleash/src/test/java/dev/openfeature/contrib/providers/unleash/UnleashProviderTest.java
@@ -21,10 +21,10 @@
import dev.openfeature.sdk.Value;
import io.getunleash.UnleashContext;
import io.getunleash.UnleashException;
+import io.getunleash.event.ClientFeaturesResponse;
import io.getunleash.event.ToggleEvaluated;
import io.getunleash.event.UnleashEvent;
import io.getunleash.event.UnleashSubscriber;
-import io.getunleash.repository.FeatureToggleResponse;
import io.getunleash.util.UnleashConfig;
import java.net.URI;
import java.net.URL;
@@ -230,7 +230,9 @@ void getEvaluationMetadataTest() {
ProviderEvaluation stringEvaluation =
unleashProvider.getStringEvaluation(VARIANT_FLAG_NAME, "", new ImmutableContext());
ImmutableMetadata flagMetadata = stringEvaluation.getFlagMetadata();
- assertEquals("default", flagMetadata.getString("variant-stickiness"));
+ // TODO since v11 this returns null instead of the value features.json, while it returned "default" before
+ // cf https://github.com/Unleash/unleash-java-sdk/issues/316
+ assertEquals(null, flagMetadata.getString("variant-stickiness"));
assertEquals("string", flagMetadata.getString("payload-type"));
assertEquals(true, flagMetadata.getBoolean("enabled"));
ProviderEvaluation nonExistingFlagEvaluation =
@@ -286,16 +288,12 @@ void subscriberWrapperTest() {
unleashSubscriberWrapper.featuresBootstrapped(null);
unleashSubscriberWrapper.impression(null);
unleashSubscriberWrapper.toggleEvaluated(new ToggleEvaluated("dummy", false));
- unleashSubscriberWrapper.togglesFetched(
- new FeatureToggleResponse(FeatureToggleResponse.Status.NOT_CHANGED, 200));
- unleashSubscriberWrapper.toggleBackupRestored(null);
- unleashSubscriberWrapper.togglesBackedUp(null);
- unleashSubscriberWrapper.togglesBootstrapped(null);
+ unleashSubscriberWrapper.togglesFetched(ClientFeaturesResponse.notChanged());
}
private class TestSubscriber implements UnleashSubscriber {
- private FeatureToggleResponse.Status status;
+ private ClientFeaturesResponse.Status status;
private String toggleName;
private boolean toggleEnabled;
@@ -320,7 +318,7 @@ public void toggleEvaluated(ToggleEvaluated toggleEvaluated) {
}
@Override
- public void togglesFetched(FeatureToggleResponse toggleResponse) {
+ public void togglesFetched(ClientFeaturesResponse toggleResponse) {
this.status = toggleResponse.getStatus();
}
}
diff --git a/providers/unleash/src/test/resources/features.json b/providers/unleash/src/test/resources/features.json
index 5b78c82b3..2cdc6acd7 100644
--- a/providers/unleash/src/test/resources/features.json
+++ b/providers/unleash/src/test/resources/features.json
@@ -1,5 +1,5 @@
{
- "version": 1,
+ "version": 2,
"features": [
{
"name": "variant-flag",