gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/lava/gzz/storm PointerIndexType.java impl/D...


From: Benja Fallenstein
Subject: [Gzz-commits] gzz/lava/gzz/storm PointerIndexType.java impl/D...
Date: Mon, 30 Dec 2002 11:18:04 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      02/12/30 11:18:03

Modified files:
        lava/gzz/storm : PointerIndexType.java 
Added files:
        lava/gzz/storm/impl: DefaultPointerIndex.java 

Log message:
        Refactoring

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/storm/PointerIndexType.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/storm/impl/DefaultPointerIndex.java?rev=1.1

Patches:
Index: gzz/lava/gzz/storm/PointerIndexType.java
diff -u gzz/lava/gzz/storm/PointerIndexType.java:1.1 
gzz/lava/gzz/storm/PointerIndexType.java:1.2
--- gzz/lava/gzz/storm/PointerIndexType.java:1.1        Mon Dec 30 11:02:02 2002
+++ gzz/lava/gzz/storm/PointerIndexType.java    Mon Dec 30 11:18:03 2002
@@ -28,62 +28,11 @@
        Pointer getPointer(String uri);
     }
 
-    abstract public Object getIndex(IndexedPool pool, IndexedPool.DB db)
-       throws IOException;
-
     public final String getIndexTypeURI() {
        return indexTypeURI;
     }
 
-    /** The default implementation of getting the mapping
-     *  for a pointer block. Subclasses which override this
-     *  must provide exactly the same functionality;
-     *  the only reason to override would be if the subclass
-     *  had a more efficient way to parse pointer blocks.
-     */
-    public Set getMappings(Block b) throws IOException {
-       String blockContentType = 
-           b.getHeader().get("Content-Type").toLowerCase();
-
-       if(blockContentType.equals(contentType)) {
-           BufferedReader br = new BufferedReader(
-               new InputStreamReader(b.getInputStream(), "ISO8859_1"));
-           String s = br.readLine();
-           if(!s.equals("GZZPTR0"))
-               // Unknown pointer block format-- ignore
-               return Collections.EMPTY_SET;
-
-           byte[] key = br.readLine().getBytes("US-ASCII");
-
-           List items = new ArrayList(3);
-           int len = 0;
+    abstract public Set getMappings(Block b) throws IOException;
 
-           String hex;
-           while((hex = br.readLine()) != null) {
-               byte[] arr = HexUtil.hexToByteArr(hex);
-               if(arr.length > 127)
-                   throw new IOException("Storm id is too long: "+hex);
-               items.add(arr);
-               len += arr.length + 1;
-           }
-
-           br.close();
-
-           byte[] value = new byte[len];
-           int pos = 0;
-           for(Iterator i=items.iterator(); i.hasNext();) {
-               byte[] arr = (byte[])i.next();
-               value[pos] = (byte)arr.length; 
-               pos++;
-               System.arraycopy(arr, 0, value, pos, arr.length);
-               pos += arr.length;
-           }
-
-           IndexedPool.Mapping m = 
-               new IndexedPool.Mapping(b.getId(), key, value);
-           return Collections.singleton(m);
-       } else {
-           return Collections.EMPTY_SET;
-       }
-    }
+    abstract public Object createIndex(IndexedPool pool, IndexedPool.DB db);
 }



reply via email to

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