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