Author: markt
Date: Mon Nov 29 15:40:11 2010
New Revision: 1040158

URL: http://svn.apache.org/viewvc?rev=1040158&view=rev
Log:
Add a test case for https://issues.apache.org/bugzilla/show_bug.cgi?id=50351

Modified:
    tomcat/trunk/test/org/apache/naming/resources/TestNamingContext.java
    tomcat/trunk/test/org/apache/naming/resources/TesterObject.java

Modified: tomcat/trunk/test/org/apache/naming/resources/TestNamingContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/naming/resources/TestNamingContext.java?rev=1040158&r1=1040157&r2=1040158&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/naming/resources/TestNamingContext.java 
(original)
+++ tomcat/trunk/test/org/apache/naming/resources/TestNamingContext.java Mon 
Nov 29 15:40:11 2010
@@ -156,4 +156,55 @@ public class TestNamingContext extends T
             }
         }
     }
+    
+    public void testBeanFactory() throws Exception {
+        Tomcat tomcat = getTomcatInstance();
+        tomcat.enableNaming();
+        
+        // Must have a real docBase - just use temp
+        StandardContext ctx = (StandardContext)
+            tomcat.addContext("", System.getProperty("java.io.tmpdir"));
+        
+        // Create the resource
+        ContextResource cr = new ContextResource();
+        cr.setName("bug50351");
+        cr.setType("org.apache.naming.resources.TesterObject");
+        cr.setProperty("factory", "org.apache.naming.factory.BeanFactory");
+        cr.setProperty("foo", "value");
+        ctx.getNamingResources().addResource(cr);
+        
+        // Map the test Servlet
+        Bug50351Servlet bug50351Servlet = new Bug50351Servlet();
+        Tomcat.addServlet(ctx, "bug50351Servlet", bug50351Servlet);
+        ctx.addServletMapping("/", "bug50351Servlet");
+
+        tomcat.start();
+
+        ByteChunk bc = getUrl("http://localhost:"; + getPort() + "/");
+        assertEquals("value", bc.toString());
+    }
+
+    public final class Bug50351Servlet extends HttpServlet {
+
+        private static final long serialVersionUID = 1L;
+        
+        @Override
+        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+                throws ServletException, IOException {
+
+            resp.setContentType("text/plain;UTF-8");
+            PrintWriter out = resp.getWriter();
+
+            try {
+                Context ctx = new InitialContext();
+                Object obj = ctx.lookup("java:comp/env/bug50351");
+                TesterObject to = (TesterObject) obj;
+                out.print(to.getFoo());
+            } catch (NamingException ne) {
+                ne.printStackTrace(out);
+            }
+        }
+    }
+    
+
 }

Modified: tomcat/trunk/test/org/apache/naming/resources/TesterObject.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/naming/resources/TesterObject.java?rev=1040158&r1=1040157&r2=1040158&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/naming/resources/TesterObject.java (original)
+++ tomcat/trunk/test/org/apache/naming/resources/TesterObject.java Mon Nov 29 
15:40:11 2010
@@ -18,8 +18,18 @@ package org.apache.naming.resources;
 
 public class TesterObject {
 
+    private String foo;
+
     @Override
     public String toString() {
         return "This is a test object (" + super.toString() + ").";
     }
+    
+    public void setFoo(String foo) {
+        this.foo = foo;
+    }
+    
+    public String getFoo() {
+        return this.foo;
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to