X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FFreenetInterface.java;h=c63231acd855ada4c88df2d760b6330b33e48baa;hb=cb6325fa54d93612c5aad307204d30600b27af81;hp=f7fa975337aabcea73ef49fa52bbb77e9cca3edb;hpb=4f73d25331c6917c3cadcfa7390e680072a20c40;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java index f7fa975..c63231a 100644 --- a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java +++ b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java @@ -1,5 +1,5 @@ /* - * FreenetSone - FreenetInterface.java - Copyright © 2010 David Roden + * Sone - FreenetInterface.java - Copyright © 2010 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,7 +26,6 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import net.pterodactylus.sone.core.SoneException.Type; import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.data.TemporaryImage; @@ -154,7 +153,7 @@ public class FreenetInterface { ClientPutter clientPutter = client.insert(insertBlock, false, null, false, insertContext, insertToken, RequestStarter.INTERACTIVE_PRIORITY_CLASS); insertToken.setClientPutter(clientPutter); } catch (InsertException ie1) { - throw new SoneException(Type.INSERT_FAILED, "Could not start image insert.", ie1); + throw new SoneInsertException("Could not start image insert.", ie1); } } @@ -175,7 +174,7 @@ public class FreenetInterface { try { return client.insertManifest(insertUri, manifestEntries, defaultFile); } catch (InsertException ie1) { - throw new SoneException(null, ie1); + throw new SoneException(ie1); } } @@ -330,7 +329,7 @@ public class FreenetInterface { * * @author David ‘Bombe’ Roden */ - public static class InsertToken implements ClientPutCallback { + public class InsertToken implements ClientPutCallback { /** The image being inserted. */ private final Image image; @@ -342,7 +341,7 @@ public class FreenetInterface { private ClientPutter clientPutter; /** The final URI. */ - private FreenetURI resultingUri; + private volatile FreenetURI resultingUri; /** * Creates a new insert token for the given image. @@ -406,8 +405,9 @@ public class FreenetInterface { * * @see ImageInsertListener#imageInsertAborted(Image) */ + @SuppressWarnings("synthetic-access") public void cancel() { - clientPutter.cancel(null, null); + clientPutter.cancel(null, node.clientCore.clientContext); for (ImageInsertListener imageInsertListener : imageInsertListeners) { imageInsertListener.imageInsertAborted(image); } @@ -431,7 +431,11 @@ public class FreenetInterface { @Override public void onFailure(InsertException insertException, BaseClientPutter clientPutter, ObjectContainer objectContainer) { for (ImageInsertListener imageInsertListener : imageInsertListeners) { - imageInsertListener.imageInsertFailed(image, insertException); + if ((insertException != null) && ("Cancelled by user".equals(insertException.getMessage()))) { + imageInsertListener.imageInsertAborted(image); + } else { + imageInsertListener.imageInsertFailed(image, insertException); + } } } @@ -447,6 +451,14 @@ public class FreenetInterface { * {@inheritDoc} */ @Override + public void onGeneratedMetadata(Bucket metadata, BaseClientPutter clientPutter, ObjectContainer objectContainer) { + /* ignore, we don’t care. */ + } + + /** + * {@inheritDoc} + */ + @Override public void onGeneratedURI(FreenetURI generatedUri, BaseClientPutter clientPutter, ObjectContainer objectContainer) { resultingUri = generatedUri; }