KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > aop > scoped > ear > servlet > EarExampleServlet


1 /* *************************************
2  * *
3  * JBoss: The OpenSource J2EE WebOS *
4  * *
5  * Distributable under LGPL license. *
6  * See terms of license at gnu.org. *
7  * *
8  ************************************* */

9 package org.jboss.test.aop.scoped.ear.servlet;
10
11 import java.io.IOException JavaDoc;
12 import java.io.PrintWriter JavaDoc;
13
14 import javax.naming.InitialContext JavaDoc;
15 import javax.rmi.PortableRemoteObject JavaDoc;
16 import javax.servlet.ServletConfig JavaDoc;
17 import javax.servlet.ServletException JavaDoc;
18 import javax.servlet.http.HttpServlet JavaDoc;
19 import javax.servlet.http.HttpServletRequest JavaDoc;
20 import javax.servlet.http.HttpServletResponse JavaDoc;
21
22 import org.jboss.test.aop.scoped.ear.ejb.ExampleSession;
23 import org.jboss.test.aop.scoped.ear.ejb.ExampleSessionHome;
24 import org.jboss.test.aop.scoped.ear.interceptor.TestInterceptor;
25
26 /**
27  *
28  * @author <a HREF="mailto:kabirkhan@bigfoot.com">Kabir Khan</a>
29  *
30  */

31 public class EarExampleServlet extends HttpServlet JavaDoc {
32
33    String JavaDoc scope;
34    public void init(ServletConfig JavaDoc cfg) throws ServletException JavaDoc
35    {
36       super.init(cfg);
37       scope = super.getInitParameter("scope");
38    }
39
40    public void service(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
41          throws ServletException JavaDoc, IOException JavaDoc {
42       try
43       {
44          InitialContext JavaDoc ctx = new InitialContext JavaDoc();
45          Object JavaDoc obj = ctx.lookup("ExampleSession" + scope);
46          
47          System.out.println("Expected loader " + ExampleSessionHome.class.getClassLoader());
48          System.out.println("Interfaces");
49          Class JavaDoc[] ifs = obj.getClass().getInterfaces();
50          for (int i = 0 ; i < ifs.length ; i++)
51          {
52             System.out.println(i + " " + ifs[i].getName() + " " + ifs[i].getClassLoader());
53          }
54          
55          ExampleSessionHome home = (ExampleSessionHome)PortableRemoteObject.narrow(obj, ExampleSessionHome.class);
56          ExampleSession exSess = home.create();
57          
58          TestInterceptor.intercepted = 0;
59          exSess.getValue("hello");
60          if (TestInterceptor.intercepted != 1)
61          {
62             throw new ServletException JavaDoc("Wrong TestInterceptor.intercepted for bean, expected=1; actual=" + TestInterceptor.intercepted);
63          }
64
65          //When using generated advisors the interceptors are not actually created until a joinpoint requiring it has been accessed
66
String JavaDoc expected = "scope" + scope;
67          String JavaDoc actual = TestInterceptor.scope;
68          if (!actual.equals(expected))
69          {
70             throw new ServletException JavaDoc("Wrong TestInterceptor.scope, expected=" + expected + "; actual=" + TestInterceptor.scope);
71          }
72          
73          TestInterceptor.intercepted = 0;
74          testServlet();
75          if (TestInterceptor.intercepted != 1)
76          {
77             throw new ServletException JavaDoc("Wrong TestInterceptor.intercepted for servlet, expected=1; actual=" + TestInterceptor.intercepted);
78          }
79
80          response.setContentType("text/html");
81          PrintWriter JavaDoc out = response.getWriter();
82          out.println("<html>");
83          out.println("<head><title>EarExampleServlet</title></head>");
84          out.println("<body>Tests passed<br></body>");
85          out.println("</html>");
86          out.close();
87
88       }
89       catch (Exception JavaDoc e)
90       {
91          e.printStackTrace();
92          
93          StringBuffer JavaDoc err = new StringBuffer JavaDoc(e.getClass().getName() + "\n");
94          err.append(e.getMessage() + "\n");
95          
96          StackTraceElement JavaDoc[] elements = e.getStackTrace();
97          for (int i = 0 ; i < elements.length ; i++)
98          {
99             err.append(elements[i].toString() + "\n");
100          }
101          
102          response.sendError(500, err.toString());
103       }
104    }
105    
106    private void testServlet()
107    {
108       
109    }
110 }
111
Popular Tags