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);
}