JBossWeb SVN: r2180 - in branches/8.0.x/src/main/java/org: apache/catalina/core and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2013-04-04 12:23:36 -0400 (Thu, 04 Apr 2013)
New Revision: 2180
Modified:
branches/8.0.x/src/main/java/org/apache/catalina/connector/InputBuffer.java
branches/8.0.x/src/main/java/org/apache/catalina/connector/OutputBuffer.java
branches/8.0.x/src/main/java/org/apache/catalina/connector/Request.java
branches/8.0.x/src/main/java/org/apache/catalina/connector/Response.java
branches/8.0.x/src/main/java/org/apache/catalina/core/ApplicationContext.java
branches/8.0.x/src/main/java/org/jboss/web/CatalinaMessages.java
Log:
Some 3.1 fixes, after reviewing the javadoc.
Modified: branches/8.0.x/src/main/java/org/apache/catalina/connector/InputBuffer.java
===================================================================
--- branches/8.0.x/src/main/java/org/apache/catalina/connector/InputBuffer.java 2013-04-02 12:36:25 UTC (rev 2179)
+++ branches/8.0.x/src/main/java/org/apache/catalina/connector/InputBuffer.java 2013-04-04 16:23:36 UTC (rev 2180)
@@ -592,6 +592,12 @@
if (this.readListener != null) {
throw MESSAGES.readListenerAlreadySet();
}
+ if (readListener == null) {
+ throw MESSAGES.nullListener();
+ }
+ if (!request.isEventMode()) {
+ throw MESSAGES.cannotSetListenerWithoutUpgradeOrAsync();
+ }
this.readListener = readListener;
coyoteRequest.action(ActionCode.ACTION_EVENT_READ_BEGIN, null);
}
Modified: branches/8.0.x/src/main/java/org/apache/catalina/connector/OutputBuffer.java
===================================================================
--- branches/8.0.x/src/main/java/org/apache/catalina/connector/OutputBuffer.java 2013-04-02 12:36:25 UTC (rev 2179)
+++ branches/8.0.x/src/main/java/org/apache/catalina/connector/OutputBuffer.java 2013-04-04 16:23:36 UTC (rev 2180)
@@ -147,6 +147,12 @@
/**
+ * Associated request.
+ */
+ private org.apache.catalina.connector.Response response;
+
+
+ /**
* Suspended flag. All output bytes will be swallowed if this is true.
*/
private boolean suspended = false;
@@ -164,9 +170,9 @@
/**
* Default constructor. Allocate the buffer with the default buffer size.
*/
- public OutputBuffer() {
+ public OutputBuffer(org.apache.catalina.connector.Response response) {
- this(DEFAULT_BUFFER_SIZE);
+ this(response, DEFAULT_BUFFER_SIZE);
}
@@ -176,8 +182,9 @@
*
* @param size Buffer size to use
*/
- public OutputBuffer(int size) {
+ public OutputBuffer(org.apache.catalina.connector.Response response, int size) {
+ this.response = response;
bb = new ByteChunk(size);
bb.setLimit(size);
bb.setByteOutputChannel(this);
@@ -681,6 +688,12 @@
if (this.writeListener != null) {
throw MESSAGES.writeListenerAlreadySet();
}
+ if (writeListener == null) {
+ throw MESSAGES.nullListener();
+ }
+ if (!response.getRequest().isEventMode()) {
+ throw MESSAGES.cannotSetListenerWithoutUpgradeOrAsync();
+ }
this.writeListener = writeListener;
coyoteResponse.action(ActionCode.ACTION_EVENT_WRITE_BEGIN, null);
}
Modified: branches/8.0.x/src/main/java/org/apache/catalina/connector/Request.java
===================================================================
--- branches/8.0.x/src/main/java/org/apache/catalina/connector/Request.java 2013-04-02 12:36:25 UTC (rev 2179)
+++ branches/8.0.x/src/main/java/org/apache/catalina/connector/Request.java 2013-04-04 16:23:36 UTC (rev 2180)
@@ -3343,6 +3343,7 @@
throw new IOException(MESSAGES.upgradeError(), upgradeError);
}
response.sendUpgrade();
+ eventMode = true;
ugradeHandler.init(getEvent());
this.upgradeHandler = ugradeHandler;
return ugradeHandler;
Modified: branches/8.0.x/src/main/java/org/apache/catalina/connector/Response.java
===================================================================
--- branches/8.0.x/src/main/java/org/apache/catalina/connector/Response.java 2013-04-02 12:36:25 UTC (rev 2179)
+++ branches/8.0.x/src/main/java/org/apache/catalina/connector/Response.java 2013-04-04 16:23:36 UTC (rev 2180)
@@ -126,9 +126,9 @@
this.connector = connector;
if("AJP/1.3".equals(connector.getProtocol())) {
// default size to size of one ajp-packet
- outputBuffer = new OutputBuffer(8184);
+ outputBuffer = new OutputBuffer(this, 8184);
} else {
- outputBuffer = new OutputBuffer();
+ outputBuffer = new OutputBuffer(this);
}
outputStream = new CoyoteOutputStream(outputBuffer);
writer = new CoyoteWriter(outputBuffer);
Modified: branches/8.0.x/src/main/java/org/apache/catalina/core/ApplicationContext.java
===================================================================
--- branches/8.0.x/src/main/java/org/apache/catalina/core/ApplicationContext.java 2013-04-02 12:36:25 UTC (rev 2179)
+++ branches/8.0.x/src/main/java/org/apache/catalina/core/ApplicationContext.java 2013-04-04 16:23:36 UTC (rev 2180)
@@ -1232,6 +1232,9 @@
}
public String getVirtualServerName() {
+ if (restricted) {
+ throw MESSAGES.restrictedListenerCannotCallMethod();
+ }
return ((Host) context.getParent()).getName();
}
Modified: branches/8.0.x/src/main/java/org/jboss/web/CatalinaMessages.java
===================================================================
--- branches/8.0.x/src/main/java/org/jboss/web/CatalinaMessages.java 2013-04-02 12:36:25 UTC (rev 2179)
+++ branches/8.0.x/src/main/java/org/jboss/web/CatalinaMessages.java 2013-04-04 16:23:36 UTC (rev 2180)
@@ -987,4 +987,10 @@
@Message(id = 365, value = "IO listener processing for servlet %s threw exception")
String ioListenerError(String servletName);
+ @Message(id = 366, value = "Null read or write listener")
+ NullPointerException nullListener();
+
+ @Message(id = 366, value = "Cannot use a read or write listener without upgrading or starting async")
+ IllegalStateException cannotSetListenerWithoutUpgradeOrAsync();
+
}