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)
-
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.models.RealmProvider
addClientRole, addClientRole, createClientInitialAccessModel, createGroup, createGroup, createGroup, decreaseRemainingCount, getAlwaysDisplayInConsoleClients, getClientByClientId, getClientById, getClientInitialAccessModel, getClientRole, getClientRoles, getClientRoles, getClients, getClients, getClientScopeById, getGroupById, getGroups, getGroupsByRole, getRealmRoles, getRealmRoles, getRealms, getRealmsWithProviderType, getRoleById, getTopLevelGroups, getTopLevelGroups, listClientInitialAccess, listClientInitialAccessStream, removeClient, removeClientInitialAccessModel, removeRole, searchClientsByClientId, searchForClientRoles, searchForGroupByName, searchForRoles
-
Methods inherited from interface org.keycloak.models.RoleProvider
getClientRolesStream
-
-
-
-
Constructor Detail
-
JpaRealmProvider
public JpaRealmProvider(KeycloakSession session, javax.persistence.EntityManager em, Set<String> clientSearchableAttributes)
-
-
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, Integer first, Integer max)
- Specified by:
searchForGroupByNameStream
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
-
-