From c1191acd88c0f03ec587dc08e56342f3271b9163 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 24 May 2013 12:11:07 +0200 Subject: [PATCH] Fix for crash report if network down when upload starts Let the existing error handling detect the IOExceptions from the filename uniqueness check... this lets us fail gracefully. --- .../org/wikimedia/commons/UploadService.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/commons/src/main/java/org/wikimedia/commons/UploadService.java b/commons/src/main/java/org/wikimedia/commons/UploadService.java index 02c3f07fa..40794a24f 100644 --- a/commons/src/main/java/org/wikimedia/commons/UploadService.java +++ b/commons/src/main/java/org/wikimedia/commons/UploadService.java @@ -276,11 +276,11 @@ public class UploadService extends HandlerService { contribution.save(); } - private String findUniqueFilename(String fileName) { + private String findUniqueFilename(String fileName) throws IOException { return findUniqueFilename(fileName, 1); } - private String findUniqueFilename(String fileName, int sequenceNumber) { + private String findUniqueFilename(String fileName, int sequenceNumber) throws IOException { String sequenceFileName; if (sequenceNumber == 1) { sequenceFileName = fileName; @@ -304,18 +304,14 @@ public class UploadService extends HandlerService { } } - private boolean fileExistsWithName(String fileName) { + private boolean fileExistsWithName(String fileName) throws IOException { MWApi api = app.getApi(); ApiResult result; - try { - result = api.action("query") - .param("prop", "imageinfo") - .param("titles", "File:" + fileName) - .get(); - } catch (IOException e) { - throw new RuntimeException(e); - } + result = api.action("query") + .param("prop", "imageinfo") + .param("titles", "File:" + fileName) + .get(); ArrayList nodes = result.getNodes("/api/query/pages/page/imageinfo"); return nodes.size() > 0;