gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/lava/gzz/storm/impl AbstractPool.java DirPo...


From: Benja Fallenstein
Subject: [Gzz-commits] gzz/lava/gzz/storm/impl AbstractPool.java DirPo...
Date: Sat, 18 Jan 2003 20:08:51 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      03/01/18 20:08:51

Modified files:
        lava/gzz/storm/impl: AbstractPool.java DirPool.java 
                             TransientPool.java ZipPool.java 

Log message:
        refactor

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/storm/impl/AbstractPool.java.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/storm/impl/DirPool.java.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/storm/impl/TransientPool.java.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/storm/impl/ZipPool.java.diff?tr1=1.14&tr2=1.15&r1=text&r2=text

Patches:
Index: gzz/lava/gzz/storm/impl/AbstractPool.java
diff -u gzz/lava/gzz/storm/impl/AbstractPool.java:1.15 
gzz/lava/gzz/storm/impl/AbstractPool.java:1.16
--- gzz/lava/gzz/storm/impl/AbstractPool.java:1.15      Sat Jan 18 19:55:59 2003
+++ gzz/lava/gzz/storm/impl/AbstractPool.java   Sat Jan 18 20:08:51 2003
@@ -90,16 +90,17 @@
        return ((PointerIndexType.Index)index).getPointer(uri);
     }
 
-    /**
-     *  <code>block</code> and <code>closed</code>
-     *  must be set by <code>close()</code>.
-     */
     protected abstract class AbstractBlockOutputStream 
        extends BlockOutputStream {
 
        protected Header822 header;
        protected Block block;
-       protected boolean closed = false;
+
+       /** Whether <code>close()</code> has already been called.
+        *  If <code>false</code>, <code>getBlock()</code> and so on
+        *  cannot be called yet.
+        */
+       protected boolean closed;
 
        /** Create a new AbstractBlockOutputStream object
         *  and write the given header to it.
@@ -111,6 +112,20 @@
 
            header.writeTo(this);
        }
+
+       public void close() throws IOException {
+           if(closed) return;
+           closed = true;
+           out.close();
+           block = makeBlock();
+       }
+
+       /** Create the block and add it to the pool.
+        *  When <code>close()</code> is called for the first time,
+        *  it calls this method internally.
+        *  @return The new block.
+        */
+       protected abstract Block makeBlock() throws IOException;
 
         public Block getBlock() { return block; }
         public Header822 getHeader() { return header; }
Index: gzz/lava/gzz/storm/impl/DirPool.java
diff -u gzz/lava/gzz/storm/impl/DirPool.java:1.23 
gzz/lava/gzz/storm/impl/DirPool.java:1.24
--- gzz/lava/gzz/storm/impl/DirPool.java:1.23   Sat Jan 18 19:55:59 2003
+++ gzz/lava/gzz/storm/impl/DirPool.java        Sat Jan 18 20:08:51 2003
@@ -73,12 +73,7 @@
            this.tempFile = tempFile;
         }
 
-       public void close() throws IOException {
-           if(closed) return;
-
-           out.close();
-           closed = true;
-           
+       public Block makeBlock() throws IOException {
            BlockId id = makeIdFromDigest();
            File file = getFile(id);
 
@@ -89,6 +84,7 @@
 
            block = new FileBlock(id);
            added(block);
+           return block;
        }
     }
 
Index: gzz/lava/gzz/storm/impl/TransientPool.java
diff -u gzz/lava/gzz/storm/impl/TransientPool.java:1.26 
gzz/lava/gzz/storm/impl/TransientPool.java:1.27
--- gzz/lava/gzz/storm/impl/TransientPool.java:1.26     Sat Jan 18 19:55:59 2003
+++ gzz/lava/gzz/storm/impl/TransientPool.java  Sat Jan 18 20:08:51 2003
@@ -47,16 +47,14 @@
             super(new ByteArrayOutputStream(), header);
         }
 
-       public void close() throws IOException {
-           if(closed) return;
-           closed = true;
-
+       public Block makeBlock() throws IOException {
            ByteArrayOutputStream baos = (ByteArrayOutputStream)out;
            block = new TransientBlock(makeIdFromDigest(),
                                       baos.toByteArray(), header);
            blocks.put(block.getId(), block);
 
            added(block);
+           return block;
        }
     }
 
Index: gzz/lava/gzz/storm/impl/ZipPool.java
diff -u gzz/lava/gzz/storm/impl/ZipPool.java:1.14 
gzz/lava/gzz/storm/impl/ZipPool.java:1.15
--- gzz/lava/gzz/storm/impl/ZipPool.java:1.14   Sat Jan 18 19:55:59 2003
+++ gzz/lava/gzz/storm/impl/ZipPool.java        Sat Jan 18 20:08:51 2003
@@ -51,14 +51,10 @@
               baos = (ByteArrayOutputStream)out;
           }
 
-          public void close() throws IOException {
-             if(closed) return;
-             baos.close();
-             closed = true;
-
+          public Block makeBlock() throws IOException {
              BlockId id = makeIdFromDigest();
              changeZipFile(null, baos.toByteArray(), id);
-             block = get(id);
+             return get(id);
           }
        }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]