package coldfusion.runtime; import railo.runtime.CFMLFactoryImpl; import railo.runtime.PageContext; import railo.runtime.engine.ThreadLocalPageContext; import railo.runtime.type.Struct; import railo.runtime.type.scope.ScopeContext; public class SessionTracker { /* * prepare to restrict access to this class * private String webAdminPassword; public SessionTracker(){ throw new RuntimeException("for Security reasons we have restricted the usage of the class SessionTracker, " + "you now can only use this class by defining the web admin password, when you call the constructor of this class, " + "so instead of just doing the following: SessionTracker=createObject('java','coldfusion.runtime.SessionTracker') " + "and then use it, you have to call the constructor with the web admin password: SessionTracker=createObject('java','coldfusion.runtime.SessionTracker').init('yourwebadminpassword')"); } public SessionTracker(String webAdminPassword) throws SAXException, IOException{ this.webAdminPassword=webAdminPassword; PageContext pc = ThreadLocalPageContext.get(); //ConfigWebAdmin admin = ConfigWebAdmin.newInstance((ConfigWebImpl)pc.getConfig(),webAdminPassword); // TODO verify password }*/ public static int getSessionCount(){ PageContext pc = ThreadLocalPageContext.get(); ScopeContext sc = ((CFMLFactoryImpl)pc.getCFMLFactory()).getScopeContext(); return sc.getSessionCount(pc); } public static Struct getSessionCollection(String appName){ PageContext pc = ThreadLocalPageContext.get(); ScopeContext sc = ((CFMLFactoryImpl)pc.getCFMLFactory()).getScopeContext(); return sc.getAllSessionScopes(appName); } /* public static coldfusion.runtime.SessionScope getSession(java.lang.String,java.lang.String) public static coldfusion.runtime.SessionScope getSession(java.lang.String) public static coldfusion.runtime.SessionScope getSession(javax.servlet.http.HttpSession,java.lang.String) public static coldfusion.runtime.SessionScope getSession(java.lang.String,java.lang.String,java.lang.String) public static coldfusion.runtime.SessionScope createSession(java.lang.String,java.lang.String) public static coldfusion.runtime.SessionScope createSession(java.lang.String,java.lang.String,java.lang.String) public static coldfusion.runtime.SessionScope createSession(javax.servlet.http.HttpSession,java.lang.String) public static void cleanUp(java.lang.String,java.lang.String,java.lang.String) public static void cleanUp(javax.servlet.http.HttpSession,java.lang.String) public static void cleanUp(java.lang.String,java.lang.String) public static java.util.Enumeration getSessionKeys() public static java.util.Hashtable getMSessionPool() public static coldfusion.runtime.AppSessionCollection getSessionCollection(java.lang.String) */ }