@@ -170,10 +170,12 @@ protected void createUserContext(ArgumentsParser argumentsParser, @NonNull Resul
170170 if (userContextsTracker .containsKey (sdkKey )) {
171171 userContextsTracker .get (sdkKey ).put (userContextId , optlyUserContext );
172172 } else {
173- userContextsTracker .put (sdkKey , Collections .singletonMap (userContextId , optlyUserContext ));
173+ Map <String , OptimizelyUserContext > idContextMap = new HashMap <>();
174+ idContextMap .put (userContextId , optlyUserContext );
175+ userContextsTracker .put (sdkKey , idContextMap );
174176 }
175177 result .success (createResponse (true ,
176- Collections .singletonMap (RequestParameterKey .USER_CONTEXT_ID , optlyUserContext ),
178+ Collections .singletonMap (RequestParameterKey .USER_CONTEXT_ID , userContextId ),
177179 SuccessMessage .USER_CONTEXT_CREATED ));
178180 } else {
179181 result .success (createResponse (false , "User context not created " ));
@@ -481,7 +483,7 @@ public OptimizelyClient getOptimizelyClient(String SDKKey) {
481483 public OptimizelyUserContext getUserContext (ArgumentsParser argumentsParser ) {
482484 String SDKKey = argumentsParser .getSdkKey ();
483485 String userContextId = argumentsParser .getUserContextId ();
484- if (userContextId == null || !userContextsTracker .get (SDKKey ).containsKey (userContextId )) {
486+ if (userContextId == null || userContextsTracker . get ( SDKKey ) == null || !userContextsTracker .get (SDKKey ).containsKey (userContextId )) {
485487 return null ;
486488 }
487489 return userContextsTracker .get (SDKKey ).get (userContextId );
0 commit comments