X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FProject.java;h=a2aefd3f71d9fd97995cd57f8f8fa490957927eb;hb=8bc7a8f2372639a9fbeea34f9cbee9697f34ba3f;hp=c7bdd7994d63e687d6433d184090753dfdd7fc3f;hpb=9eef80285827648dd91bc09dc356ddbe9e54d23d;p=jSite.git diff --git a/src/de/todesbaum/jsite/application/Project.java b/src/de/todesbaum/jsite/application/Project.java index c7bdd79..a2aefd3 100644 --- a/src/de/todesbaum/jsite/application/Project.java +++ b/src/de/todesbaum/jsite/application/Project.java @@ -1,5 +1,5 @@ /* - * jSite - Project.java - Copyright © 2006–2011 David Roden + * jSite - Project.java - Copyright © 2006–2012 David Roden * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -22,6 +22,7 @@ import java.io.File; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import de.todesbaum.util.mime.DefaultMIMETypes; @@ -288,7 +289,7 @@ public class Project implements Comparable { * The URI to shorten * @return The shortened URI */ - private String shortenURI(String uri) { + private static String shortenURI(String uri) { String shortUri = uri; if (shortUri.startsWith("freenet:")) { shortUri = shortUri.substring("freenet:".length()); @@ -385,6 +386,7 @@ public class Project implements Comparable { *

* Projects are compared by their name only. */ + @Override public int compareTo(Project project) { return name.compareToIgnoreCase(project.name); } @@ -420,16 +422,20 @@ public class Project implements Comparable { } /** - * Copies the current hashes of all file options to the last insert hashes, - * updating the hashes for the next insert. This method should only be - * called after the insert has finished successfully. + * Performs some post-processing on the project after it was inserted + * successfully. At the moment it copies the current hashes of all file + * options to the last insert hashes, updating the hashes for the next + * insert. */ - public void copyHashes() { - for (FileOption fileOption : fileOptions.values()) { - if ((fileOption.getCurrentHash() != null) && (fileOption.getCurrentHash().length() > 0) && !fileOption.getCurrentHash().equals(fileOption.getLastInsertHash())) { + public void onSuccessfulInsert() { + for (Entry fileOptionEntry : fileOptions.entrySet()) { + FileOption fileOption = fileOptionEntry.getValue(); + if ((fileOption.getCurrentHash() != null) && (fileOption.getCurrentHash().length() > 0) && (!fileOption.getCurrentHash().equals(fileOption.getLastInsertHash()) || fileOption.isForceInsert())) { fileOption.setLastInsertEdition(edition); fileOption.setLastInsertHash(fileOption.getCurrentHash()); + fileOption.setLastInsertFilename(fileOption.hasChangedName() ? fileOption.getChangedName() : fileOptionEntry.getKey()); } + fileOption.setForceInsert(false); } }