public void executeEvictions(ComponentModel model) { if (model == null) return; // If not realm component, check to see if it is a user storage provider child component (i.e. LDAP mapper) if (model.getParentId() != null && !model.getParentId().equals(getId())) { ComponentModel parent = getComponent(model.getParentId()); if (parent != null && UserStorageProvider.class.getName().equals(parent.getProviderType())) { session.userCache().evict(this); } return; } // invalidate entire user cache if we're dealing with user storage SPI if (UserStorageProvider.class.getName().equals(model.getProviderType())) { session.userCache().evict(this); } // invalidate entire realm if we're dealing with client storage SPI // entire realm because of client roles, client lists, and clients if (ClientStorageProvider.class.getName().equals(model.getProviderType())) { cacheSession.evictRealmOnRemoval(this); } }