Author: markt
Date: Thu Oct 11 22:52:30 2012
New Revision: 1397354

URL: http://svn.apache.org/viewvc?rev=1397354&view=rev
Log:
ServletInputStream.dataAvailable() was removed.

Modified:
    tomcat/trunk/java/javax/servlet/ServletInputStream.java
    tomcat/trunk/java/javax/servlet/ServletOutputStream.java
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java
    tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
    tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
    tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java

Modified: tomcat/trunk/java/javax/servlet/ServletInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletInputStream.java?rev=1397354&r1=1397353&r2=1397354&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletInputStream.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletInputStream.java Thu Oct 11 22:52:30 
2012
@@ -83,28 +83,21 @@ public abstract class ServletInputStream
     }
 
     /**
-     * TODO SERVLET 3.1
-     * @return  TODO
-     */
-    public abstract int dataAvailable();
-
-
-    /**
-     * TODO SERVLET 3.1
-     * @return  TODO
+     * Returns <code>true</code> if all the data has been read from the stream,
+     * else <code>false</code>.
      */
     public abstract boolean isFinished();
 
     /**
-     * TODO SERVLET 3.1
-     * If this returns false, the container will invoke
-     * {@link ReadListener#onDataAvailable()} when data is available.
-     * @return  TODO
+     * Returns <code>true</code> if data can be read without blocking, else
+     * <code>false</code>. If this method is called and returns false, the
+     * container will invoke {@link ReadListener#onDataAvailable()} when data 
is
+     * available.
      */
     public abstract boolean isReady();
 
     /**
-     * TODO SERVLET 3.1
+     * Sets the {@link ReadListener} for this {@link ServletInputStream}.
      */
-    public abstract void setReadListener(javax.servlet.ReadListener listener);
+    public abstract void setReadListener(ReadListener listener);
 }

Modified: tomcat/trunk/java/javax/servlet/ServletOutputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletOutputStream.java?rev=1397354&r1=1397353&r2=1397354&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletOutputStream.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletOutputStream.java Thu Oct 11 
22:52:30 2012
@@ -283,4 +283,5 @@ public abstract class ServletOutputStrea
     /**
      * TODO SERVLET 3.1
      */
-    public abstract void setWriteListener(javax.servlet.WriteListener 
listener);}
+    public abstract void setWriteListener(javax.servlet.WriteListener 
listener);
+}

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java?rev=1397354&r1=1397353&r2=1397354&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java Thu 
Oct 11 22:52:30 2012
@@ -247,11 +247,6 @@ public class CoyoteInputStream
         return ib.isFinished();
     }
 
-    @Override
-    public int dataAvailable() {
-        return ib.dataAvailable();
-    }
-
 
     @Override
     public boolean isReady() {
@@ -266,6 +261,4 @@ public class CoyoteInputStream
     public void setReadListener(ReadListener listener) {
         ib.setReadListener(listener);
     }
-
-
 }

Modified: tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=1397354&r1=1397353&r2=1397354&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java Thu Oct 11 
22:52:30 2012
@@ -248,41 +248,28 @@ public class InputBuffer extends Reader
         return available;
     }
 
+
     private volatile ReadListener listener;
     public void setReadListener(ReadListener listener) {
         this.listener = listener;
         coyoteRequest.action(ActionCode.SET_READ_LISTENER, listener);
     }
 
+
     public ReadListener getReadListener() {
         return listener;
     }
 
-    public boolean isFinished() {
-        return dataAvailable()==0;
-    }
-
-    public int dataAvailable() {
-        if (getReadListener()==null) throw new IllegalStateException("not in 
non blocking mode.");
-        int result = 0;
-        //first check if we have buffered something already
-        result = available();
-
-        if(result <= 0) {
-            //here we can issue a non blocking read
-            //if supported
-            //TODO SERVLET 3.1
-        }
-
-        return result;
 
+    public boolean isFinished() {
+        return available() == 0;
     }
 
 
     public boolean isReady() {
         if (getReadListener()==null) throw new IllegalStateException("not in 
non blocking mode.");
-        int available = dataAvailable();
-        boolean result = available>0;
+        int available = available();
+        boolean result = available > 0;
         if (!result) {
             coyoteRequest.action(ActionCode.NB_READ_INTEREST, null);
         }
@@ -290,13 +277,8 @@ public class InputBuffer extends Reader
     }
 
 
-
-
-
-
     // ------------------------------------------------- Bytes Handling Methods
 
-
     /**
      * Reads new bytes in the byte chunk.
      *

Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1397354&r1=1397353&r2=1397354&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Thu Oct 11 
22:52:30 2012
@@ -112,7 +112,7 @@ public class AsyncContextImpl implements
         try {
             Thread.currentThread().setContextClassLoader(newCL);
             request.getCoyoteRequest().getReadListener().onDataAvailable();
-            if (request.getInputStream().dataAvailable()==0) {
+            if (request.getInputStream().isFinished()) {
                 request.getCoyoteRequest().getReadListener().onAllDataRead();
             }
         }finally {

Modified: 
tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java?rev=1397354&r1=1397353&r2=1397354&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
Thu Oct 11 22:52:30 2012
@@ -358,12 +358,11 @@ public class TestNonBlockingAPI extends 
         public void onDataAvailable() {
             try {
                 ServletInputStream in = ctx.getRequest().getInputStream();
-                int avail = 0;
                 String s = "";
-                while ((avail = in.dataAvailable()) > 0) {
-                    byte[] b = new byte[avail];
-                    in.read(b);
-                    s += new String(b);
+                byte[] b = new byte[8192];
+                while (in.isReady()) {
+                    int read = in.read(b);
+                    s += new String(b, 0, read);
                 }
                 System.out.println(s);
                 if ("FINISHED".equals(s)) {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to