keycloak
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.authorization.jpa.store.JPAScopeStore クラス
org.keycloak.authorization.jpa.store.JPAScopeStore の継承関係図
Inheritance graph
org.keycloak.authorization.jpa.store.JPAScopeStore 連携図
Collaboration graph

公開メンバ関数

 JPAScopeStore (EntityManager entityManager, AuthorizationProvider provider)
 
Scope create (final String name, final ResourceServer resourceServer)
 
Scope create (String id, final String name, final ResourceServer resourceServer)
 
void delete (String id)
 
Scope findById (String id, String resourceServerId)
 
Scope findByName (String name, String resourceServerId)
 
List< ScopefindByResourceServer (final String serverId)
 
List< ScopefindByResourceServer (Map< String, String[]> attributes, String resourceServerId, int firstResult, int maxResult)
 

非公開変数類

final EntityManager entityManager
 
final AuthorizationProvider provider
 

詳解

著者
Pedro Igor

構築子と解体子

◆ JPAScopeStore()

org.keycloak.authorization.jpa.store.JPAScopeStore.JPAScopeStore ( EntityManager  entityManager,
AuthorizationProvider  provider 
)
inline
50  {
52  this.provider = provider;
53  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47
final AuthorizationProvider provider
Definition: JPAScopeStore.java:48

関数詳解

◆ create() [1/2]

Scope org.keycloak.authorization.jpa.store.JPAScopeStore.create ( final String  name,
final ResourceServer  resourceServer 
)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

56  {
57  return create(null, name, resourceServer);
58  }
Scope create(final String name, final ResourceServer resourceServer)
Definition: JPAScopeStore.java:56

◆ create() [2/2]

Scope org.keycloak.authorization.jpa.store.JPAScopeStore.create ( String  id,
final String  name,
final ResourceServer  resourceServer 
)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

61  {
62  ScopeEntity entity = new ScopeEntity();
63 
64  if (id == null) {
65  entity.setId(KeycloakModelUtils.generateId());
66  } else {
67  entity.setId(id);
68  }
69 
70  entity.setName(name);
71  entity.setResourceServer(ResourceServerAdapter.toEntity(entityManager, resourceServer));
72 
73  this.entityManager.persist(entity);
74  this.entityManager.flush();
75 
76  return new ScopeAdapter(entity, entityManager, provider.getStoreFactory());
77  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47
final AuthorizationProvider provider
Definition: JPAScopeStore.java:48
StoreFactory getStoreFactory()
Definition: AuthorizationProvider.java:109

◆ delete()

void org.keycloak.authorization.jpa.store.JPAScopeStore.delete ( String  id)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

80  {
81  ScopeEntity scope = entityManager.find(ScopeEntity.class, id);
82 
83  if (scope != null) {
84  this.entityManager.remove(scope);
85  }
86  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47

◆ findById()

Scope org.keycloak.authorization.jpa.store.JPAScopeStore.findById ( String  id,
String  resourceServerId 
)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

89  {
90  if (id == null) {
91  return null;
92  }
93 
94  ScopeEntity entity = entityManager.find(ScopeEntity.class, id);
95  if (entity == null) return null;
96 
97  return new ScopeAdapter(entity, entityManager, provider.getStoreFactory());
98  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47
final AuthorizationProvider provider
Definition: JPAScopeStore.java:48
StoreFactory getStoreFactory()
Definition: AuthorizationProvider.java:109

◆ findByName()

Scope org.keycloak.authorization.jpa.store.JPAScopeStore.findByName ( String  name,
String  resourceServerId 
)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

101  {
102  try {
103  TypedQuery<String> query = entityManager.createNamedQuery("findScopeIdByName", String.class);
104 
105  query.setFlushMode(FlushModeType.COMMIT);
106  query.setParameter("serverId", resourceServerId);
107  query.setParameter("name", name);
108 
109  String id = query.getSingleResult();
110  return provider.getStoreFactory().getScopeStore().findById(id, resourceServerId);
111  } catch (NoResultException nre) {
112  return null;
113  }
114  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47
final AuthorizationProvider provider
Definition: JPAScopeStore.java:48
StoreFactory getStoreFactory()
Definition: AuthorizationProvider.java:109
Scope findById(String id, String resourceServerId)

◆ findByResourceServer() [1/2]

List<Scope> org.keycloak.authorization.jpa.store.JPAScopeStore.findByResourceServer ( final String  serverId)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

117  {
118  TypedQuery<String> query = entityManager.createNamedQuery("findScopeIdByResourceServer", String.class);
119 
120  query.setFlushMode(FlushModeType.COMMIT);
121  query.setParameter("serverId", serverId);
122 
123  List<String> result = query.getResultList();
124  List<Scope> list = new LinkedList<>();
125  for (String id : result) {
126  list.add(provider.getStoreFactory().getScopeStore().findById(id, serverId));
127  }
128  return list;
129  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47
final AuthorizationProvider provider
Definition: JPAScopeStore.java:48
StoreFactory getStoreFactory()
Definition: AuthorizationProvider.java:109
Scope findById(String id, String resourceServerId)

◆ findByResourceServer() [2/2]

List<Scope> org.keycloak.authorization.jpa.store.JPAScopeStore.findByResourceServer ( Map< String, String[]>  attributes,
String  resourceServerId,
int  firstResult,
int  maxResult 
)
inline

org.keycloak.authorization.store.ScopeStoreを実装しています。

132  {
133  CriteriaBuilder builder = entityManager.getCriteriaBuilder();
134  CriteriaQuery<ScopeEntity> querybuilder = builder.createQuery(ScopeEntity.class);
135  Root<ScopeEntity> root = querybuilder.from(ScopeEntity.class);
136  querybuilder.select(root.get("id"));
137  List<Predicate> predicates = new ArrayList();
138 
139  predicates.add(builder.equal(root.get("resourceServer").get("id"), resourceServerId));
140 
141  attributes.forEach((name, value) -> {
142  if ("id".equals(name)) {
143  predicates.add(root.get(name).in(value));
144  } else {
145  predicates.add(builder.like(builder.lower(root.get(name)), "%" + value[0].toLowerCase() + "%"));
146  }
147  });
148 
149  querybuilder.where(predicates.toArray(new Predicate[predicates.size()])).orderBy(builder.asc(root.get("name")));
150 
151  Query query = entityManager.createQuery(querybuilder);
152 
153  if (firstResult != -1) {
154  query.setFirstResult(firstResult);
155  }
156  if (maxResult != -1) {
157  query.setMaxResults(maxResult);
158  }
159 
160  List result = query.getResultList();
161  List<Scope> list = new LinkedList<>();
162  for (Object id : result) {
163  list.add(provider.getStoreFactory().getScopeStore().findById((String)id, resourceServerId));
164  }
165  return list;
166 
167  }
final EntityManager entityManager
Definition: JPAScopeStore.java:47
final AuthorizationProvider provider
Definition: JPAScopeStore.java:48
StoreFactory getStoreFactory()
Definition: AuthorizationProvider.java:109
Scope findById(String id, String resourceServerId)

メンバ詳解

◆ entityManager

final EntityManager org.keycloak.authorization.jpa.store.JPAScopeStore.entityManager
private

◆ provider

final AuthorizationProvider org.keycloak.authorization.jpa.store.JPAScopeStore.provider
private

このクラス詳解は次のファイルから抽出されました: