Package org.keycloak.models.jpa
Class JpaRealmProvider
- java.lang.Object
-
- org.keycloak.models.jpa.JpaRealmProvider
-
- All Implemented Interfaces:
ClientProvider
,ClientScopeProvider
,DeploymentStateProvider
,GroupProvider
,RealmProvider
,RoleProvider
,Provider
,ClientLookupProvider
,ClientScopeLookupProvider
,GroupLookupProvider
,RoleLookupProvider
public class JpaRealmProvider extends Object implements RealmProvider, ClientProvider, ClientScopeProvider, GroupProvider, RoleProvider, DeploymentStateProvider
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Constructor Summary
Constructors Constructor Description JpaRealmProvider(KeycloakSession session, javax.persistence.EntityManager em, Set<String> clientSearchableAttributes, Set<String> groupSearchableAttributes)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.ClientScopeProvider
addClientScope
-
Methods inherited from interface org.keycloak.storage.group.GroupLookupProvider
searchForGroupByNameStream
-
Methods inherited from interface org.keycloak.models.RealmProvider
addClientRole, addClientRole, createClientInitialAccessModel, createGroup, createGroup, createGroup, decreaseRemainingCount, getClientInitialAccessModel, getClientRole, getClientRoles, getClientRoles, getClientScopeById, getRealmRoles, getRoleById, listClientInitialAccessStream, removeClientInitialAccessModel, removeRole, searchForClientRoles, searchForRoles
-
Methods inherited from interface org.keycloak.models.RoleProvider
getClientRolesStream
-
-
-
-
Constructor Detail
-
JpaRealmProvider
public JpaRealmProvider(KeycloakSession session, javax.persistence.EntityManager em, Set<String> clientSearchableAttributes, Set<String> groupSearchableAttributes)
-
-
Method Detail
-
getMigrationModel
public MigrationModel getMigrationModel()
- Specified by:
getMigrationModel
in interfaceDeploymentStateProvider
-
createRealm
public RealmModel createRealm(String name)
- Specified by:
createRealm
in interfaceRealmProvider
-
createRealm
public RealmModel createRealm(String id, String name)
- Specified by:
createRealm
in interfaceRealmProvider
-
getRealm
public RealmModel getRealm(String id)
- Specified by:
getRealm
in interfaceRealmProvider
-
getRealmsWithProviderTypeStream
public Stream<RealmModel> getRealmsWithProviderTypeStream(Class<?> providerType)
- Specified by:
getRealmsWithProviderTypeStream
in interfaceRealmProvider
-
getRealmsStream
public Stream<RealmModel> getRealmsStream()
- Specified by:
getRealmsStream
in interfaceRealmProvider
-
getRealmByName
public RealmModel getRealmByName(String name)
- Specified by:
getRealmByName
in interfaceRealmProvider
-
removeRealm
public boolean removeRealm(String id)
- Specified by:
removeRealm
in interfaceRealmProvider
-
addRealmRole
public RoleModel addRealmRole(RealmModel realm, String name)
- Specified by:
addRealmRole
in interfaceRealmProvider
- Specified by:
addRealmRole
in interfaceRoleProvider
-
addRealmRole
public RoleModel addRealmRole(RealmModel realm, String id, String name)
- Specified by:
addRealmRole
in interfaceRealmProvider
- Specified by:
addRealmRole
in interfaceRoleProvider
-
getRealmRole
public RoleModel getRealmRole(RealmModel realm, String name)
- Specified by:
getRealmRole
in interfaceRealmProvider
- Specified by:
getRealmRole
in interfaceRoleLookupProvider
-
addClientRole
public RoleModel addClientRole(ClientModel client, String name)
- Specified by:
addClientRole
in interfaceRoleProvider
-
addClientRole
public RoleModel addClientRole(ClientModel client, String id, String name)
- Specified by:
addClientRole
in interfaceRoleProvider
-
getRealmRolesStream
public Stream<RoleModel> getRealmRolesStream(RealmModel realm)
- Specified by:
getRealmRolesStream
in interfaceRoleProvider
-
getClientRole
public RoleModel getClientRole(ClientModel client, String name)
- Specified by:
getClientRole
in interfaceRoleLookupProvider
-
getAllRedirectUrisOfEnabledClients
public Map<ClientModel,Set<String>> getAllRedirectUrisOfEnabledClients(RealmModel realm)
- Specified by:
getAllRedirectUrisOfEnabledClients
in interfaceClientProvider
-
getRealmRolesStream
public Stream<RoleModel> getRealmRolesStream(RealmModel realm, Integer first, Integer max)
- Specified by:
getRealmRolesStream
in interfaceRoleProvider
-
getRolesStream
public Stream<RoleModel> getRolesStream(RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)
- Specified by:
getRolesStream
in interfaceRoleProvider
-
getClientRolesStream
public Stream<RoleModel> getClientRolesStream(ClientModel client, Integer first, Integer max)
- Specified by:
getClientRolesStream
in interfaceRoleProvider
-
getRolesStream
protected Stream<RoleModel> getRolesStream(javax.persistence.TypedQuery<RoleEntity> query, RealmModel realm, Integer first, Integer max)
-
searchForClientRolesStream
public Stream<RoleModel> searchForClientRolesStream(ClientModel client, String search, Integer first, Integer max)
- Specified by:
searchForClientRolesStream
in interfaceRoleLookupProvider
-
searchForRolesStream
public Stream<RoleModel> searchForRolesStream(RealmModel realm, String search, Integer first, Integer max)
- Specified by:
searchForRolesStream
in interfaceRoleLookupProvider
-
searchForRoles
protected Stream<RoleModel> searchForRoles(javax.persistence.TypedQuery<RoleEntity> query, RealmModel realm, String search, Integer first, Integer max)
-
removeRole
public boolean removeRole(RoleModel role)
- Specified by:
removeRole
in interfaceRoleProvider
-
roleRemovedEvent
public RoleContainerModel.RoleRemovedEvent roleRemovedEvent(RoleModel role)
-
removeRoles
public void removeRoles(RealmModel realm)
- Specified by:
removeRoles
in interfaceRoleProvider
-
removeRoles
public void removeRoles(ClientModel client)
- Specified by:
removeRoles
in interfaceRoleProvider
-
getRoleById
public RoleModel getRoleById(RealmModel realm, String id)
- Specified by:
getRoleById
in interfaceRoleLookupProvider
-
getGroupById
public GroupModel getGroupById(RealmModel realm, String id)
- Specified by:
getGroupById
in interfaceGroupLookupProvider
- Specified by:
getGroupById
in interfaceRealmProvider
-
moveGroup
public void moveGroup(RealmModel realm, GroupModel group, GroupModel toParent)
- Specified by:
moveGroup
in interfaceGroupProvider
- Specified by:
moveGroup
in interfaceRealmProvider
-
getGroupsStream
public Stream<GroupModel> getGroupsStream(RealmModel realm)
- Specified by:
getGroupsStream
in interfaceGroupProvider
-
getGroupsStream
public Stream<GroupModel> getGroupsStream(RealmModel realm, Stream<String> ids, String search, Integer first, Integer max)
- Specified by:
getGroupsStream
in interfaceGroupProvider
-
getGroupsStream
public Stream<GroupModel> getGroupsStream(RealmModel realm, Stream<String> ids, Integer first, Integer max)
- Specified by:
getGroupsStream
in interfaceGroupProvider
-
getGroupsStream
public Stream<GroupModel> getGroupsStream(RealmModel realm, Stream<String> ids)
- Specified by:
getGroupsStream
in interfaceGroupProvider
-
getGroupsCount
public Long getGroupsCount(RealmModel realm, Stream<String> ids, String search)
- Specified by:
getGroupsCount
in interfaceGroupProvider
-
getGroupsCount
public Long getGroupsCount(RealmModel realm, Boolean onlyTopGroups)
- Specified by:
getGroupsCount
in interfaceGroupProvider
- Specified by:
getGroupsCount
in interfaceRealmProvider
-
getClientsCount
public long getClientsCount(RealmModel realm)
- Specified by:
getClientsCount
in interfaceClientProvider
- Specified by:
getClientsCount
in interfaceRealmProvider
-
getGroupsCountByNameContaining
public Long getGroupsCountByNameContaining(RealmModel realm, String search)
- Specified by:
getGroupsCountByNameContaining
in interfaceGroupProvider
- Specified by:
getGroupsCountByNameContaining
in interfaceRealmProvider
-
getGroupsByRoleStream
public Stream<GroupModel> getGroupsByRoleStream(RealmModel realm, RoleModel role, Integer firstResult, Integer maxResults)
- Specified by:
getGroupsByRoleStream
in interfaceGroupProvider
-
getTopLevelGroupsStream
public Stream<GroupModel> getTopLevelGroupsStream(RealmModel realm)
- Specified by:
getTopLevelGroupsStream
in interfaceGroupProvider
-
getTopLevelGroupsStream
public Stream<GroupModel> getTopLevelGroupsStream(RealmModel realm, Integer first, Integer max)
- Specified by:
getTopLevelGroupsStream
in interfaceGroupProvider
-
removeGroup
public boolean removeGroup(RealmModel realm, GroupModel group)
- Specified by:
removeGroup
in interfaceGroupProvider
- Specified by:
removeGroup
in interfaceRealmProvider
-
createGroup
public GroupModel createGroup(RealmModel realm, String id, String name, GroupModel toParent)
- Specified by:
createGroup
in interfaceGroupProvider
- Specified by:
createGroup
in interfaceRealmProvider
-
addTopLevelGroup
public void addTopLevelGroup(RealmModel realm, GroupModel subGroup)
- Specified by:
addTopLevelGroup
in interfaceGroupProvider
- Specified by:
addTopLevelGroup
in interfaceRealmProvider
-
preRemove
public void preRemove(RealmModel realm, RoleModel role)
-
addClient
public ClientModel addClient(RealmModel realm, String clientId)
- Specified by:
addClient
in interfaceClientProvider
- Specified by:
addClient
in interfaceRealmProvider
-
addClient
public ClientModel addClient(RealmModel realm, String id, String clientId)
- Specified by:
addClient
in interfaceClientProvider
- Specified by:
addClient
in interfaceRealmProvider
-
getClientsStream
public Stream<ClientModel> getClientsStream(RealmModel realm)
- Specified by:
getClientsStream
in interfaceClientProvider
-
getClientsStream
public Stream<ClientModel> getClientsStream(RealmModel realm, Integer firstResult, Integer maxResults)
- Specified by:
getClientsStream
in interfaceClientProvider
-
getAlwaysDisplayInConsoleClientsStream
public Stream<ClientModel> getAlwaysDisplayInConsoleClientsStream(RealmModel realm)
- Specified by:
getAlwaysDisplayInConsoleClientsStream
in interfaceClientProvider
-
getClientById
public ClientModel getClientById(RealmModel realm, String id)
- Specified by:
getClientById
in interfaceClientLookupProvider
-
getClientByClientId
public ClientModel getClientByClientId(RealmModel realm, String clientId)
- Specified by:
getClientByClientId
in interfaceClientLookupProvider
-
searchClientsByClientIdStream
public Stream<ClientModel> searchClientsByClientIdStream(RealmModel realm, String clientId, Integer firstResult, Integer maxResults)
- Specified by:
searchClientsByClientIdStream
in interfaceClientLookupProvider
-
searchClientsByAttributes
public Stream<ClientModel> searchClientsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
- Specified by:
searchClientsByAttributes
in interfaceClientLookupProvider
-
removeClients
public void removeClients(RealmModel realm)
- Specified by:
removeClients
in interfaceClientProvider
-
removeClient
public boolean removeClient(RealmModel realm, String id)
- Specified by:
removeClient
in interfaceClientProvider
-
getClientScopeById
public ClientScopeModel getClientScopeById(RealmModel realm, String id)
- Specified by:
getClientScopeById
in interfaceClientScopeLookupProvider
- Specified by:
getClientScopeById
in interfaceRealmProvider
-
getClientScopesStream
public Stream<ClientScopeModel> getClientScopesStream(RealmModel realm)
- Specified by:
getClientScopesStream
in interfaceClientScopeProvider
-
addClientScope
public ClientScopeModel addClientScope(RealmModel realm, String id, String name)
- Specified by:
addClientScope
in interfaceClientScopeProvider
-
removeClientScope
public boolean removeClientScope(RealmModel realm, String id)
- Specified by:
removeClientScope
in interfaceClientScopeProvider
-
removeClientScopes
public void removeClientScopes(RealmModel realm)
- Specified by:
removeClientScopes
in interfaceClientScopeProvider
-
addClientScopes
public void addClientScopes(RealmModel realm, ClientModel client, Set<ClientScopeModel> clientScopes, boolean defaultScope)
- Specified by:
addClientScopes
in interfaceClientProvider
-
removeClientScope
public void removeClientScope(RealmModel realm, ClientModel client, ClientScopeModel clientScope)
- Specified by:
removeClientScope
in interfaceClientProvider
-
getClientScopes
public Map<String,ClientScopeModel> getClientScopes(RealmModel realm, ClientModel client, boolean defaultScope)
- Specified by:
getClientScopes
in interfaceClientLookupProvider
-
searchForGroupByNameStream
public Stream<GroupModel> searchForGroupByNameStream(RealmModel realm, String search, Boolean exact, Integer first, Integer max)
- Specified by:
searchForGroupByNameStream
in interfaceGroupLookupProvider
-
searchGroupsByAttributes
public Stream<GroupModel> searchGroupsByAttributes(RealmModel realm, Map<String,String> attributes, Integer firstResult, Integer maxResults)
- Specified by:
searchGroupsByAttributes
in interfaceGroupLookupProvider
-
removeExpiredClientInitialAccess
public void removeExpiredClientInitialAccess()
- Specified by:
removeExpiredClientInitialAccess
in interfaceRealmProvider
-
updateLocalizationText
public boolean updateLocalizationText(RealmModel realm, String locale, String key, String text)
- Specified by:
updateLocalizationText
in interfaceRealmProvider
-
saveLocalizationText
public void saveLocalizationText(RealmModel realm, String locale, String key, String text)
- Specified by:
saveLocalizationText
in interfaceRealmProvider
-
saveLocalizationTexts
public void saveLocalizationTexts(RealmModel realm, String locale, Map<String,String> localizationTexts)
- Specified by:
saveLocalizationTexts
in interfaceRealmProvider
-
deleteLocalizationTextsByLocale
public boolean deleteLocalizationTextsByLocale(RealmModel realm, String locale)
- Specified by:
deleteLocalizationTextsByLocale
in interfaceRealmProvider
-
getLocalizationTextsById
public String getLocalizationTextsById(RealmModel realm, String locale, String key)
- Specified by:
getLocalizationTextsById
in interfaceRealmProvider
-
deleteLocalizationText
public boolean deleteLocalizationText(RealmModel realm, String locale, String key)
- Specified by:
deleteLocalizationText
in interfaceRealmProvider
-
-