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

公開メンバ関数

 JpaEventStoreProvider (EntityManager em)
 
EventQuery createQuery ()
 
void clear ()
 
void clear (String realmId)
 
void clear (String realmId, long olderThan)
 
void onEvent (Event event)
 
AdminEventQuery createAdminQuery ()
 
void clearAdmin ()
 
void clearAdmin (String realmId)
 
void clearAdmin (String realmId, long olderThan)
 
void onEvent (AdminEvent event, boolean includeRepresentation)
 
void close ()
 

静的関数

static EventEntity convertEvent (Event event)
 
static Event convertEvent (EventEntity eventEntity)
 
static AdminEventEntity convertAdminEvent (AdminEvent adminEvent, boolean includeRepresentation)
 
static AdminEvent convertAdminEvent (AdminEventEntity adminEventEntity)
 

静的非公開メンバ関数

static void setAuthDetails (AdminEventEntity adminEventEntity, AuthDetails authDetails)
 
static void setAuthDetails (AdminEvent adminEvent, AdminEventEntity adminEventEntity)
 

非公開変数類

EntityManager em
 

静的非公開変数類

static final ObjectMapper mapper = new ObjectMapper()
 
static final TypeReference< Map< String, String > > mapType
 
static final Logger logger = Logger.getLogger(JpaEventStoreProvider.class)
 

詳解

著者
Stian Thorgersen

構築子と解体子

◆ JpaEventStoreProvider()

org.keycloak.events.jpa.JpaEventStoreProvider.JpaEventStoreProvider ( EntityManager  em)
inline
50  {
51  this.em = em;
52  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

関数詳解

◆ clear() [1/3]

void org.keycloak.events.jpa.JpaEventStoreProvider.clear ( )
inline

org.keycloak.events.EventStoreProviderを実装しています。

60  {
61  em.createQuery("delete from EventEntity").executeUpdate();
62  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ clear() [2/3]

void org.keycloak.events.jpa.JpaEventStoreProvider.clear ( String  realmId)
inline

org.keycloak.events.EventStoreProviderを実装しています。

65  {
66  em.createQuery("delete from EventEntity where realmId = :realmId").setParameter("realmId", realmId).executeUpdate();
67  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ clear() [3/3]

void org.keycloak.events.jpa.JpaEventStoreProvider.clear ( String  realmId,
long  olderThan 
)
inline

org.keycloak.events.EventStoreProviderを実装しています。

70  {
71  em.createQuery("delete from EventEntity where realmId = :realmId and time < :time").setParameter("realmId", realmId).setParameter("time", olderThan).executeUpdate();
72  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ clearAdmin() [1/3]

void org.keycloak.events.jpa.JpaEventStoreProvider.clearAdmin ( )
inline

org.keycloak.events.EventStoreProviderを実装しています。

85  {
86  em.createQuery("delete from AdminEventEntity").executeUpdate();
87  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ clearAdmin() [2/3]

void org.keycloak.events.jpa.JpaEventStoreProvider.clearAdmin ( String  realmId)
inline

org.keycloak.events.EventStoreProviderを実装しています。

90  {
91  em.createQuery("delete from AdminEventEntity where realmId = :realmId").setParameter("realmId", realmId).executeUpdate();
92  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ clearAdmin() [3/3]

void org.keycloak.events.jpa.JpaEventStoreProvider.clearAdmin ( String  realmId,
long  olderThan 
)
inline

org.keycloak.events.EventStoreProviderを実装しています。

95  {
96  em.createQuery("delete from AdminEventEntity where realmId = :realmId and time < :time").setParameter("realmId", realmId).setParameter("time", olderThan).executeUpdate();
97  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ close()

void org.keycloak.events.jpa.JpaEventStoreProvider.close ( )
inline

org.keycloak.provider.Providerを実装しています。

105  {
106  }

◆ convertAdminEvent() [1/2]

static AdminEventEntity org.keycloak.events.jpa.JpaEventStoreProvider.convertAdminEvent ( AdminEvent  adminEvent,
boolean  includeRepresentation 
)
inlinestaticpackage
146  {
147  AdminEventEntity adminEventEntity = new AdminEventEntity();
148  adminEventEntity.setId(UUID.randomUUID().toString());
149  adminEventEntity.setTime(adminEvent.getTime());
150  adminEventEntity.setRealmId(adminEvent.getRealmId());
151  setAuthDetails(adminEventEntity, adminEvent.getAuthDetails());
152  adminEventEntity.setOperationType(adminEvent.getOperationType().toString());
153 
154  if (adminEvent.getResourceType() != null) {
155  adminEventEntity.setResourceType(adminEvent.getResourceType().toString());
156  }
157 
158  adminEventEntity.setResourcePath(adminEvent.getResourcePath());
159  adminEventEntity.setError(adminEvent.getError());
160 
161  if(includeRepresentation) {
162  adminEventEntity.setRepresentation(adminEvent.getRepresentation());
163  }
164  return adminEventEntity;
165  }
static void setAuthDetails(AdminEventEntity adminEventEntity, AuthDetails authDetails)
Definition: JpaEventStoreProvider.java:187

◆ convertAdminEvent() [2/2]

static AdminEvent org.keycloak.events.jpa.JpaEventStoreProvider.convertAdminEvent ( AdminEventEntity  adminEventEntity)
inlinestaticpackage
167  {
168  AdminEvent adminEvent = new AdminEvent();
169  adminEvent.setTime(adminEventEntity.getTime());
170  adminEvent.setRealmId(adminEventEntity.getRealmId());
171  setAuthDetails(adminEvent, adminEventEntity);
172  adminEvent.setOperationType(OperationType.valueOf(adminEventEntity.getOperationType()));
173 
174  if (adminEventEntity.getResourceType() != null) {
175  adminEvent.setResourceType(ResourceType.valueOf(adminEventEntity.getResourceType()));
176  }
177 
178  adminEvent.setResourcePath(adminEventEntity.getResourcePath());
179  adminEvent.setError(adminEventEntity.getError());
180 
181  if(adminEventEntity.getRepresentation() != null) {
182  adminEvent.setRepresentation(adminEventEntity.getRepresentation());
183  }
184  return adminEvent;
185  }
static void setAuthDetails(AdminEventEntity adminEventEntity, AuthDetails authDetails)
Definition: JpaEventStoreProvider.java:187

◆ convertEvent() [1/2]

static EventEntity org.keycloak.events.jpa.JpaEventStoreProvider.convertEvent ( Event  event)
inlinestaticpackage
108  {
109  EventEntity eventEntity = new EventEntity();
110  eventEntity.setId(UUID.randomUUID().toString());
111  eventEntity.setTime(event.getTime());
112  eventEntity.setType(event.getType().toString());
113  eventEntity.setRealmId(event.getRealmId());
114  eventEntity.setClientId(event.getClientId());
115  eventEntity.setUserId(event.getUserId());
116  eventEntity.setSessionId(event.getSessionId());
117  eventEntity.setIpAddress(event.getIpAddress());
118  eventEntity.setError(event.getError());
119  try {
120  eventEntity.setDetailsJson(mapper.writeValueAsString(event.getDetails()));
121  } catch (IOException ex) {
122  logger.error("Failed to write log details", ex);
123  }
124  return eventEntity;
125  }
static final ObjectMapper mapper
Definition: JpaEventStoreProvider.java:43
static final Logger logger
Definition: JpaEventStoreProvider.java:46

◆ convertEvent() [2/2]

static Event org.keycloak.events.jpa.JpaEventStoreProvider.convertEvent ( EventEntity  eventEntity)
inlinestaticpackage
127  {
128  Event event = new Event();
129  event.setTime(eventEntity.getTime());
130  event.setType(EventType.valueOf(eventEntity.getType()));
131  event.setRealmId(eventEntity.getRealmId());
132  event.setClientId(eventEntity.getClientId());
133  event.setUserId(eventEntity.getUserId());
134  event.setSessionId(eventEntity.getSessionId());
135  event.setIpAddress(eventEntity.getIpAddress());
136  event.setError(eventEntity.getError());
137  try {
138  Map<String, String> details = mapper.readValue(eventEntity.getDetailsJson(), mapType);
139  event.setDetails(details);
140  } catch (IOException ex) {
141  logger.error("Failed to read log details", ex);
142  }
143  return event;
144  }
static final ObjectMapper mapper
Definition: JpaEventStoreProvider.java:43
static final Logger logger
Definition: JpaEventStoreProvider.java:46
static final TypeReference< Map< String, String > > mapType
Definition: JpaEventStoreProvider.java:44

◆ createAdminQuery()

AdminEventQuery org.keycloak.events.jpa.JpaEventStoreProvider.createAdminQuery ( )
inline

org.keycloak.events.EventStoreProviderを実装しています。

80  {
81  return new JpaAdminEventQuery(em);
82  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ createQuery()

EventQuery org.keycloak.events.jpa.JpaEventStoreProvider.createQuery ( )
inline

org.keycloak.events.EventStoreProviderを実装しています。

55  {
56  return new JpaEventQuery(em);
57  }
EntityManager em
Definition: JpaEventStoreProvider.java:48

◆ onEvent() [1/2]

void org.keycloak.events.jpa.JpaEventStoreProvider.onEvent ( Event  event)
inline

org.keycloak.events.EventListenerProviderを実装しています。

75  {
76  em.persist(convertEvent(event));
77  }
EntityManager em
Definition: JpaEventStoreProvider.java:48
static EventEntity convertEvent(Event event)
Definition: JpaEventStoreProvider.java:108

◆ onEvent() [2/2]

void org.keycloak.events.jpa.JpaEventStoreProvider.onEvent ( AdminEvent  event,
boolean  includeRepresentation 
)
inline

org.keycloak.events.EventListenerProviderを実装しています。

100  {
101  em.persist(convertAdminEvent(event, includeRepresentation));
102  }
EntityManager em
Definition: JpaEventStoreProvider.java:48
static AdminEventEntity convertAdminEvent(AdminEvent adminEvent, boolean includeRepresentation)
Definition: JpaEventStoreProvider.java:146

◆ setAuthDetails() [1/2]

static void org.keycloak.events.jpa.JpaEventStoreProvider.setAuthDetails ( AdminEventEntity  adminEventEntity,
AuthDetails  authDetails 
)
inlinestaticprivate
187  {
188  adminEventEntity.setAuthRealmId(authDetails.getRealmId());
189  adminEventEntity.setAuthClientId(authDetails.getClientId());
190  adminEventEntity.setAuthUserId(authDetails.getUserId());
191  adminEventEntity.setAuthIpAddress(authDetails.getIpAddress());
192  }

◆ setAuthDetails() [2/2]

static void org.keycloak.events.jpa.JpaEventStoreProvider.setAuthDetails ( AdminEvent  adminEvent,
AdminEventEntity  adminEventEntity 
)
inlinestaticprivate
194  {
195  AuthDetails authDetails = new AuthDetails();
196  authDetails.setRealmId(adminEventEntity.getAuthRealmId());
197  authDetails.setClientId(adminEventEntity.getAuthClientId());
198  authDetails.setUserId(adminEventEntity.getAuthUserId());
199  authDetails.setIpAddress(adminEventEntity.getAuthIpAddress());
200  adminEvent.setAuthDetails(authDetails);
201  }

メンバ詳解

◆ em

EntityManager org.keycloak.events.jpa.JpaEventStoreProvider.em
private

◆ logger

final Logger org.keycloak.events.jpa.JpaEventStoreProvider.logger = Logger.getLogger(JpaEventStoreProvider.class)
staticprivate

◆ mapper

final ObjectMapper org.keycloak.events.jpa.JpaEventStoreProvider.mapper = new ObjectMapper()
staticprivate

◆ mapType

final TypeReference<Map<String, String> > org.keycloak.events.jpa.JpaEventStoreProvider.mapType
staticprivate
初期値:
= new TypeReference<Map<String, String>>() {
}

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