X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FProjectInserter.java;h=404fc10699ff094b3074f0f4c03a4aa7b9b0874c;hb=bb56ac7db27634a4b74b6f820523be723ef418d7;hp=a6e0e2178fe184c43fe6f0d2c9d92ffe4e60f7c3;hpb=cbb190627308fe9e426331aca0d121c75f701d5e;p=jSite.git diff --git a/src/de/todesbaum/jsite/application/ProjectInserter.java b/src/de/todesbaum/jsite/application/ProjectInserter.java index a6e0e21..404fc10 100644 --- a/src/de/todesbaum/jsite/application/ProjectInserter.java +++ b/src/de/todesbaum/jsite/application/ProjectInserter.java @@ -280,12 +280,13 @@ public class ProjectInserter implements FileScannerListener, Runnable { String filename = file.getFilename(); FileOption fileOption = project.getFileOption(filename); if (fileOption.isInsert()) { + fileOption.setCurrentHash(file.getHash()); /* check if file was modified. */ if (file.getHash().equals(fileOption.getLastInsertHash())) { /* only insert a redirect. */ - return new RedirectFileEntry(filename, fileOption.getMimeType(), "SSK@" + project.getRequestURI() + "/" + project.getPath() + "-" + project.getEdition() + "/" + filename); + logger.log(Level.FINE, String.format("Inserting redirect to edition %d for %s.", fileOption.getLastInsertEdition(), filename)); + return new RedirectFileEntry(filename, fileOption.getMimeType(), "SSK@" + project.getRequestURI() + "/" + project.getPath() + "-" + fileOption.getLastInsertEdition() + "/" + filename); } - fileOption.setCurrentHash(file.getHash()); try { long[] fileLength = new long[1]; InputStream fileEntryInputStream = createFileInputStream(filename, fileOption, edition, fileLength); @@ -296,8 +297,6 @@ public class ProjectInserter implements FileScannerListener, Runnable { } else { if (fileOption.isInsertRedirect()) { fileEntry = new RedirectFileEntry(filename, fileOption.getMimeType(), fileOption.getCustomKey()); - } else { - fileOption.setLastInsertHash(""); } } return fileEntry; @@ -375,7 +374,7 @@ public class ProjectInserter implements FileScannerListener, Runnable { */ public void run() { fireProjectInsertStarted(); - List files = fileScanner.getFiles(); + List files = fileScanner.getFiles(); /* create connection to node */ synchronized (lockObject) { @@ -465,7 +464,7 @@ public class ProjectInserter implements FileScannerListener, Runnable { int newEdition = Integer.parseInt(editionPart); project.setEdition(newEdition); project.setLastInsertionTime(System.currentTimeMillis()); - project.copyHashes(); + project.onSuccessfulInsert(); } fireProjectInsertFinished(success, cancelled ? new AbortedException() : (disconnected ? new IOException("Connection terminated") : null)); }