KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > sessionViewer > business > ApplicationSessionListImpl


1 package sessionViewer.business;
2
3 import java.util.Vector JavaDoc;
4 import java.util.Enumeration JavaDoc;
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 JavaDoc;
17
18 public class ApplicationSessionListImpl implements ApplicationSessionList{
19     
20     
21     public Vector JavaDoc getList(String JavaDoc application) throws Exception JavaDoc {
22  
23      
24      HttpContext sc=GlobalImpl.getServlet(application);
25      
26      
27        Vector JavaDoc result = new Vector JavaDoc();
28        Application app = null;
29        com.lutris.appserver.server.session.SessionManager sessionManager = null;
30        String JavaDoc 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 JavaDoc 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 JavaDoc ses= manager.getSessionMap();
53                      java.util.Set JavaDoc keys=ses.keySet();
54                      Object JavaDoc[] keysId=keys.toArray();
55                     for(int i=0;i<keysId.length;i++)
56                        result.addElement((String JavaDoc)keysId[i]);
57                       
58                }else{
59                 Enumeration JavaDoc sessionKeys = sessionManager.getSessionKeys();
60                 
61                 while (sessionKeys.hasMoreElements()) {
62                   sessionID = (String JavaDoc) sessionKeys.nextElement();
63                   result.addElement(sessionID);
64                 }
65                   }
66             } catch (Exception JavaDoc 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 JavaDoc ses= manager.getSessionMap();
74          java.util.Set JavaDoc keys=ses.keySet();
75          Object JavaDoc[] keysId=keys.toArray();
76       
77         for(int i=0;i<keysId.length;i++)
78                        result.addElement((String JavaDoc)keysId[i]);
79      } catch (Exception JavaDoc ex){
80             System.out.println("Couldn't get number of active sessions for "+application+" servlet!");
81           
82      }
83        }
84       }catch(Exception JavaDoc e){
85         System.out.println("Couldn't acess to servlet :"+application+" !");
86                        
87         }
88        return result;
89     }
90   
91 }
92
93
Popular Tags