[26] Add cleanup
- From: jag@kenai.com
- To: commits@zback.kenai.com
- Subject: [26] Add cleanup
- Date: Tue, 9 Sep 2008 16:31:15 +0000 (GMT)
Revision: 26
Author: jag@jag-laptop
Date: 2008-09-08 23:36:35 UTC
Log Message:
-----------
Add cleanup
Added Paths:
-----------
src/net/java/dev/zback/CleanupSnapshotsTask.java
Diffs:
-----
diff -r 0f543227d6fe -r 390f5e3884d9
src/net/java/dev/zback/CleanupSnapshotsTask.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/net/java/dev/zback/CleanupSnapshotsTask.java Mon Sep 08
16:36:35 2008 -0700
@@ -0,0 +1,47 @@
+package net.java.dev.zback;
+
+import org.jdesktop.application.Application;
+import org.jdesktop.application.Task;
+import net.java.dev.zback.ZFSRoot.*;
+import java.util.*;
+
+class CleanupSnapshotsTask extends Task<Object, Void> {
+ private boolean decay;
+ private int maxSnaps;
+ private FileSystem root;
+ Snapshot[] byDate;
+ TreeSet<Snapshot> smallest = new TreeSet<Snapshot>(bySizeComp);
+ int[] size;
+ @Override
+ protected Object doInBackground() {
+ byDate = root.byDate();
+ for(Snapshot s:byDate) smallest.add(s);
+ for(Snapshot s:smallest)
System.err.println(s.size+"\t"+s.name);
+ size = new int[byDate.length];
+ int len = byDate.length;
+ if(maxSnaps==0 || maxSnaps>=len) return "Nothing to delete";
+ return "Ought to delete "+(len-maxSnaps)+" of "+len;
+ }
+
+ @Override
+ protected void succeeded(Object result) {
+ System.err.println("Result: "+result);
+ message("Done", result==null ? "null" : result.toString());
+ }
+
+
+ CleanupSnapshotsTask(Application app, boolean d, Object m,
FileSystem r) {
+ // Runs on the EDT. Copy GUI state that
+ // doInBackground() depends on from parameters
+ // to CleanupSnapshotsTask fields, here.
+ super(app);
+ decay = d;
+ maxSnaps = ((Number)m).intValue();
+ root = r;
+ }
+ static final Comparator<Snapshot> bySizeComp = new
Comparator<Snapshot>() {
+ public int compare(Snapshot o1, Snapshot o2) {
+ return o1.size<o2.size ? -1 : o1.size==o2.size ? 0 : 1;
+ }
+ };
+}
|
[26] Add cleanup |
jag | 09/09/2008 |





