keycloak-uncached

Details

diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
index 6bed4cf..4b5309a 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
@@ -349,6 +349,8 @@ public class UserCacheSession implements UserCache {
         StorageId storageId = delegate.getFederationLink() != null ?
                 new StorageId(delegate.getFederationLink(), delegate.getId()) : new StorageId(delegate.getId());
         CachedUser cached = null;
+        UserAdapter adapter = null;
+
         if (!storageId.isLocal()) {
             ComponentModel component = realm.getComponent(storageId.getProviderId());
             UserStorageProviderModel model = new UserStorageProviderModel(component);
@@ -364,7 +366,11 @@ public class UserCacheSession implements UserCache {
             if (policy != null && policy == UserStorageProviderModel.CachePolicy.NO_CACHE) {
                 return delegate;
             }
+
             cached = new CachedUser(revision, realm, delegate, notBefore);
+            adapter = new UserAdapter(cached, this, session, realm);
+            onCache(realm, adapter, delegate);
+
             if (policy == null || policy == UserStorageProviderModel.CachePolicy.DEFAULT) {
                 cache.addRevisioned(cached, startupRevision);
             } else {
@@ -388,12 +394,12 @@ public class UserCacheSession implements UserCache {
             }
         } else {
             cached = new CachedUser(revision, realm, delegate, notBefore);
+            adapter = new UserAdapter(cached, this, session, realm);
+            onCache(realm, adapter, delegate);
             cache.addRevisioned(cached, startupRevision);
         }
-        UserAdapter adapter = new UserAdapter(cached, this, session, realm);
-        onCache(realm, adapter, delegate);
-        return adapter;
 
+        return adapter;
     }