*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
- public static class InsertToken implements ClientPutCallback {
+ public class InsertToken implements ClientPutCallback {
/** The image being inserted. */
private final Image image;
private ClientPutter clientPutter;
/** The final URI. */
- private FreenetURI resultingUri;
+ private volatile FreenetURI resultingUri;
/**
* Creates a new insert token for the given image.
*
* @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);
}
@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);
+ }
}
}