1 package sessionViewer.business; 2 3 import java.util.Vector ; 4 import java.util.Enumeration ; 5 import com.lutris.appserver.server.httpPresentation.servlet.*; 6 import com.lutris.appserver.server.*; 7 import com.lutris.appserver.server.session.*; 8 import com.lutris.appserver.server.session.Session; 9 import sessionViewer.spec.*; 10 import com.lutris.appserver.server.sessionContainerAdapter.*; 11 import javax.servlet.*; 12 import org.mortbay.jetty.*; 13 import org.mortbay.http.*; 14 import org.mortbay.servlet.*; 15 import org.mortbay.jetty.servlet.*; 16 import java.util.Date ; 17 18 public class ApplicationSessionListImpl implements ApplicationSessionList{ 19 20 21 public Vector getList(String application) throws Exception { 22 23 24 HttpContext sc=GlobalImpl.getServlet(application); 25 26 27 Vector result = new Vector (); 28 Application app = null; 29 com.lutris.appserver.server.session.SessionManager sessionManager = null; 30 String sessionID=null; 31 Session session = null; 32 33 try{ 34 Servlet s=null; 35 ServletHandler ttt=(ServletHandler)sc.getHandler(Class.forName("org.mortbay.jetty.servlet.ServletHandler")); 36 ServletHolder sh=ttt.getServletHolder("enhydra"); 37 if(sh!=null) 38 { 39 try{ 40 s= sh.getServlet(); 41 }catch(Exception e){ 42 } 43 } 44 if (s!=null){ 45 app = ((HttpPresentationServlet)s).getApplication(); 46 47 try { 48 sessionManager = app.getSessionManager(); 49 if ((sessionManager instanceof ContainerAdapterSessionManager) || (sessionManager instanceof JmxContainerAdapterSessionManager)) 50 { 51 AbstractSessionManager manager=(AbstractSessionManager)((ServletHandler)(sc.getHandler(Class.forName("org.mortbay.jetty.servlet.ServletHandler")))).getSessionManager(); 52 java.util.Map ses= manager.getSessionMap(); 53 java.util.Set keys=ses.keySet(); 54 Object [] keysId=keys.toArray(); 55 for(int i=0;i<keysId.length;i++) 56 result.addElement((String )keysId[i]); 57 58 }else{ 59 Enumeration sessionKeys = sessionManager.getSessionKeys(); 60 61 while (sessionKeys.hasMoreElements()) { 62 sessionID = (String ) sessionKeys.nextElement(); 63 result.addElement(sessionID); 64 } 65 } 66 } catch (Exception ex){ 67 System.out.println("Couldn't get number of active sessions for "+application+" servlet!"); 68 69 } 70 }else{ 71 try{ 72 AbstractSessionManager manager=(AbstractSessionManager)((ServletHandler)(sc.getHandler(Class.forName("org.mortbay.jetty.servlet.ServletHandler")))).getSessionManager(); 73 java.util.Map ses= manager.getSessionMap(); 74 java.util.Set keys=ses.keySet(); 75 Object [] keysId=keys.toArray(); 76 77 for(int i=0;i<keysId.length;i++) 78 result.addElement((String )keysId[i]); 79 } catch (Exception ex){ 80 System.out.println("Couldn't get number of active sessions for "+application+" servlet!"); 81 82 } 83 } 84 }catch(Exception e){ 85 System.out.println("Couldn't acess to servlet :"+application+" !"); 86 87 } 88 return result; 89 } 90 91 } 92 93 | Popular Tags |