Author: saces
Date: 2008-09-01 21:06:50 +0000 (Mon, 01 Sep 2008)
New Revision: 22321
Modified:
trunk/apps/WoT/src/plugins/WoT/IdentityInserter.java
Log:
change insert code, ensure temp bucket is freed.
Modified: trunk/apps/WoT/src/plugins/WoT/IdentityInserter.java
===================================================================
--- trunk/apps/WoT/src/plugins/WoT/IdentityInserter.java 2008-09-01
21:05:09 UTC (rev 22320)
+++ trunk/apps/WoT/src/plugins/WoT/IdentityInserter.java 2008-09-01
21:06:50 UTC (rev 22321)
@@ -37,7 +37,7 @@
* @author Julien Cornuwel (batosai at freenetproject.org)
*
*/
-public class IdentityInserter implements ClientCallback, Runnable {
+public class IdentityInserter implements Runnable {
WoT wot;
ObjectContainer db;
@@ -84,63 +84,30 @@
isRunning = false;
}
- public void insert(OwnIdentity identity) throws
TransformerConfigurationException, FileNotFoundException,
ParserConfigurationException, TransformerException, IOException,
InsertException, Db4oIOException, DatabaseClosedException,
InvalidParameterException {
+ public void insert(OwnIdentity identity) throws
TransformerConfigurationException, FileNotFoundException,
ParserConfigurationException, TransformerException, IOException,
Db4oIOException, DatabaseClosedException, InvalidParameterException,
InsertException {
Bucket tempB = tBF.makeBucket(1);
+ FreenetURI iURI;
+ try {
// Create XML file to insert
- identity.exportToXML(db, tempB.getOutputStream());
+ identity.exportToXML(db, tempB.getOutputStream());
- tempB.setReadOnly();
+ tempB.setReadOnly();
- // Prepare the insert
- ClientMetadata cmd = new ClientMetadata("text/xml");
- InsertBlock ib = new
InsertBlock(tempB,cmd,identity.getInsertURI());
- client.getInsertContext(false);
+ // Prepare the insert
+ ClientMetadata cmd = new ClientMetadata("text/xml");
+ InsertBlock ib = new
InsertBlock(tempB,cmd,identity.getInsertURI());
- // Insert
- client.insert(ib, false, "identity.xml", false,
client.getInsertContext(false), this);
-
- // Logging
- Logger.debug(this, "Started insert of identity '" +
identity.getNickName() + "'");
+ // Logging
+ Logger.debug(this, "Started insert of identity '" +
identity.getNickName() + "'");
- db.store(identity);
- }
-
- public void onFailure(FetchException e, ClientGetter state) {
-
- }
-
- public void onFailure(InsertException e, BaseClientPutter state) {
-
- }
-
- public void onFetchable(BaseClientPutter state) {
-
- }
-
- public void onGeneratedURI(FreenetURI uri, BaseClientPutter state) {
-
- }
-
- public void onMajorProgress() {
-
- }
-
- public void onSuccess(FetchResult result, ClientGetter state) {
-
- }
-
- public void onSuccess(BaseClientPutter state) {
-
- OwnIdentity identity;
- try {
- identity = OwnIdentity.getByURI(db, state.getURI());
- } catch (Exception e) {
- Logger.error(this, "Identity insert failed", e);
- return;
+ // Blocking Insert
+ iURI = client.insert(ib, false, "identity.xml");
+ } finally {
+ tempB.free();
}
- identity.setEdition(state.getURI().getSuggestedEdition());
+ identity.setEdition(iURI.getSuggestedEdition());
identity.setLastInsert(new Date());
db.store(identity);
@@ -149,5 +116,4 @@
// Logging
Logger.debug(this, "Successful insert of identity '" +
identity.getNickName() + "'");
}
-
}