P - session providers that adjust according to read-only statuspublic class SessionProviderWrapper<P extends SessionProvider & ReadOnlyStatus.IsAware> extends java.lang.Object implements SessionProvider
| Constructor and Description |
|---|
SessionProviderWrapper(ReadOnlyStatus readOnly,
java.util.List<P> providers)
Construct a new Session provider.
|
| Modifier and Type | Method and Description |
|---|---|
void |
executeCloseSession(java.lang.String uuid)
Loads a session directly, sets its "closed" value and immediately
saves it.
|
ome.model.meta.Session |
executeInternalSession(java.lang.String uuid,
ome.model.meta.Session session) |
long |
executeNextSessionId()
Added as an attempt to cure ticket:1176
|
ome.model.meta.Session |
executeUpdate(ome.system.ServiceFactory sf,
ome.model.meta.Session session,
java.lang.String uuid,
long userId,
java.lang.Long sudoerId) |
ome.model.meta.Session |
findSessionById(long id,
ome.system.ServiceFactory sf)
Retrieves a session by ID.
|
ome.model.meta.Session |
findSessionById(long id,
org.hibernate.Session hibernateSession)
Retrieves a session by ID.
|
java.lang.Long |
findSessionIdByUuid(java.lang.String uuid) |
java.lang.Long |
findSessionIdByUuid(java.lang.String uuid,
ome.system.ServiceFactory sf) |
public SessionProviderWrapper(ReadOnlyStatus readOnly, java.util.List<P> providers)
readOnly - the read-only statusproviders - the Session providers to wrap: the earlier providers are tried first and at least one provider must support
write operations according to ReadOnlyStatus.IsAware.isReadOnly(ReadOnlyStatus)public ome.model.meta.Session executeUpdate(ome.system.ServiceFactory sf,
ome.model.meta.Session session,
java.lang.String uuid,
long userId,
java.lang.Long sudoerId)
executeUpdate in interface SessionProviderpublic void executeCloseSession(java.lang.String uuid)
SessionProviderSessionManager.close(String) and SessionManager.closeAll() methods
since there are other non-explicit ways for a session to be destroyed, such
as a timeout within SessionCache and so this is called from
SessionManagerImpl.onApplicationEvent(org.springframework.context.ApplicationEvent) when a
DestroySessionMessage is received.executeCloseSession in interface SessionProviderpublic ome.model.meta.Session executeInternalSession(java.lang.String uuid,
ome.model.meta.Session session)
executeInternalSession in interface SessionProviderpublic long executeNextSessionId()
SessionProviderexecuteNextSessionId in interface SessionProviderpublic ome.model.meta.Session findSessionById(long id,
org.hibernate.Session hibernateSession)
SessionProviderfindSessionById in interface SessionProviderid - session ID to lookuphibernateSession - active Hibernate sessionpublic ome.model.meta.Session findSessionById(long id,
ome.system.ServiceFactory sf)
SessionProviderfindSessionById in interface SessionProviderid - session ID to lookupsf - active service factorypublic java.lang.Long findSessionIdByUuid(java.lang.String uuid,
ome.system.ServiceFactory sf)
findSessionIdByUuid in interface SessionProviderpublic java.lang.Long findSessionIdByUuid(java.lang.String uuid)
findSessionIdByUuid in interface SessionProvider