Merge pull request #3371 from brewers/bug/cache-dynamic-resource

KEYCLOAK-3752 : Include programmatically created resources in the resource cache
This commit is contained in:
Pedro Igor 2016-11-02 07:19:04 -02:00 committed by GitHub
commit 4bf5da8fac

View file

@ -108,13 +108,9 @@ public class CachedResourceStore implements ResourceStore {
@Override @Override
public List<Resource> findByOwner(String ownerId) { public List<Resource> findByOwner(String ownerId) {
List<String> cachedIds = this.cache.get(getResourceOwnerCacheKey(ownerId));
if (cachedIds == null) { for (Resource resource : getDelegate().findByOwner(ownerId)) {
for (Resource resource : getDelegate().findByOwner(ownerId)) { updateCachedIds(getResourceOwnerCacheKey(ownerId), resource, true);
updateCachedIds(getResourceOwnerCacheKey(ownerId), resource, true);
}
cachedIds = this.cache.getOrDefault(getResourceOwnerCacheKey(ownerId), Collections.emptyList());
} }
return ((List<String>) this.cache.getOrDefault(getResourceOwnerCacheKey(ownerId), Collections.emptyList())).stream().map(this::findById) return ((List<String>) this.cache.getOrDefault(getResourceOwnerCacheKey(ownerId), Collections.emptyList())).stream().map(this::findById)