diff --git a/jams-server/src/main/java/net/jami/jams/server/update/UpdateDownloader.java b/jams-server/src/main/java/net/jami/jams/server/update/UpdateDownloader.java index c4ae6ce6b95c2b2da033e92a0c41b883af0cd116..5021bff8a50701978e1bc259e3c868bc2b03e8bf 100644 --- a/jams-server/src/main/java/net/jami/jams/server/update/UpdateDownloader.java +++ b/jams-server/src/main/java/net/jami/jams/server/update/UpdateDownloader.java @@ -103,14 +103,27 @@ public class UpdateDownloader { // temp folder for safe download and integrity check File tmpFolder = new File(System.getProperty("user.dir") + "/tmp/"); - if(!tmpFolder.mkdirs()){ - log.error("Could not create temporary folder to store the update files!"); - return false; - } + if(!tmpFolder.exists()){ + try { + tmpFolder.mkdirs(); + } catch (Exception e) { + log.error("Error creating folder:" + e); + return false; + } + } files.forEach((k, v) -> { try { + File tmpFile = new File( System.getProperty("user.dir") + "/tmp/" + v.getFileName()); + if(tmpFile.exists()){ + + try{ + tmpFile.delete(); + } catch (Exception e) { + log.warn("Error deleting file: " + v.getFileName() + " with error " + e); + } + } HttpClient httpClient = HttpClients.custom().setSSLContext(sslContext).build(); HttpResponse httpResponse = httpClient.execute(new HttpGet(UPDATE_SERVER_URL + "/updates/" + v.getFileName())); if (httpResponse.getStatusLine().getStatusCode() != 200) return;