diff options
author | Raymond Auge | 2015-08-13 04:17:47 +0000 |
---|---|---|
committer | Raymond Auge | 2015-08-13 04:27:34 +0000 |
commit | 01abbce8c9cb27eaa2b8fd9baabd1fd39a9e77d7 (patch) | |
tree | 544813afc3c74470030da5a598a89008bc31d887 /bundles/org.eclipse.equinox.http.servlet.tests | |
parent | 14b77e49a4a25351725b3dad145f24c2b2cb141b (diff) | |
download | rt.equinox.bundles-01abbce8c9cb27eaa2b8fd9baabd1fd39a9e77d7.tar.gz rt.equinox.bundles-01abbce8c9cb27eaa2b8fd9baabd1fd39a9e77d7.tar.xz rt.equinox.bundles-01abbce8c9cb27eaa2b8fd9baabd1fd39a9e77d7.zip |
Bug 467859 - [http whiteboard] request/response wrappers are not visible ...
... during later request processing
Signed-off-by: Raymond Auge <raymond.auge@liferay.com>
Diffstat (limited to 'bundles/org.eclipse.equinox.http.servlet.tests')
-rw-r--r-- | bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java index a8303cc91..cacee3077 100644 --- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java +++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java @@ -1647,6 +1647,130 @@ public class ServletTest extends TestCase { Assert.assertEquals("b", requestAdvisor.request("files/help.txt")); } + public void test_Servlet13() throws Exception { + Servlet servlet = new HttpServlet() { + private static final long serialVersionUID = 1L; + + @Override + protected void doGet( + HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + PrintWriter writer = resp.getWriter(); + writer.write(req.getQueryString()); + writer.write("|"); + writer.write(req.getParameter("p")); + writer.write("|"); + writer.write(Arrays.toString(req.getParameterValues("p"))); + } + }; + + Dictionary<String, Object> props = new Hashtable<String, Object>(); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13"); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13/*"); + registrations.add(getBundleContext().registerService(Servlet.class, servlet, props)); + + String result = requestAdvisor.request("Servlet13/a?p=1&p=2"); + + Assert.assertEquals("p=1&p=2|1|[1, 2]", result); + } + + public void test_Servlet14() throws Exception { + Servlet sA = new HttpServlet() { + private static final long serialVersionUID = 1L; + + @Override + protected void doGet( + HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + RequestDispatcher requestDispatcher = req.getRequestDispatcher("/Servlet13B/a?p=3&p=4"); + + requestDispatcher.include(req, resp); + } + }; + Servlet sB = new HttpServlet() { + private static final long serialVersionUID = 1L; + + @Override + protected void doGet( + HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + PrintWriter writer = resp.getWriter(); + writer.write(req.getQueryString()); + writer.write("|"); + writer.write((String)req.getAttribute(RequestDispatcher.INCLUDE_QUERY_STRING)); + writer.write("|"); + writer.write(req.getParameter("p")); + writer.write("|"); + writer.write(Arrays.toString(req.getParameterValues("p"))); + } + }; + + Dictionary<String, Object> props = new Hashtable<String, Object>(); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13A"); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13A/*"); + registrations.add(getBundleContext().registerService(Servlet.class, sA, props)); + + props = new Hashtable<String, Object>(); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13B"); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13B/*"); + registrations.add(getBundleContext().registerService(Servlet.class, sB, props)); + + String result = requestAdvisor.request("Servlet13A/a?p=1&p=2"); + + Assert.assertEquals("p=3&p=4&p=1&p=2|p=3&p=4|3|[3, 4, 1, 2]", result); + } + + public void test_Servlet15() throws Exception { + Servlet sA = new HttpServlet() { + private static final long serialVersionUID = 1L; + + @Override + protected void doGet( + HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + RequestDispatcher requestDispatcher = req.getRequestDispatcher("/Servlet13B/a?p=3&p=4"); + + requestDispatcher.forward(req, resp); + } + }; + Servlet sB = new HttpServlet() { + private static final long serialVersionUID = 1L; + + @Override + protected void doGet( + HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + PrintWriter writer = resp.getWriter(); + writer.write(req.getQueryString()); + writer.write("|"); + writer.write((String)req.getAttribute(RequestDispatcher.FORWARD_QUERY_STRING)); + writer.write("|"); + writer.write(req.getParameter("p")); + writer.write("|"); + writer.write(Arrays.toString(req.getParameterValues("p"))); + } + }; + + Dictionary<String, Object> props = new Hashtable<String, Object>(); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13A"); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13A/*"); + registrations.add(getBundleContext().registerService(Servlet.class, sA, props)); + + props = new Hashtable<String, Object>(); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13B"); + props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13B/*"); + registrations.add(getBundleContext().registerService(Servlet.class, sB, props)); + + String result = requestAdvisor.request("Servlet13A/a?p=1&p=2"); + + Assert.assertEquals("p=3&p=4&p=1&p=2|p=1&p=2|3|[3, 4, 1, 2]", result); + } + public void test_ServletContext1() throws Exception { String expected = "/org/eclipse/equinox/http/servlet/tests/tb1/resource1.txt"; String actual; |