public class org.apache.shiro.session.mgt.DefaultSessionManager extends org.apache.shiro.session.mgt.AbstractValidatingSessionManager implements org.apache.shiro.cache.CacheManagerAware
{
private static final org.slf4j.Logger log;
private org.apache.shiro.session.mgt.SessionFactory sessionFactory;
protected org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO;
private org.apache.shiro.cache.CacheManager cacheManager;
private boolean deleteInvalidSessions;
public void <init>()
{
org.apache.shiro.session.mgt.SimpleSessionFactory v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
org.apache.shiro.session.mgt.eis.MemorySessionDAO v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
specialinvoke v.<org.apache.shiro.session.mgt.AbstractValidatingSessionManager: void <init>()>();
v.<org.apache.shiro.session.mgt.DefaultSessionManager: boolean deleteInvalidSessions> = 1;
v = new org.apache.shiro.session.mgt.SimpleSessionFactory;
specialinvoke v.<org.apache.shiro.session.mgt.SimpleSessionFactory: void <init>()>();
v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.SessionFactory sessionFactory> = v;
v = new org.apache.shiro.session.mgt.eis.MemorySessionDAO;
specialinvoke v.<org.apache.shiro.session.mgt.eis.MemorySessionDAO: void <init>()>();
v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO> = v;
return;
}
public void setSessionDAO(org.apache.shiro.session.mgt.eis.SessionDAO)
{
org.apache.shiro.session.mgt.eis.SessionDAO v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.mgt.eis.SessionDAO;
v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO> = v;
specialinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void applyCacheManagerToSessionDAO()>();
return;
}
public org.apache.shiro.session.mgt.eis.SessionDAO getSessionDAO()
{
org.apache.shiro.session.mgt.eis.SessionDAO v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
return v;
}
public org.apache.shiro.session.mgt.SessionFactory getSessionFactory()
{
org.apache.shiro.session.mgt.SessionFactory v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.SessionFactory sessionFactory>;
return v;
}
public void setSessionFactory(org.apache.shiro.session.mgt.SessionFactory)
{
org.apache.shiro.session.mgt.SessionFactory v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionFactory;
v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.SessionFactory sessionFactory> = v;
return;
}
public boolean isDeleteInvalidSessions()
{
boolean v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: boolean deleteInvalidSessions>;
return v;
}
public void setDeleteInvalidSessions(boolean)
{
boolean v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: boolean;
v.<org.apache.shiro.session.mgt.DefaultSessionManager: boolean deleteInvalidSessions> = v;
return;
}
public void setCacheManager(org.apache.shiro.cache.CacheManager)
{
org.apache.shiro.cache.CacheManager v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.cache.CacheManager;
v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.cache.CacheManager cacheManager> = v;
specialinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void applyCacheManagerToSessionDAO()>();
return;
}
private void applyCacheManagerToSessionDAO()
{
org.apache.shiro.cache.CacheManager v, v;
org.apache.shiro.session.mgt.eis.SessionDAO v, v, v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
boolean v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.cache.CacheManager cacheManager>;
if v == null goto label;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
if v == null goto label;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
v = v instanceof org.apache.shiro.cache.CacheManagerAware;
if v == 0 goto label;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.cache.CacheManager cacheManager>;
interfaceinvoke v.<org.apache.shiro.cache.CacheManagerAware: void setCacheManager(org.apache.shiro.cache.CacheManager)>(v);
label:
return;
}
protected org.apache.shiro.session.Session doCreateSession(org.apache.shiro.session.mgt.SessionContext)
{
org.apache.shiro.session.mgt.SessionContext v;
org.slf4j.Logger v, v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
java.lang.String v;
org.apache.shiro.session.Session v;
boolean v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionContext;
v = virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.Session newSessionInstance(org.apache.shiro.session.mgt.SessionContext)>(v);
v = <org.apache.shiro.session.mgt.DefaultSessionManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.DefaultSessionManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.apache.shiro.session.Session: java.lang.String getHost()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Creating session for host {}", v);
label:
virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void create(org.apache.shiro.session.Session)>(v);
return v;
}
protected org.apache.shiro.session.Session newSessionInstance(org.apache.shiro.session.mgt.SessionContext)
{
org.apache.shiro.session.mgt.SessionContext v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
org.apache.shiro.session.Session v;
org.apache.shiro.session.mgt.SessionFactory v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionContext;
v = virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.SessionFactory getSessionFactory()>();
v = interfaceinvoke v.<org.apache.shiro.session.mgt.SessionFactory: org.apache.shiro.session.Session createSession(org.apache.shiro.session.mgt.SessionContext)>(v);
return v;
}
protected void create(org.apache.shiro.session.Session)
{
org.slf4j.Logger v, v;
org.apache.shiro.session.mgt.eis.SessionDAO v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
java.lang.String v;
org.apache.shiro.session.Session v;
boolean v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = <org.apache.shiro.session.mgt.DefaultSessionManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.DefaultSessionManager: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.session.Session)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Creating new EIS record for new session instance [\u]");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
interfaceinvoke v.<org.apache.shiro.session.mgt.eis.SessionDAO: java.io.Serializable create(org.apache.shiro.session.Session)>(v);
return;
}
protected void onStop(org.apache.shiro.session.Session)
{
java.util.Date v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
org.apache.shiro.session.Session v;
boolean v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = v instanceof org.apache.shiro.session.mgt.SimpleSession;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.session.mgt.SimpleSession: java.util.Date getStopTimestamp()>();
virtualinvoke v.<org.apache.shiro.session.mgt.SimpleSession: void setLastAccessTime(java.util.Date)>(v);
label:
virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void onChange(org.apache.shiro.session.Session)>(v);
return;
}
protected void afterStopped(org.apache.shiro.session.Session)
{
org.apache.shiro.session.Session v;
boolean v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: boolean isDeleteInvalidSessions()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void delete(org.apache.shiro.session.Session)>(v);
label:
return;
}
protected void onExpiration(org.apache.shiro.session.Session)
{
org.apache.shiro.session.Session v;
boolean v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = v instanceof org.apache.shiro.session.mgt.SimpleSession;
if v == 0 goto label;
virtualinvoke v.<org.apache.shiro.session.mgt.SimpleSession: void setExpired(boolean)>(1);
label:
virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void onChange(org.apache.shiro.session.Session)>(v);
return;
}
protected void afterExpired(org.apache.shiro.session.Session)
{
org.apache.shiro.session.Session v;
boolean v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: boolean isDeleteInvalidSessions()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: void delete(org.apache.shiro.session.Session)>(v);
label:
return;
}
protected void onChange(org.apache.shiro.session.Session)
{
org.apache.shiro.session.Session v;
org.apache.shiro.session.mgt.eis.SessionDAO v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
interfaceinvoke v.<org.apache.shiro.session.mgt.eis.SessionDAO: void update(org.apache.shiro.session.Session)>(v);
return;
}
protected org.apache.shiro.session.Session retrieveSession(org.apache.shiro.session.mgt.SessionKey) throws org.apache.shiro.session.UnknownSessionException
{
org.apache.shiro.session.UnknownSessionException v;
org.slf4j.Logger v;
org.apache.shiro.session.mgt.SessionKey v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
java.lang.String v;
org.apache.shiro.session.Session v;
java.io.Serializable v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionKey;
v = virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: java.io.Serializable getSessionId(org.apache.shiro.session.mgt.SessionKey)>(v);
if v != null goto label;
v = <org.apache.shiro.session.mgt.DefaultSessionManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Unable to resolve session ID from SessionKey [{}].  Returning null to indicate a session could not be found.", v);
return null;
label:
v = virtualinvoke v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.Session retrieveSessionFromDataSource(java.io.Serializable)>(v);
if v != null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.Serializable)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not find session with ID [\u]");
v = new org.apache.shiro.session.UnknownSessionException;
specialinvoke v.<org.apache.shiro.session.UnknownSessionException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
protected java.io.Serializable getSessionId(org.apache.shiro.session.mgt.SessionKey)
{
org.apache.shiro.session.mgt.SessionKey v;
java.io.Serializable v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionKey;
v = interfaceinvoke v.<org.apache.shiro.session.mgt.SessionKey: java.io.Serializable getSessionId()>();
return v;
}
protected org.apache.shiro.session.Session retrieveSessionFromDataSource(java.io.Serializable) throws org.apache.shiro.session.UnknownSessionException
{
org.apache.shiro.session.mgt.eis.SessionDAO v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
org.apache.shiro.session.Session v;
java.io.Serializable v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: java.io.Serializable;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
v = interfaceinvoke v.<org.apache.shiro.session.mgt.eis.SessionDAO: org.apache.shiro.session.Session readSession(java.io.Serializable)>(v);
return v;
}
protected void delete(org.apache.shiro.session.Session)
{
org.apache.shiro.session.Session v;
org.apache.shiro.session.mgt.eis.SessionDAO v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v := @parameter: org.apache.shiro.session.Session;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
interfaceinvoke v.<org.apache.shiro.session.mgt.eis.SessionDAO: void delete(org.apache.shiro.session.Session)>(v);
return;
}
protected java.util.Collection getActiveSessions()
{
org.apache.shiro.session.mgt.eis.SessionDAO v;
java.util.Collection v, v;
org.apache.shiro.session.mgt.DefaultSessionManager v;
v := @this: org.apache.shiro.session.mgt.DefaultSessionManager;
v = v.<org.apache.shiro.session.mgt.DefaultSessionManager: org.apache.shiro.session.mgt.eis.SessionDAO sessionDAO>;
v = interfaceinvoke v.<org.apache.shiro.session.mgt.eis.SessionDAO: java.util.Collection getActiveSessions()>();
if v == null goto label;
v = v;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/shiro/session/mgt/DefaultSessionManager;");
<org.apache.shiro.session.mgt.DefaultSessionManager: org.slf4j.Logger log> = v;
return;
}
}