1 9 package org.jboss.test.aop.scoped.ear.servlet; 10 11 import java.io.IOException ; 12 import java.io.PrintWriter ; 13 14 import javax.naming.InitialContext ; 15 import javax.rmi.PortableRemoteObject ; 16 import javax.servlet.ServletConfig ; 17 import javax.servlet.ServletException ; 18 import javax.servlet.http.HttpServlet ; 19 import javax.servlet.http.HttpServletRequest ; 20 import javax.servlet.http.HttpServletResponse ; 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 31 public class EarExampleServlet extends HttpServlet { 32 33 String scope; 34 public void init(ServletConfig cfg) throws ServletException 35 { 36 super.init(cfg); 37 scope = super.getInitParameter("scope"); 38 } 39 40 public void service(HttpServletRequest request, HttpServletResponse response) 41 throws ServletException , IOException { 42 try 43 { 44 InitialContext ctx = new InitialContext (); 45 Object obj = ctx.lookup("ExampleSession" + scope); 46 47 System.out.println("Expected loader " + ExampleSessionHome.class.getClassLoader()); 48 System.out.println("Interfaces"); 49 Class [] 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 ("Wrong TestInterceptor.intercepted for bean, expected=1; actual=" + TestInterceptor.intercepted); 63 } 64 65 String expected = "scope" + scope; 67 String actual = TestInterceptor.scope; 68 if (!actual.equals(expected)) 69 { 70 throw new ServletException ("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 ("Wrong TestInterceptor.intercepted for servlet, expected=1; actual=" + TestInterceptor.intercepted); 78 } 79 80 response.setContentType("text/html"); 81 PrintWriter 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 e) 90 { 91 e.printStackTrace(); 92 93 StringBuffer err = new StringBuffer (e.getClass().getName() + "\n"); 94 err.append(e.getMessage() + "\n"); 95 96 StackTraceElement [] 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 |