You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/11/24 19:49:46 UTC
svn commit: r1413238 - in
/tomcat/trunk/java/org/apache/coyote/http11/upgrade:
LocalStrings.properties UpgradeServletInputStream.java
Author: markt
Date: Sat Nov 24 18:49:45 2012
New Revision: 1413238
URL: http://svn.apache.org/viewvc?rev=1413238&view=rev
Log:
Add missing state checks
Fix i18n TODOs
Modified:
tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties?rev=1413238&r1=1413237&r2=1413238&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties Sat Nov 24 18:49:45 2012
@@ -16,6 +16,7 @@
upgrade.sis.isFinished.ise=It is illegal to call isFinished() when the ServletInputStream is not in non-blocking mode (i.e. setReadListener() must be called first)
upgrade.sis.isReady.ise=It is illegal to call isReady() when the ServletInputStream is not in non-blocking mode (i.e. setReadListener() must be called first)
upgrade.sis.readListener.null=It is illegal to pass null to setReadListener()
+upgrade.sis.read.ise=It is illegal to call any of the read() methods without first checking that there is data available by calling isReady()
upgrade.sos.canWrite.ise=It is illegal to call canWrite() when the ServletOutputStream is not in non-blocking mode (i.e. setWriteListener() must be called first)
upgrade.sos.writeListener.null=It is illegal to pass null to setWriteListener()
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java?rev=1413238&r1=1413237&r2=1413238&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java Sat Nov 24 18:49:45 2012
@@ -21,8 +21,14 @@ import java.io.IOException;
import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
+import org.apache.tomcat.util.res.StringManager;
+
public abstract class UpgradeServletInputStream extends ServletInputStream {
+ protected static final StringManager sm =
+ StringManager.getManager(Constants.Package);
+
+
// Start in blocking-mode
private volatile Boolean ready = Boolean.TRUE;
private volatile ReadListener listener = null;
@@ -30,6 +36,10 @@ public abstract class UpgradeServletInpu
@Override
public final boolean isFinished() {
+ if (listener == null) {
+ throw new IllegalStateException(
+ sm.getString("upgrade.sis.isFinished.ise"));
+ }
// The only way to finish an HTTP Upgrade connection is to close the
// socket.
return false;
@@ -38,6 +48,11 @@ public abstract class UpgradeServletInpu
@Override
public final boolean isReady() {
+ if (listener == null) {
+ throw new IllegalStateException(
+ sm.getString("upgrade.sis.isReady.ise"));
+ }
+
// If we already know the current state, return it.
if (ready != null) {
return ready.booleanValue();
@@ -55,8 +70,8 @@ public abstract class UpgradeServletInpu
@Override
public final void setReadListener(ReadListener listener) {
if (listener == null) {
- // TODO i18n
- throw new IllegalArgumentException();
+ throw new IllegalArgumentException(
+ sm.getString("upgrade.sis.readListener.null"));
}
this.listener = listener;
// Switching to non-blocking. Don't know if data is available.
@@ -102,8 +117,8 @@ public abstract class UpgradeServletInpu
private void preReadChecks() {
if (listener != null && (ready == null || !ready.booleanValue())) {
- // TODO i18n
- throw new IllegalStateException();
+ throw new IllegalStateException(
+ sm.getString("upgrade.sis.read.ise"));
}
// No longer know if data is available
ready = null;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org