Author: norman
Date: Tue Nov 22 06:58:15 2011
New Revision: 1204832

URL: http://svn.apache.org/viewvc?rev=1204832&view=rev
Log:
Correctly set the wrapped Response

Modified:
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/FutureResponseImpl.java

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/FutureResponseImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/FutureResponseImpl.java?rev=1204832&r1=1204831&r2=1204832&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/FutureResponseImpl.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/FutureResponseImpl.java
 Tue Nov 22 06:58:15 2011
@@ -30,12 +30,11 @@ import java.util.List;
 public class FutureResponseImpl implements FutureResponse{
 
     protected Response response;
-    private boolean ready = false;
     private List<ResponseListener> listeners;
     private int waiters;
 
     protected final synchronized void checkReady() {
-        while (!ready) {
+        while (!isReady()) {
             try {
                 waiters++;
                 wait();
@@ -48,7 +47,7 @@ public class FutureResponseImpl implemen
     }
     @Override
     public synchronized void addListener(ResponseListener listener) {
-        if (ready) {
+        if (isReady()) {
             listener.onResponse(this);
         } else {
             if (listeners == null) {
@@ -67,7 +66,7 @@ public class FutureResponseImpl implemen
 
     @Override
     public synchronized boolean isReady() {
-        return ready;
+        return response != null;
     }
     
     @Override
@@ -97,13 +96,12 @@ public class FutureResponseImpl implemen
     }
     
     public synchronized void setResponse(Response response) {
-        if (!ready) {
-            ready = true;
+        if (!isReady()) {
+               this.response = response;
             
             if (waiters > 0) {
                 notifyAll();
             }
-            
             for (ResponseListener listener: listeners) {
                 listener.onResponse(this);
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to