Prefab OpenFeature Provider can provide usage for Prefab via OpenFeature Java SDK.
<dependency>
<groupId>dev.openfeature.contrib.providers</groupId>
<artifactId>prefab</artifactId>
<version>0.0.1</version>
</dependency>Prefab OpenFeature Provider is using Prefab Java SDK.
PrefabProviderConfig prefabProviderConfig = PrefabProviderConfig.builder().sdkKey(sdkKey).build();
prefabProvider = new PrefabProvider(prefabProviderConfig);
OpenFeatureAPI.getInstance().setProviderAndWait(prefabProvider);
Options options = new Options().setApikey(sdkKey);
PrefabProviderConfig prefabProviderConfig = PrefabProviderConfig.builder()
.options(options).build();
PrefabProvider prefabProvider = new PrefabProvider(prefabProviderConfig);
OpenFeatureAPI.getInstance().setProviderAndWait(prefabProvider);
boolean featureEnabled = client.getBooleanValue(FLAG_NAME, false);
MutableContext evaluationContext = new MutableContext();
evaluationContext.add("user.key", "key1");
evaluationContext.add("team.domain", "prefab.cloud");
featureEnabled = client.getBooleanValue(USERS_FLAG_NAME, false, evaluationContext);
See PrefabProviderTest for more information.
Some Prefab custom operations are supported from the provider client via:
prefabProvider.getPrefabCloudClient()...Unit test based on Prefab local features file.
See PrefabProviderTest
for more information.