Author: remy.maucherat(a)jboss.com
Date: 2009-11-24 20:50:35 -0500 (Tue, 24 Nov 2009)
New Revision: 1289
Modified:
trunk/java/org/apache/catalina/connector/Request.java
trunk/java/org/apache/catalina/core/StandardWrapperValve.java
trunk/test/build.xml
trunk/test/java/org/jboss/web/comet/CometServletTest1.java
trunk/test/java/org/jboss/web/comet/CometServletTest2.java
Log:
- Integrate the event tests in the cometd webapp.
- Fix problems with the filter chain stack. Hopefully other tests are still ok.
- Le lendemain, ca marche toujours mieux.
Modified: trunk/java/org/apache/catalina/connector/Request.java
===================================================================
--- trunk/java/org/apache/catalina/connector/Request.java 2009-11-24 13:21:34 UTC (rev
1288)
+++ trunk/java/org/apache/catalina/connector/Request.java 2009-11-25 01:50:35 UTC (rev
1289)
@@ -509,7 +509,7 @@
localPort = -1;
localAddr = null;
localName = null;
- currentFilterChain = 0;
+ currentFilterChain = -1;
filterChains.clear();
attributes.clear();
@@ -646,14 +646,14 @@
/**
* Number of filter chains used.
*/
- protected int currentFilterChain = 0;
+ protected int currentFilterChain = -1;
/**
* Get filter chain associated with the request.
*/
public ApplicationFilterChain getFilterChain() {
- if (currentFilterChain < filterChains.size()) {
+ if (currentFilterChain >= 0) {
return filterChains.get(currentFilterChain);
} else {
return null;
@@ -667,8 +667,8 @@
* @param filterChain new filter chain
*/
public void setFilterChain(ApplicationFilterChain filterChain) {
- if (currentFilterChain < filterChains.size()) {
- filterChains.set(currentFilterChain++, filterChain);
+ if (currentFilterChain + 1 < filterChains.size()) {
+ filterChains.set(++currentFilterChain, filterChain);
} else {
filterChains.add(filterChain);
currentFilterChain++;
@@ -3021,7 +3021,7 @@
}
public boolean isAsyncSupported() {
- int filterChainCount = currentFilterChain;
+ int filterChainCount = currentFilterChain + 1;
for (int i = 0; i < filterChainCount; i++) {
ApplicationFilterChain filterChain = filterChains.get(i);
int n = filterChain.getFilterCount();
@@ -3172,7 +3172,7 @@
buf.append(" [async]");
}
buf.append("\r\n");
- int filterChainCount = currentFilterChain;
+ int filterChainCount = currentFilterChain + 1;
for (int i = 0; i < filterChainCount; i++) {
ApplicationFilterChain filterChain = filterChains.get(i);
ApplicationFilterConfig[] filterConfigs = filterChain.getFilters();
Modified: trunk/java/org/apache/catalina/core/StandardWrapperValve.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2009-11-24 13:21:34 UTC
(rev 1288)
+++ trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2009-11-25 01:50:35 UTC
(rev 1289)
@@ -452,7 +452,6 @@
// Get the current (unchanged) filter chain for this request
ApplicationFilterChain filterChain =
(ApplicationFilterChain) request.getFilterChain();
-
// Call the filter chain for this request
// NOTE: This also calls the servlet's event() method
try {
@@ -515,7 +514,7 @@
// Release the filter chain (if any) for this request
if (filterChain != null) {
- if (asyncContext != null) {
+ if (request.isAsyncStarted()) {
filterChain.release();
} else {
filterChain.reuse();
Modified: trunk/test/build.xml
===================================================================
--- trunk/test/build.xml 2009-11-24 13:21:34 UTC (rev 1288)
+++ trunk/test/build.xml 2009-11-25 01:50:35 UTC (rev 1289)
@@ -33,6 +33,7 @@
<property file="build.properties.default"/>
<property name="test.classes"
value="${basedir}/output/classes"/>
+ <property name="test.webapps"
value="${basedir}/output/webapps"/>
<property name="tomcat.classes"
value="${basedir}/../output/classes"/>
<property name="tomcat.tmp"
value="${basedir}/output/classes/output/"/>
@@ -50,17 +51,28 @@
<mkdir dir="${test.classes}"/>
<mkdir dir="${test.classes}/conf"/>
+ <mkdir dir="${test.webapps}"/>
<!-- Compile -->
- <javac srcdir="." destdir="${test.classes}"
+ <javac srcdir="java" destdir="${test.classes}"
debug="on" debuglevel="lines,vars,source"
deprecation="${compile.deprecation}"
source="${compile.source}"
optimize="${compile.optimize}">
<classpath refid="jbossweb.test.classpath" />
- <include name="java/org/jboss/web/cookies/**" />
- <include name="java/org/apache/catalina/startup/**" />
+ <include name="**" />
</javac>
+
+ <mkdir dir="${test.webapps}/cometd"/>
+ <mkdir dir="${test.webapps}/cometd/WEB-INF/classes"/>
+
+ <copy todir="${test.webapps}/cometd">
+ <fileset dir="${basedir}/webapps/cometd" includes="**"
/>
+ </copy>
+ <copy todir="${test.webapps}/cometd/WEB-INF/classes">
+ <fileset dir="${test.classes}"
includes="org/apache/cometd/bayeux/samples/*,org/jboss/web/comet/*" />
+ </copy>
+
</target>
<!-- Run the tests -->
Modified: trunk/test/java/org/jboss/web/comet/CometServletTest1.java
===================================================================
--- trunk/test/java/org/jboss/web/comet/CometServletTest1.java 2009-11-24 13:21:34 UTC
(rev 1288)
+++ trunk/test/java/org/jboss/web/comet/CometServletTest1.java 2009-11-25 01:50:35 UTC
(rev 1289)
@@ -29,11 +29,13 @@
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
+import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import org.jboss.servlet.http.HttpEvent;
import org.jboss.servlet.http.HttpEventServlet;
+@WebServlet("/event1")
public class CometServletTest1 extends HttpServlet implements HttpEventServlet {
int count = 0;
Modified: trunk/test/java/org/jboss/web/comet/CometServletTest2.java
===================================================================
--- trunk/test/java/org/jboss/web/comet/CometServletTest2.java 2009-11-24 13:21:34 UTC
(rev 1288)
+++ trunk/test/java/org/jboss/web/comet/CometServletTest2.java 2009-11-25 01:50:35 UTC
(rev 1289)
@@ -29,9 +29,11 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
+import javax.servlet.annotation.WebServlet;
import org.jboss.servlet.http.HttpEvent;
import org.jboss.servlet.http.HttpEventServlet;
+@WebServlet("/event2")
public class CometServletTest2 extends HttpServlet implements HttpEventServlet {
int count = 0;
Show replies by date