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