fixed deleteOldDownloads if there are no downloads

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@4726 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
danielr 17 years ago
parent 21418a22a3
commit da386a1924

@ -506,9 +506,6 @@ public final class yacyVersion implements Comparator<yacyVersion>, Comparable<ya
* @param deleteAfterDays
*/
public static void deleteOldDownloads(File filesPath, int deleteAfterDays) {
serverLog.logFine("STARTUP", "deleting downloaded releases older than "+ deleteAfterDays +" days");
final long deleteAfterMillis = deleteAfterDays * 24 * 60 * 60000l;
// list downloaded releases
yacyVersion release;
String[] downloaded = filesPath.list();
@ -524,28 +521,36 @@ public final class yacyVersion implements Comparator<yacyVersion>, Comparable<ya
}
}
// keep latest version
final yacyVersion latest = downloadedreleases.last();
downloadedreleases.remove(latest);
// if latest is a developer release, we also keep a main release
boolean keepMain = !latest.mainRelease;
// remove old files
long now = System.currentTimeMillis();
final Iterator<yacyVersion> iter = downloadedreleases.descendingIterator();
while (iter.hasNext()) {
release = iter.next();
if(keepMain && release.mainRelease) {
// we found the latest main release
keepMain = false;
continue;
}
// if we have some files
if(downloadedreleases.size() > 0) {
serverLog.logFine("STARTUP", "deleting downloaded releases older than "+ deleteAfterDays +" days");
// keep latest version
final yacyVersion latest = downloadedreleases.last();
downloadedreleases.remove(latest);
// if latest is a developer release, we also keep a main release
boolean keepMain = !latest.mainRelease;
// remove old files
long now = System.currentTimeMillis();
final long deleteAfterMillis = deleteAfterDays * 24 * 60 * 60000l;
final Iterator<yacyVersion> iter = downloadedreleases.descendingIterator();
while (iter.hasNext()) {
release = iter.next();
if(keepMain && release.mainRelease) {
// we found the latest main release
keepMain = false;
continue;
}
File downloadedFile = new File(filesPath + File.separator + release.name);
if(now - downloadedFile.lastModified() > deleteAfterMillis) {
if(!downloadedFile.delete()) {
serverLog.logWarning("STARTUP", "cannot delete old release "+ downloadedFile.getAbsolutePath());
// check file age
File downloadedFile = new File(filesPath + File.separator + release.name);
if(now - downloadedFile.lastModified() > deleteAfterMillis) {
// delete file
if(!downloadedFile.delete()) {
serverLog.logWarning("STARTUP", "cannot delete old release "+ downloadedFile.getAbsolutePath());
}
}
}
}

Loading…
Cancel
Save