Author: toad
Date: 2008-06-16 22:30:07 +0000 (Mon, 16 Jun 2008)
New Revision: 20389

Modified:
   branches/db4o/freenet/src/freenet/node/NodeARKInserter.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
Log:
Mostly the result of the ClientCallback changes - add the parameter where 
needed.
Also some simple compile fixes etc.

Modified: branches/db4o/freenet/src/freenet/node/NodeARKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeARKInserter.java 2008-06-16 
22:21:35 UTC (rev 20388)
+++ branches/db4o/freenet/src/freenet/node/NodeARKInserter.java 2008-06-16 
22:30:07 UTC (rev 20389)
@@ -6,6 +6,8 @@
 import java.io.UnsupportedEncodingException;
 import java.net.UnknownHostException;

+import com.db4o.ObjectContainer;
+
 import freenet.client.ClientMetadata;
 import freenet.client.FetchException;
 import freenet.client.FetchResult;
@@ -183,19 +185,19 @@
                                }
                        }
                } catch (InsertException e) {
-                       onFailure(e, inserter); 
+                       onFailure(e, inserter, null);   
                }
        }

-       public void onSuccess(FetchResult result, ClientGetter state) {
+       public void onSuccess(FetchResult result, ClientGetter state, 
ObjectContainer container) {
                // Impossible
        }

-       public void onFailure(FetchException e, ClientGetter state) {
+       public void onFailure(FetchException e, ClientGetter state, 
ObjectContainer container) {
                // Impossible
        }

-       public void onSuccess(BaseClientPutter state) {
+       public void onSuccess(BaseClientPutter state, ObjectContainer 
container) {
                FreenetURI uri = state.getURI();
                if(logMINOR) Logger.minor(this, darknetOpennetString + " ARK 
insert succeeded: " + uri);
                synchronized (this) {
@@ -206,7 +208,7 @@
                startInserter();
        }

-       public void onFailure(InsertException e, BaseClientPutter state) {
+       public void onFailure(InsertException e, BaseClientPutter state, 
ObjectContainer container) {
                if(logMINOR) Logger.minor(this, darknetOpennetString + " ARK 
insert failed: "+e);
                synchronized(this) {
                        lastInsertedPeers = null;

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-16 
22:21:35 UTC (rev 20388)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-16 
22:30:07 UTC (rev 20389)
@@ -77,7 +77,7 @@
        public ClientGet(FCPClient globalClient, FreenetURI uri, boolean 
dsOnly, boolean ignoreDS,
                        int maxSplitfileRetries, int maxNonSplitfileRetries, 
long maxOutputLength,
                        short returnType, boolean persistRebootOnly, String 
identifier, int verbosity, short prioClass,
-                       File returnFilename, File returnTempFilename, FCPServer 
server) throws IdentifierCollisionException, NotAllowedException {
+                       File returnFilename, File returnTempFilename, FCPServer 
server) throws IdentifierCollisionException, NotAllowedException, 
FetchException {
                super(uri, identifier, verbosity, null, globalClient, prioClass,
                                (persistRebootOnly ? 
ClientRequest.PERSIST_REBOOT : ClientRequest.PERSIST_FOREVER),
                                null, true);
@@ -113,10 +113,9 @@
                                        ret = fctx.bucketFactory.makeBucket(-1);
                        } catch (IOException e) {
                                Logger.error(this, "Cannot create bucket for 
temp storage: "+e, e);
-                               onFailure(new 
FetchException(FetchException.BUCKET_ERROR, e), null);
                                getter = null;
                                returnBucket = null;
-                               return;
+                               throw new 
FetchException(FetchException.BUCKET_ERROR, e);
                        }
                }
                returnBucket = ret;
@@ -125,7 +124,7 @@
                                        returnBucket, null);
        }

-       public ClientGet(FCPConnectionHandler handler, ClientGetMessage 
message, FCPServer server) throws IdentifierCollisionException, 
MessageInvalidException {
+       public ClientGet(FCPConnectionHandler handler, ClientGetMessage 
message, FCPServer server) throws IdentifierCollisionException, 
MessageInvalidException, FetchException {
                super(message.uri, message.identifier, message.verbosity, 
handler, message.priorityClass,
                                message.persistenceType, message.clientToken, 
message.global);
                // Create a Fetcher directly in order to get more fine-grained 
control,
@@ -172,10 +171,9 @@
                                        ret = fctx.bucketFactory.makeBucket(-1);
                        } catch (IOException e) {
                                Logger.error(this, "Cannot create bucket for 
temp storage: "+e, e);
-                               onFailure(new 
FetchException(FetchException.BUCKET_ERROR, e), null);
                                getter = null;
                                returnBucket = null;
-                               return;
+                               throw new 
FetchException(FetchException.BUCKET_ERROR, e);
                        }
                }
                if(ret == null)
@@ -192,8 +190,9 @@
         * Can throw, and does minimal verification, as is dealing with data
         * supposedly serialized out by the node.
         * @throws IOException
+        * @throws FetchException 
         */
-       public ClientGet(SimpleFieldSet fs, FCPClient client2, FCPServer 
server) throws IOException {
+       public ClientGet(SimpleFieldSet fs, FCPClient client2, FCPServer 
server) throws IOException, FetchException {
                super(fs, client2);

                returnType = 
ClientGetMessage.parseValidReturnType(fs.get("ReturnType"));
@@ -253,10 +252,9 @@
                                                ret = 
fctx.bucketFactory.makeBucket(-1);
                                } catch (IOException e1) {
                                        Logger.error(this, "Cannot create 
bucket for temp storage: "+e, e);
-                                       onFailure(new 
FetchException(FetchException.BUCKET_ERROR, e), null);
                                        getter = null;
                                        returnBucket = null;
-                                       return;
+                                       throw new 
FetchException(FetchException.BUCKET_ERROR, e);
                                }
                        }
                } else {
@@ -326,12 +324,12 @@
                        synchronized(this) {
                                started = true;
                        } // before the failure handler
-                       onFailure(e, null);
+                       onFailure(e, null, container);
                } catch (Throwable t) {
                        synchronized(this) {
                                started = true;
                        }
-                       onFailure(new 
FetchException(FetchException.INTERNAL_ERROR, t), null);
+                       onFailure(new 
FetchException(FetchException.INTERNAL_ERROR, t), null, container);
                }
        }

@@ -362,7 +360,7 @@
                        if(failed) {
                                Logger.error(this, "returnBucket = 
"+returnBucket+" but onSuccess() data = "+data, new Exception("debug"));
                                // Caller guarantees that data == returnBucket
-                               onFailure(new 
FetchException(FetchException.INTERNAL_ERROR, "Data != returnBucket"), null);
+                               onFailure(new 
FetchException(FetchException.INTERNAL_ERROR, "Data != returnBucket"), null, 
container);
                                return;
                        }
                }
@@ -497,11 +495,11 @@
                client.notifyFailure(this);
        }

-       public void onSuccess(BaseClientPutter state) {
+       public void onSuccess(BaseClientPutter state, ObjectContainer 
container) {
                // Ignore
        }

-       public void onFailure(InsertException e, BaseClientPutter state) {
+       public void onFailure(InsertException e, BaseClientPutter state, 
ObjectContainer container) {
                // Ignore
        }


Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-06-16 
22:21:35 UTC (rev 20388)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-06-16 
22:30:07 UTC (rev 20389)
@@ -97,11 +97,12 @@
         * @throws NotAllowedException 
         * @throws FileNotFoundException 
         * @throws MalformedURLException 
+        * @throws InsertException 
         */
        public ClientPut(FCPClient globalClient, FreenetURI uri, String 
identifier, int verbosity, 
                        short priorityClass, short persistenceType, String 
clientToken, boolean getCHKOnly,
                        boolean dontCompress, int maxRetries, short 
uploadFromType, File origFilename, String contentType,
-                       Bucket data, FreenetURI redirectTarget, String 
targetFilename, boolean earlyEncode, FCPServer server) throws 
IdentifierCollisionException, NotAllowedException, FileNotFoundException, 
MalformedURLException {
+                       Bucket data, FreenetURI redirectTarget, String 
targetFilename, boolean earlyEncode, FCPServer server) throws 
IdentifierCollisionException, NotAllowedException, FileNotFoundException, 
MalformedURLException, InsertException {
                super(uri, identifier, verbosity, null, globalClient, 
priorityClass, persistenceType, null, true, getCHKOnly, dontCompress, 
maxRetries, earlyEncode, server);
                if(uploadFromType == ClientPutMessage.UPLOAD_FROM_DISK) {
                        if(!server.core.allowUploadFrom(origFilename))
@@ -132,11 +133,10 @@
                        } catch (MetadataUnresolvedException e) {
                                // Impossible
                                Logger.error(this, "Impossible: "+e, e);
-                               onFailure(new 
InsertException(InsertException.INTERNAL_ERROR, "Impossible: "+e+" in 
ClientPut", null), null);
                                this.data = null;
                                clientMetadata = cm;
                                putter = null;
-                               return;
+                               throw new 
InsertException(InsertException.INTERNAL_ERROR, "Impossible: "+e+" in 
ClientPut", null);
                        }
                        tempData = new SimpleReadOnlyArrayBucket(d);
                        isMetadata = true;
@@ -153,7 +153,7 @@
                                null, targetFilename, binaryBlob);
        }

-       public ClientPut(FCPConnectionHandler handler, ClientPutMessage 
message, FCPServer server) throws IdentifierCollisionException, 
MessageInvalidException, MalformedURLException {
+       public ClientPut(FCPConnectionHandler handler, ClientPutMessage 
message, FCPServer server) throws IdentifierCollisionException, 
MessageInvalidException, MalformedURLException, InsertException {
                super(message.uri, message.identifier, message.verbosity, 
handler, 
                                message.priorityClass, message.persistenceType, 
message.clientToken, message.global,
                                message.getCHKOnly, message.dontCompress, 
message.maxRetries, message.earlyEncode, server);
@@ -207,11 +207,10 @@
                        } catch (MetadataUnresolvedException e) {
                                // Impossible
                                Logger.error(this, "Impossible: "+e, e);
-                               onFailure(new 
InsertException(InsertException.INTERNAL_ERROR, "Impossible: "+e+" in 
ClientPut", null), null);
                                this.data = null;
                                clientMetadata = cm;
                                putter = null;
-                               return;
+                               throw new 
InsertException(InsertException.INTERNAL_ERROR, "Impossible: "+e+" in 
ClientPut", null);
                        }
                        tempData = new SimpleReadOnlyArrayBucket(d);
                        isMetadata = true;
@@ -265,8 +264,9 @@
         * by the node.
         * @throws PersistenceParseException 
         * @throws IOException 
+        * @throws InsertException 
         */
-       public ClientPut(SimpleFieldSet fs, FCPClient client2, FCPServer 
server) throws PersistenceParseException, IOException {
+       public ClientPut(SimpleFieldSet fs, FCPClient client2, FCPServer 
server) throws PersistenceParseException, IOException, InsertException {
                super(fs, client2, server);
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                String mimeType = fs.get("Metadata.ContentType");
@@ -324,12 +324,11 @@
                        } catch (MetadataUnresolvedException e) {
                                // Impossible
                                Logger.error(this, "Impossible: "+e, e);
-                               onFailure(new 
InsertException(InsertException.INTERNAL_ERROR, "Impossible: "+e+" in 
ClientPut", null), null);
                                this.data = null;
                                clientMetadata = cm;
                                origFilename = null;
                                putter = null;
-                               return;
+                               throw new 
InsertException(InsertException.INTERNAL_ERROR, "Impossible: "+e+" in 
ClientPut", null);
                        }
                        data = new SimpleReadOnlyArrayBucket(d);
                        origFilename = null;
@@ -382,12 +381,12 @@
                        synchronized(this) {
                                started = true;
                        }
-                       onFailure(e, null);
+                       onFailure(e, null, container);
                } catch (Throwable t) {
                        synchronized(this) {
                                started = true;
                        }
-                       onFailure(new 
InsertException(InsertException.INTERNAL_ERROR, t, null), null);
+                       onFailure(new 
InsertException(InsertException.INTERNAL_ERROR, t, null), null, container);
                }
        }

@@ -497,7 +496,7 @@
                }
        }

-       public void onFailure(FetchException e, ClientGetter state) {}
+       public void onFailure(FetchException e, ClientGetter state, 
ObjectContainer container) {}

-       public void onSuccess(FetchResult result, ClientGetter state) {}
+       public void onSuccess(FetchResult result, ClientGetter state, 
ObjectContainer container) {}
 }

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-06-16 22:21:35 UTC (rev 20388)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-06-16 22:30:07 UTC (rev 20389)
@@ -42,7 +42,7 @@
        private final boolean wasDiskPut;

        public ClientPutDir(FCPConnectionHandler handler, ClientPutDirMessage 
message, 
-                       HashMap manifestElements, boolean wasDiskPut, FCPServer 
server) throws IdentifierCollisionException, MalformedURLException {
+                       HashMap manifestElements, boolean wasDiskPut, FCPServer 
server) throws IdentifierCollisionException, MalformedURLException, 
InsertException {
                super(message.uri, message.identifier, message.verbosity, 
handler,
                                message.priorityClass, message.persistenceType, 
message.clientToken, message.global,
                                message.getCHKOnly, message.dontCompress, 
message.maxRetries, message.earlyEncode, server);
@@ -63,8 +63,9 @@

        /**
        *       Puts a disk dir
+        * @throws InsertException 
        */
-       public ClientPutDir(FCPClient client, FreenetURI uri, String 
identifier, int verbosity, short priorityClass, short persistenceType, String 
clientToken, boolean getCHKOnly, boolean dontCompress, int maxRetries, File 
dir, String defaultName, boolean allowUnreadableFiles, boolean global, boolean 
earlyEncode, FCPServer server) throws FileNotFoundException, 
IdentifierCollisionException, MalformedURLException {
+       public ClientPutDir(FCPClient client, FreenetURI uri, String 
identifier, int verbosity, short priorityClass, short persistenceType, String 
clientToken, boolean getCHKOnly, boolean dontCompress, int maxRetries, File 
dir, String defaultName, boolean allowUnreadableFiles, boolean global, boolean 
earlyEncode, FCPServer server) throws FileNotFoundException, 
IdentifierCollisionException, MalformedURLException, InsertException {
                super(uri, identifier, verbosity , null, client, priorityClass, 
persistenceType, clientToken, global, getCHKOnly, dontCompress, maxRetries, 
earlyEncode, server);

                wasDiskPut = true;
@@ -126,23 +127,18 @@
                return map;
        }

-       private void makePutter(FCPServer server) {
+       private void makePutter(FCPServer server) throws InsertException {
                SimpleManifestPutter p;
-               try {
                        p = new SimpleManifestPutter(this, 
server.core.requestStarters.chkPutScheduler, 
server.core.requestStarters.sskPutScheduler,
                                        manifestElements, priorityClass, uri, 
defaultName, ctx, getCHKOnly,
                                        client.lowLevelClient,
                                        earlyEncode);
-               } catch (InsertException e) {
-                       onFailure(e, null);
-                       p = null;
-               }
                putter = p;
        }



-       public ClientPutDir(SimpleFieldSet fs, FCPClient client, FCPServer 
server) throws PersistenceParseException, IOException {
+       public ClientPutDir(SimpleFieldSet fs, FCPClient client, FCPServer 
server) throws PersistenceParseException, IOException, InsertException {
                super(fs, client, server);
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                SimpleFieldSet files = fs.subset("Files");
@@ -215,8 +211,8 @@
                                                client.lowLevelClient,
                                                earlyEncode);
                } catch (InsertException e) {
-                       onFailure(e, null);
                        p = null;
+                       throw e;
                }
                putter = p;
                numberOfFiles = fileCount;
@@ -243,7 +239,7 @@
                                container.set(this); // Update
                } catch (InsertException e) {
                        started = true;
-                       onFailure(e, null);
+                       onFailure(e, null, container);
                }
        }

@@ -370,7 +366,7 @@
                return true;
        }

-       public void onFailure(FetchException e, ClientGetter state) {}
+       public void onFailure(FetchException e, ClientGetter state, 
ObjectContainer container) {}

-       public void onSuccess(FetchResult result, ClientGetter state) {}
+       public void onSuccess(FetchResult result, ClientGetter state, 
ObjectContainer container) {}
 }


Reply via email to