From b903bfc0cb233dabaf63483c5eca693ca98b8a3d Mon Sep 17 00:00:00 2001 From: ZEROM22 Date: Tue, 7 Nov 2023 11:02:41 +0300 Subject: [PATCH] java: fix opening history without changes --- .../main/java/controllers/IndexServlet.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java b/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java index 970db304..ef4b4a24 100755 --- a/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java +++ b/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java @@ -968,9 +968,10 @@ public class IndexServlet extends HttpServlet { dataObj.put("version", i); if (i > 1) { //check if the version number is greater than 1 + Integer verdiff = i - 1; // get the history data from the previous file version - Map prev = (Map) histData.get(Integer.toString(i - 1)); + Map prev = (Map) histData.get(Integer.toString(verdiff)); Map prevInfo = new HashMap(); prevInfo.put("fileType", prev.get("fileType")); @@ -983,12 +984,16 @@ public class IndexServlet extends HttpServlet { // write information about previous file version to the data object dataObj.put("previous", prevInfo); - // write the path to the diff.zip archive with differences in this file version - Integer verdiff = i - 1; - String changesUrl = DocumentManager - .getDownloadHistoryUrl(fileName, verdiff, - "diff.zip", true); - dataObj.put("changesUrl", changesUrl); + + String diffPath = Paths.get(histDir, String.valueOf(verdiff), "diff.zip").toString(); + File diffFile = new File(diffPath); + if (diffFile.exists()) { + // write the path to the diff.zip archive with differences in this file version + String changesUrl = DocumentManager + .getDownloadHistoryUrl(fileName, verdiff, + "diff.zip", true); + dataObj.put("changesUrl", changesUrl); + } } if (DocumentManager.tokenEnabled()) {