Author: toad
Date: 2008-06-25 13:59:47 +0000 (Wed, 25 Jun 2008)
New Revision: 20678

Modified:
   branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
Log:
Pass in ObjectContainer, use it to activate to prevent NPE

Modified: branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java    
2008-06-25 13:35:27 UTC (rev 20677)
+++ branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java    
2008-06-25 13:59:47 UTC (rev 20678)
@@ -452,7 +452,7 @@

        }

-       private HTMLNode handleGetInner(PageMaker pageMaker, ObjectContainer 
container, ClientContext context, final HTTPRequest request, ToadletContext 
ctx) {
+       private HTMLNode handleGetInner(PageMaker pageMaker, final 
ObjectContainer container, ClientContext context, final HTTPRequest request, 
ToadletContext ctx) {

                // First, get the queued requests, and separate them into 
different types.
                LinkedList completedDownloadToDisk = new LinkedList();
@@ -548,9 +548,9 @@
                                        if(sortBy.equals("id")){
                                                result = 
firstRequest.getIdentifier().compareToIgnoreCase(secondRequest.getIdentifier());
                                        }else if(sortBy.equals("size")){
-                                               result = 
(firstRequest.getTotalBlocks() - secondRequest.getTotalBlocks()) < 0 ? -1 : 1;
+                                               result = 
(firstRequest.getTotalBlocks(container) - 
secondRequest.getTotalBlocks(container)) < 0 ? -1 : 1;
                                        }else if(sortBy.equals("progress")){
-                                               result = 
firstRequest.getSuccessFraction() - secondRequest.getSuccessFraction() < 0 ? -1 
: 1;
+                                               result = 
firstRequest.getSuccessFraction(container) - 
secondRequest.getSuccessFraction(container) < 0 ? -1 : 1;
                                        }else
                                                isSet=false;
                                }else
@@ -679,9 +679,9 @@
                        HTMLNode completedDownloadsTempInfobox = 
contentNode.addChild(pageMaker.getInfobox("completed_requests", 
L10n.getString("QueueToadlet.completedDinTempDirectory", new String[]{ "size" 
}, new String[]{ String.valueOf(completedDownloadToTemp.size()) })));
                        HTMLNode completedDownloadsToTempContent = 
pageMaker.getContentNode(completedDownloadsTempInfobox);
                        if (advancedModeEnabled) {
-                               
completedDownloadsToTempContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToTemp, new int[] { LIST_IDENTIFIER, LIST_SIZE, 
LIST_MIME_TYPE, LIST_DOWNLOAD, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false));
+                               
completedDownloadsToTempContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToTemp, new int[] { LIST_IDENTIFIER, LIST_SIZE, 
LIST_MIME_TYPE, LIST_DOWNLOAD, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false, container));
                        } else {
-                               
completedDownloadsToTempContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToTemp, new int[] { LIST_SIZE, LIST_MIME_TYPE, LIST_DOWNLOAD, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, false));
+                               
completedDownloadsToTempContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToTemp, new int[] { LIST_SIZE, LIST_MIME_TYPE, LIST_DOWNLOAD, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, false, 
container));
                        }
                }

@@ -690,9 +690,9 @@
                        HTMLNode completedToDiskInfobox = 
contentNode.addChild(pageMaker.getInfobox("completed_requests", 
L10n.getString("QueueToadlet.completedDinDownloadDirectory", new String[]{ 
"size" }, new String[]{ String.valueOf(completedDownloadToDisk.size()) })));
                        HTMLNode completedToDiskInfoboxContent = 
pageMaker.getContentNode(completedToDiskInfobox);
                        if (advancedModeEnabled) {
-                               
completedToDiskInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToDisk, new int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, 
LIST_MIME_TYPE, LIST_DOWNLOAD, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false));
+                               
completedToDiskInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToDisk, new int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, 
LIST_MIME_TYPE, LIST_DOWNLOAD, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false, container));
                        } else {
-                               
completedToDiskInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToDisk, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_DOWNLOAD, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false));
+                               
completedToDiskInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedDownloadToDisk, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_DOWNLOAD, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false, container));
                        }
                }

@@ -701,9 +701,9 @@
                        HTMLNode completedUploadInfobox = 
contentNode.addChild(pageMaker.getInfobox("completed_requests", 
L10n.getString("QueueToadlet.completedU", new String[]{ "size" }, new String[]{ 
String.valueOf(completedUpload.size()) })));
                        HTMLNode completedUploadInfoboxContent = 
pageMaker.getContentNode(completedUploadInfobox);
                        if (advancedModeEnabled) {
-                               
completedUploadInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedUpload, new int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, 
LIST_MIME_TYPE, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true));
+                               
completedUploadInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedUpload, new int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, 
LIST_MIME_TYPE, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true, container));
                        } else  {
-                               
completedUploadInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedUpload, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true));
+                               
completedUploadInfoboxContent.addChild(createRequestTable(pageMaker, ctx, 
completedUpload, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true, 
container));
                        }
                }

@@ -712,9 +712,9 @@
                        HTMLNode completedUploadDirInfobox = 
contentNode.addChild(pageMaker.getInfobox("completed_requests", 
L10n.getString("QueueToadlet.completedUDirectory", new String[]{ "size" }, new 
String[]{ String.valueOf(completedDirUpload.size()) })));
                        HTMLNode completedUploadDirContent = 
pageMaker.getContentNode(completedUploadDirInfobox);
                        if (advancedModeEnabled) {
-                               
completedUploadDirContent.addChild(createRequestTable(pageMaker, ctx, 
completedDirUpload, new int[] { LIST_IDENTIFIER, LIST_FILES, LIST_TOTAL_SIZE, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true));
+                               
completedUploadDirContent.addChild(createRequestTable(pageMaker, ctx, 
completedDirUpload, new int[] { LIST_IDENTIFIER, LIST_FILES, LIST_TOTAL_SIZE, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true, 
container));
                        } else {
-                               
completedUploadDirContent.addChild(createRequestTable(pageMaker, ctx, 
completedDirUpload, new int[] { LIST_FILES, LIST_TOTAL_SIZE, LIST_PERSISTENCE, 
LIST_KEY }, priorityClasses, advancedModeEnabled, true));
+                               
completedUploadDirContent.addChild(createRequestTable(pageMaker, ctx, 
completedDirUpload, new int[] { LIST_FILES, LIST_TOTAL_SIZE, LIST_PERSISTENCE, 
LIST_KEY }, priorityClasses, advancedModeEnabled, true, container));
                        }
                }

@@ -723,9 +723,9 @@
                        HTMLNode failedInfobox = 
contentNode.addChild(pageMaker.getInfobox("failed_requests", 
L10n.getString("QueueToadlet.failedD", new String[]{ "size" }, new String[]{ 
String.valueOf(failedDownload.size()) })));
                        HTMLNode failedContent = 
pageMaker.getContentNode(failedInfobox);
                        if (advancedModeEnabled) {
-                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDownload, new 
int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_REASON, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false));
+                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDownload, new 
int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_REASON, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, false, container));
                        } else {
-                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDownload, new 
int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, LIST_PROGRESS, LIST_REASON, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, false));
+                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDownload, new 
int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, LIST_PROGRESS, LIST_REASON, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, false, 
container));
                        }
                }

@@ -734,9 +734,9 @@
                        HTMLNode failedInfobox = 
contentNode.addChild(pageMaker.getInfobox("failed_requests", 
L10n.getString("QueueToadlet.failedU", new String[]{ "size" }, new String[]{ 
String.valueOf(failedUpload.size()) })));
                        HTMLNode failedContent = 
pageMaker.getContentNode(failedInfobox);
                        if (advancedModeEnabled) {
-                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedUpload, new 
int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_REASON, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true));
+                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedUpload, new 
int[] { LIST_IDENTIFIER, LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_REASON, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true, container));
                        } else {
-                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedUpload, new 
int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, LIST_PROGRESS, LIST_REASON, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true));
+                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedUpload, new 
int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, LIST_PROGRESS, LIST_REASON, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true, 
container));
                        }
                }

@@ -745,9 +745,9 @@
                        HTMLNode failedInfobox = 
contentNode.addChild(pageMaker.getInfobox("failed_requests", 
L10n.getString("QueueToadlet.failedU", new String[]{ "size" }, new String[]{ 
String.valueOf(failedDirUpload.size()) })));
                        HTMLNode failedContent = 
pageMaker.getContentNode(failedInfobox);
                        if (advancedModeEnabled) {
-                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDirUpload, new 
int[] { LIST_IDENTIFIER, LIST_FILES, LIST_TOTAL_SIZE, LIST_PROGRESS, 
LIST_REASON, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true));
+                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDirUpload, new 
int[] { LIST_IDENTIFIER, LIST_FILES, LIST_TOTAL_SIZE, LIST_PROGRESS, 
LIST_REASON, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true, container));
                        } else {
-                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDirUpload, new 
int[] { LIST_FILES, LIST_TOTAL_SIZE, LIST_PROGRESS, LIST_REASON, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true));
+                               
failedContent.addChild(createRequestTable(pageMaker, ctx, failedDirUpload, new 
int[] { LIST_FILES, LIST_TOTAL_SIZE, LIST_PROGRESS, LIST_REASON, 
LIST_PERSISTENCE, LIST_KEY }, priorityClasses, advancedModeEnabled, true, 
container));
                        }
                }

@@ -756,9 +756,9 @@
                        HTMLNode uncompletedInfobox = 
contentNode.addChild(pageMaker.getInfobox("requests_in_progress", 
L10n.getString("QueueToadlet.wipD", new String[]{ "size" }, new String[]{ 
String.valueOf(uncompletedDownload.size()) })));
                        HTMLNode uncompletedContent = 
pageMaker.getContentNode(uncompletedInfobox);
                        if (advancedModeEnabled) {
-                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDownload, new int[] { LIST_IDENTIFIER, LIST_PRIORITY, LIST_SIZE, 
LIST_MIME_TYPE, LIST_PROGRESS, LIST_PERSISTENCE, LIST_FILENAME, LIST_KEY }, 
priorityClasses, advancedModeEnabled, false));
+                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDownload, new int[] { LIST_IDENTIFIER, LIST_PRIORITY, LIST_SIZE, 
LIST_MIME_TYPE, LIST_PROGRESS, LIST_PERSISTENCE, LIST_FILENAME, LIST_KEY }, 
priorityClasses, advancedModeEnabled, false, container));
                        } else {
-                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDownload, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_PRIORITY, LIST_KEY, LIST_PERSISTENCE }, priorityClasses, 
advancedModeEnabled, false));
+                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDownload, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_PRIORITY, LIST_KEY, LIST_PERSISTENCE }, priorityClasses, 
advancedModeEnabled, false, container));
                        }
                }

@@ -767,9 +767,9 @@
                        HTMLNode uncompletedInfobox = 
contentNode.addChild(pageMaker.getInfobox("requests_in_progress", 
L10n.getString("QueueToadlet.wipU", new String[]{ "size" }, new String[]{ 
String.valueOf(uncompletedUpload.size()) })));
                        HTMLNode uncompletedContent = 
pageMaker.getContentNode(uncompletedInfobox);
                        if (advancedModeEnabled) {
-                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedUpload, new int[] { LIST_IDENTIFIER, LIST_PRIORITY, LIST_SIZE, 
LIST_MIME_TYPE, LIST_PROGRESS, LIST_PERSISTENCE, LIST_FILENAME, LIST_KEY }, 
priorityClasses, advancedModeEnabled, true));
+                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedUpload, new int[] { LIST_IDENTIFIER, LIST_PRIORITY, LIST_SIZE, 
LIST_MIME_TYPE, LIST_PROGRESS, LIST_PERSISTENCE, LIST_FILENAME, LIST_KEY }, 
priorityClasses, advancedModeEnabled, true, container));
                        } else {
-                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedUpload, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_PRIORITY, LIST_KEY, LIST_PRIORITY, LIST_PERSISTENCE }, 
priorityClasses, advancedModeEnabled, true));
+                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedUpload, new int[] { LIST_FILENAME, LIST_SIZE, LIST_MIME_TYPE, 
LIST_PROGRESS, LIST_PRIORITY, LIST_KEY, LIST_PRIORITY, LIST_PERSISTENCE }, 
priorityClasses, advancedModeEnabled, true, container));
                        }
                }

@@ -778,9 +778,9 @@
                        HTMLNode uncompletedInfobox = 
contentNode.addChild(pageMaker.getInfobox("requests_in_progress", 
L10n.getString("QueueToadlet.wipDU", new String[]{ "size" }, new String[]{ 
String.valueOf(uncompletedDirUpload.size()) })));
                        HTMLNode uncompletedContent = 
pageMaker.getContentNode(uncompletedInfobox);
                        if (advancedModeEnabled) {
-                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDirUpload, new int[] { LIST_IDENTIFIER, LIST_FILES, LIST_PRIORITY, 
LIST_TOTAL_SIZE, LIST_PROGRESS, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true));
+                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDirUpload, new int[] { LIST_IDENTIFIER, LIST_FILES, LIST_PRIORITY, 
LIST_TOTAL_SIZE, LIST_PROGRESS, LIST_PERSISTENCE, LIST_KEY }, priorityClasses, 
advancedModeEnabled, true, container));
                        } else {
-                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDirUpload, new int[] { LIST_FILES, LIST_TOTAL_SIZE, LIST_PROGRESS, 
LIST_PRIORITY, LIST_KEY, LIST_PERSISTENCE }, priorityClasses, 
advancedModeEnabled, true));
+                               
uncompletedContent.addChild(createRequestTable(pageMaker, ctx, 
uncompletedDirUpload, new int[] { LIST_FILES, LIST_TOTAL_SIZE, LIST_PROGRESS, 
LIST_PRIORITY, LIST_KEY, LIST_PERSISTENCE }, priorityClasses, 
advancedModeEnabled, true, container));
                        }
                }

@@ -991,7 +991,7 @@
                return insertBox;
        }

-       private HTMLNode createRequestTable(PageMaker pageMaker, ToadletContext 
ctx, List requests, int[] columns, String[] priorityClasses, boolean 
advancedModeEnabled, boolean isUpload) {
+       private HTMLNode createRequestTable(PageMaker pageMaker, ToadletContext 
ctx, List requests, int[] columns, String[] priorityClasses, boolean 
advancedModeEnabled, boolean isUpload, ObjectContainer container) {
                HTMLNode table = new HTMLNode("table", "class", "requests");
                HTMLNode headerRow = table.addChild("tr", "class", 
"table-header");
                headerRow.addChild("th");
@@ -1076,7 +1076,7 @@
                                } else if (column == LIST_TOTAL_SIZE) {
                                        
requestRow.addChild(createSizeCell(((ClientPutDir) 
clientRequest).getTotalDataSize(), true, advancedModeEnabled));
                                } else if (column == LIST_PROGRESS) {
-                                       
requestRow.addChild(createProgressCell(clientRequest.isStarted(), (int) 
clientRequest.getFetchedBlocks(), (int) clientRequest.getFailedBlocks(), (int) 
clientRequest.getFatalyFailedBlocks(), (int) clientRequest.getMinBlocks(), 
(int) clientRequest.getTotalBlocks(), clientRequest.isTotalFinalized() || 
clientRequest instanceof ClientPut, isUpload));
+                                       
requestRow.addChild(createProgressCell(clientRequest.isStarted(), (int) 
clientRequest.getFetchedBlocks(container), (int) 
clientRequest.getFailedBlocks(container), (int) 
clientRequest.getFatalyFailedBlocks(container), (int) 
clientRequest.getMinBlocks(container), (int) 
clientRequest.getTotalBlocks(container), clientRequest.isTotalFinalized() || 
clientRequest instanceof ClientPut, isUpload));
                                } else if (column == LIST_REASON) {
                                        
requestRow.addChild(createReasonCell(clientRequest.getFailureReason()));
                                }

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-25 
13:35:27 UTC (rev 20677)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-25 
13:59:47 UTC (rev 20678)
@@ -676,42 +676,54 @@
                return targetFile;
        }

-       public double getSuccessFraction() {
+       public double getSuccessFraction(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
+                       container.activate(progressPending, 2);
                if(progressPending != null) {
                        return progressPending.getFraction();
                } else
                        return -1;
        }

-       public double getTotalBlocks() {
+       public double getTotalBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
+                       container.activate(progressPending, 2);
                if(progressPending != null) {
                        return progressPending.getTotalBlocks();
                } else
                        return 1;
        }

-       public double getMinBlocks() {
+       public double getMinBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
+                       container.activate(progressPending, 2);
                if(progressPending != null) {
                        return progressPending.getMinBlocks();
                } else
                        return 1;
        }

-       public double getFailedBlocks() {
+       public double getFailedBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
+                       container.activate(progressPending, 2);
                if(progressPending != null) {
                        return progressPending.getFailedBlocks();
                } else
                        return 0;
        }

-       public double getFatalyFailedBlocks() {
+       public double getFatalyFailedBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
+                       container.activate(progressPending, 2);
                if(progressPending != null) {
                        return progressPending.getFatalyFailedBlocks();
                } else
                        return 0;
        }

-       public double getFetchedBlocks() {
+       public double getFetchedBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
+                       container.activate(progressPending, 2);
                if(progressPending != null) {
                        return progressPending.getFetchedBlocks();
                } else

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2008-06-25 13:35:27 UTC (rev 20677)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2008-06-25 13:59:47 UTC (rev 20678)
@@ -379,7 +379,9 @@

        protected abstract String getTypeName();

-       public synchronized double getSuccessFraction() {
+       public synchronized double getSuccessFraction(ObjectContainer 
container) {
+               if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
+                       container.activate(progressMessage, 2);
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
                                return 
((SimpleProgressMessage)progressMessage).getFraction();
@@ -389,7 +391,9 @@
        }


-       public synchronized double getTotalBlocks() {
+       public synchronized double getTotalBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
+                       container.activate(progressMessage, 2);
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
                                return 
((SimpleProgressMessage)progressMessage).getTotalBlocks();
@@ -398,7 +402,9 @@
                        return -1;
        }

-       public synchronized double getMinBlocks() {
+       public synchronized double getMinBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
+                       container.activate(progressMessage, 2);
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
                                return 
((SimpleProgressMessage)progressMessage).getMinBlocks();
@@ -407,7 +413,9 @@
                        return -1;
        }

-       public synchronized double getFailedBlocks() {
+       public synchronized double getFailedBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
+                       container.activate(progressMessage, 2);
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
                                return 
((SimpleProgressMessage)progressMessage).getFailedBlocks();
@@ -416,7 +424,9 @@
                        return -1;
        }

-       public synchronized double getFatalyFailedBlocks() {
+       public synchronized double getFatalyFailedBlocks(ObjectContainer 
container) {
+               if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
+                       container.activate(progressMessage, 2);
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
                                return 
((SimpleProgressMessage)progressMessage).getFatalyFailedBlocks();
@@ -425,7 +435,9 @@
                        return -1;
        }

-       public synchronized double getFetchedBlocks() {
+       public synchronized double getFetchedBlocks(ObjectContainer container) {
+               if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
+                       container.activate(progressMessage, 2);
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
                                return 
((SimpleProgressMessage)progressMessage).getFetchedBlocks();

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java       
2008-06-25 13:35:27 UTC (rev 20677)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java       
2008-06-25 13:59:47 UTC (rev 20678)
@@ -279,13 +279,13 @@
         */
        public abstract SimpleFieldSet getFieldSet() throws IOException;

-       public abstract double getSuccessFraction();
+       public abstract double getSuccessFraction(ObjectContainer container);

-       public abstract double getTotalBlocks();
-       public abstract double getMinBlocks();
-       public abstract double getFetchedBlocks();
-       public abstract double getFailedBlocks();
-       public abstract double getFatalyFailedBlocks();
+       public abstract double getTotalBlocks(ObjectContainer container);
+       public abstract double getMinBlocks(ObjectContainer container);
+       public abstract double getFetchedBlocks(ObjectContainer container);
+       public abstract double getFailedBlocks(ObjectContainer container);
+       public abstract double getFatalyFailedBlocks(ObjectContainer container);

        public abstract String getFailureReason();



Reply via email to