Author: toad
Date: 2008-06-16 17:29:27 +0000 (Mon, 16 Jun 2008)
New Revision: 20376

Modified:
   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:
ClientGet etc must be constructed in a transaction

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-16 
17:14:43 UTC (rev 20375)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-06-16 
17:29:27 UTC (rev 20376)
@@ -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, ObjectContainer container) throws IdentifierCollisionException, 
NotAllowedException {
                super(uri, identifier, verbosity, null, globalClient, prioClass,
                                (persistRebootOnly ? 
ClientRequest.PERSIST_REBOOT : ClientRequest.PERSIST_FOREVER),
                                null, true);
@@ -122,7 +122,7 @@
                returnBucket = ret;
                if(persistenceType != PERSIST_CONNECTION)
                        try {
-                               client.register(this, false);
+                               client.register(this, false, container);
                        } catch (IdentifierCollisionException e) {
                                ret.free();
                                throw e;
@@ -136,7 +136,7 @@
                        }
        }

-       public ClientGet(FCPConnectionHandler handler, ClientGetMessage 
message, FCPServer server) throws IdentifierCollisionException, 
MessageInvalidException {
+       public ClientGet(FCPConnectionHandler handler, ClientGetMessage 
message, FCPServer server, ObjectContainer container) throws 
IdentifierCollisionException, MessageInvalidException {
                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,
@@ -194,7 +194,7 @@
                returnBucket = ret;
                if(persistenceType != PERSIST_CONNECTION)
                        try {
-                               client.register(this, false);
+                               client.register(this, false, container);
                        } catch (IdentifierCollisionException e) {
                                ret.free();
                                throw e;

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-06-16 
17:14:43 UTC (rev 20375)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-06-16 
17:29:27 UTC (rev 20376)
@@ -101,7 +101,7 @@
        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, ObjectContainer 
container) throws IdentifierCollisionException, NotAllowedException, 
FileNotFoundException, MalformedURLException {
                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))
@@ -119,7 +119,7 @@
                String mimeType = contentType;
                this.clientToken = clientToken;
                if(persistenceType != PERSIST_CONNECTION)
-                       client.register(this, false);
+                       client.register(this, false, container);
                Bucket tempData = data;
                ClientMetadata cm = new ClientMetadata(mimeType);
                boolean isMetadata = false;
@@ -159,7 +159,7 @@
                }
        }

-       public ClientPut(FCPConnectionHandler handler, ClientPutMessage 
message, FCPServer server) throws IdentifierCollisionException, 
MessageInvalidException, MalformedURLException {
+       public ClientPut(FCPConnectionHandler handler, ClientPutMessage 
message, FCPServer server, ObjectContainer container) throws 
IdentifierCollisionException, MessageInvalidException, MalformedURLException {
                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);
@@ -201,7 +201,7 @@
                }
                clientToken = message.clientToken;
                if(persistenceType != PERSIST_CONNECTION)
-                       client.register(this, false);
+                       client.register(this, false, container);
                Bucket tempData = message.bucket;
                ClientMetadata cm = new ClientMetadata(mimeType);
                boolean isMetadata = false;

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-06-16 17:14:43 UTC (rev 20375)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-06-16 17:29:27 UTC (rev 20376)
@@ -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, ObjectContainer container) throws IdentifierCollisionException, 
MalformedURLException {
                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);
@@ -52,7 +52,7 @@
                this.defaultName = message.defaultName;
                makePutter();
                if(persistenceType != PERSIST_CONNECTION) {
-                       client.register(this, false);
+                       client.register(this, false, container);
                        FCPMessage msg = persistentTagMessage();
                        client.queueClientRequestMessage(msg, 0);
                        if(handler != null && (!handler.isGlobalSubscribed()))
@@ -71,7 +71,7 @@
        /**
        *       Puts a disk dir
        */
-       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, ObjectContainer container) throws 
FileNotFoundException, IdentifierCollisionException, MalformedURLException {
                super(uri, identifier, verbosity , null, client, priorityClass, 
persistenceType, clientToken, global, getCHKOnly, dontCompress, maxRetries, 
earlyEncode, server);

                wasDiskPut = true;
@@ -80,7 +80,7 @@
                this.defaultName = defaultName;
                makePutter();
                if(persistenceType != PERSIST_CONNECTION) {
-                       client.register(this, false);
+                       client.register(this, false, container);
                        FCPMessage msg = persistentTagMessage();
                        client.queueClientRequestMessage(msg, 0);
                }


Reply via email to