Author: toad
Date: 2008-06-26 21:28:03 +0000 (Thu, 26 Jun 2008)
New Revision: 20785

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
Log:
More Message-activation-related NPE fixes

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-26 
21:13:30 UTC (rev 20784)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-26 
21:28:03 UTC (rev 20785)
@@ -425,6 +425,8 @@
                        msg = new DataFoundMessage(foundDataLength, 
foundDataMimeType, identifier, global);
                } else {
                        msg = getFailedMessage;
+                       if(persistenceType == PERSIST_FOREVER)
+                               container.activate(msg, 5);
                }

                if(handler != null)
@@ -432,6 +434,8 @@
                else
                        client.queueClientRequestMessage(msg, 0, container);
                if(postFetchProtocolErrorMessage != null) {
+                       if(persistenceType == PERSIST_FOREVER)
+                               
container.activate(postFetchProtocolErrorMessage, 5);
                        if(handler != null)
                                handler.queue(postFetchProtocolErrorMessage);
                        else
@@ -469,8 +473,11 @@
                                FCPMessage msg = 
persistentTagMessage(container);
                                handler.queue(msg);
                        }
-                       if(progressPending != null)
+                       if(progressPending != null) {
+                               if(persistenceType == PERSIST_FOREVER)
+                                       container.activate(progressPending, 5);
                                handler.queue(progressPending);
+                       }
                        if(finished)
                                trySendDataFoundOrGetFailed(handler, container);
                }
@@ -479,8 +486,11 @@
                        Logger.error(this, "No data pending !");
                }

-               if(includeData && (allDataPending != null))
+               if(includeData && (allDataPending != null)) {
+                       if(persistenceType == PERSIST_FOREVER)
+                               container.activate(allDataPending, 5);
                        handler.queue(allDataPending);
+               }
        }

        protected FCPMessage persistentTagMessage(ObjectContainer container) {


Reply via email to