[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
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close