You are viewing a plain text version of this content. The canonical link for it is here.
Posted to awf-commits@incubator.apache.org by sl...@apache.org on 2011/09/20 21:47:49 UTC

svn commit: r1173399 - in /incubator/deft/sandbox/src: main/java/org/apache/deft/io/IOLoop.java main/java/org/apache/deft/web/http/HttpProtocol.java test/java/org/apache/deft/web/DeftSystemTest.java

Author: slemesle
Date: Tue Sep 20 21:47:49 2011
New Revision: 1173399

URL: http://svn.apache.org/viewvc?rev=1173399&view=rev
Log:
Fix build and unpredictable IOLoop.stop() behaviour

Modified:
    incubator/deft/sandbox/src/main/java/org/apache/deft/io/IOLoop.java
    incubator/deft/sandbox/src/main/java/org/apache/deft/web/http/HttpProtocol.java
    incubator/deft/sandbox/src/test/java/org/apache/deft/web/DeftSystemTest.java

Modified: incubator/deft/sandbox/src/main/java/org/apache/deft/io/IOLoop.java
URL: http://svn.apache.org/viewvc/incubator/deft/sandbox/src/main/java/org/apache/deft/io/IOLoop.java?rev=1173399&r1=1173398&r2=1173399&view=diff
==============================================================================
--- incubator/deft/sandbox/src/main/java/org/apache/deft/io/IOLoop.java (original)
+++ incubator/deft/sandbox/src/main/java/org/apache/deft/io/IOLoop.java Tue Sep 20 21:47:49 2011
@@ -57,7 +57,7 @@ public class IOLoop implements IOLoopMXB
      */
     public static final IOLoop INSTANCE = new IOLoop();
 
-    private boolean running = false;
+    private volatile boolean running = false;
 
     private final Logger logger = LoggerFactory.getLogger(IOLoop.class);
 

Modified: incubator/deft/sandbox/src/main/java/org/apache/deft/web/http/HttpProtocol.java
URL: http://svn.apache.org/viewvc/incubator/deft/sandbox/src/main/java/org/apache/deft/web/http/HttpProtocol.java?rev=1173399&r1=1173398&r2=1173399&view=diff
==============================================================================
--- incubator/deft/sandbox/src/main/java/org/apache/deft/web/http/HttpProtocol.java (original)
+++ incubator/deft/sandbox/src/main/java/org/apache/deft/web/http/HttpProtocol.java Tue Sep 20 21:47:49 2011
@@ -247,31 +247,26 @@ public class HttpProtocol implements IOH
     private HttpRequest doGetHttpRequest(SelectionKey key, SocketChannel clientChannel, ByteBuffer buffer) {
         // do we have any unfinished http post requests for this channel?
         HttpRequestImpl request = null;
-        try {
-            if (partials.containsKey(clientChannel)) {
-                request = parser.parseRequestBuffer(buffer, partials.get(clientChannel));
-                if (request.isFinished()) {
-                    // received the entire payload/body
-                    partials.remove(clientChannel);
-                }
-            } else {
-                request = parser.parseRequestBuffer(buffer);
-                if (!request.isFinished()) {
-                    partials.put(key.channel(), request);
-                }
+        if (partials.containsKey(clientChannel)) {
+            request = parser.parseRequestBuffer(buffer, partials.get(clientChannel));
+            if (request.isFinished()) {
+                // received the entire payload/body
+                partials.remove(clientChannel);
             }
+        } else {
+            request = parser.parseRequestBuffer(buffer);
+            if (!request.isFinished()) {
+                partials.put(key.channel(), request);
+            }
+        }
 
 
-            // set extra request info
-            request.setRemoteHost(clientChannel.socket().getInetAddress());
-            request.setRemotePort(clientChannel.socket().getPort());
-            request.setServerHost(clientChannel.socket().getLocalAddress());
-            request.setServerPort(clientChannel.socket().getLocalPort());
-            return (request.isFinished() ? request : null);
-        } catch (Exception e) {
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-        }
-        return null;
+        // set extra request info
+        request.setRemoteHost(clientChannel.socket().getInetAddress());
+        request.setRemotePort(clientChannel.socket().getPort());
+        request.setServerHost(clientChannel.socket().getLocalAddress());
+        request.setServerPort(clientChannel.socket().getLocalPort());
+        return (request.isFinished() ? request : null);
     }
 
     @Override

Modified: incubator/deft/sandbox/src/test/java/org/apache/deft/web/DeftSystemTest.java
URL: http://svn.apache.org/viewvc/incubator/deft/sandbox/src/test/java/org/apache/deft/web/DeftSystemTest.java?rev=1173399&r1=1173398&r2=1173399&view=diff
==============================================================================
--- incubator/deft/sandbox/src/test/java/org/apache/deft/web/DeftSystemTest.java (original)
+++ incubator/deft/sandbox/src/test/java/org/apache/deft/web/DeftSystemTest.java Tue Sep 20 21:47:49 2011
@@ -1068,7 +1068,7 @@ public class DeftSystemTest {
                     http.get(url, cb);
                 }
             });
-            latch.await(15, TimeUnit.SECONDS);
+            latch.await(30, TimeUnit.SECONDS);
             assertEquals(0, latch.getCount());
             assertEquals("hello test", result[0]);
             assertEquals("HTTP/1.1 200 OK", result[1]);
@@ -1127,7 +1127,7 @@ public class DeftSystemTest {
                 http.get(url, cb);
             }
         });
-        latch.await(5, TimeUnit.SECONDS);
+        latch.await(10, TimeUnit.SECONDS);
         assertEquals(0, latch.getCount());
     }
 
@@ -1155,7 +1155,7 @@ public class DeftSystemTest {
                 http.get(url, cb);
             }
         });
-        latch.await(5, TimeUnit.SECONDS);
+        latch.await(10, TimeUnit.SECONDS);
         assertEquals(0, latch.getCount());
     }