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