File tree Expand file tree Collapse file tree 2 files changed +13
-5
lines changed
main/java/dev/openfeature/sdk
test/java/dev/openfeature/sdk Expand file tree Collapse file tree 2 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -84,7 +84,11 @@ public EvaluationContext getEvaluationContext() {
8484 * {@inheritDoc}
8585 */
8686 public void setProvider (FeatureProvider provider ) {
87- setProvider (DEFAULT_PROVIDER_KEY , provider );
87+ if (provider == null ) {
88+ this .providers .remove (DEFAULT_PROVIDER_KEY );
89+ } else {
90+ setProvider (DEFAULT_PROVIDER_KEY , provider );
91+ }
8892 }
8993
9094 /**
@@ -112,9 +116,11 @@ public FeatureProvider getProvider() {
112116 */
113117 public FeatureProvider getProviderForClientOrDefault (String name ) {
114118 try (AutoCloseableLock __ = providerLock .writeLockAutoCloseable ()) {
115- FeatureProvider val = this .providers .get (name );
116- if (val != null ) {
117- return val ;
119+ if (name != null ) { // this happens when a client name isn't set.
120+ FeatureProvider val = this .providers .get (name );
121+ if (val != null ) {
122+ return val ;
123+ }
118124 }
119125 return this .providers .get (DEFAULT_PROVIDER_KEY );
120126 }
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ class OpenFeatureClientTest implements HookFixtures {
2727 @ DisplayName ("should not throw exception if hook has different type argument than hookContext" )
2828 void shouldNotThrowExceptionIfHookHasDifferentTypeArgumentThanHookContext () {
2929 OpenFeatureAPI api = mock (OpenFeatureAPI .class );
30- when (api .getProvider ( )).thenReturn (new DoSomethingProvider ());
30+ when (api .getProviderForClientOrDefault ( any () )).thenReturn (new DoSomethingProvider ());
3131 when (api .getHooks ()).thenReturn (Arrays .asList (mockBooleanHook (), mockStringHook ()));
3232
3333 OpenFeatureClient client = new OpenFeatureClient (api , "name" , "version" );
@@ -57,6 +57,8 @@ void mergeContextTest() {
5757 context -> context .getTargetingKey ().equals (targetingKey )))).thenReturn (ProviderEvaluation .<Boolean >builder ()
5858 .value (true ).build ());
5959 when (api .getProvider ()).thenReturn (mockProvider );
60+ when (api .getProviderForClientOrDefault (any ())).thenReturn (mockProvider );
61+
6062
6163 OpenFeatureClient client = new OpenFeatureClient (api , "name" , "version" );
6264 client .setEvaluationContext (ctx );
You can’t perform that action at this time.
0 commit comments