You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by vg...@apache.org on 2004/03/20 15:02:39 UTC

cvs commit: xml-xindice/java/src/org/apache/xindice/core/indexer IndexPattern.java ValueIndexer.java

vgritsenko    2004/03/20 06:02:39

  Modified:    .        status.xml
               java/src/org/apache/xindice/core/filer BTree.java
                        BTreeFiler.java HashFiler.java Paged.java
                        Streamable.java
               java/src/org/apache/xindice/core/indexer IndexPattern.java
                        ValueIndexer.java
  Log:
  Change Streamable interface from DataInput/OutputStream to DataInput/Output interfaces.
  
  Revision  Changes    Path
  1.40      +3 -0      xml-xindice/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/xml-xindice/status.xml,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- status.xml	4 Mar 2004 13:18:49 -0000	1.39
  +++ status.xml	20 Mar 2004 14:02:38 -0000	1.40
  @@ -74,6 +74,9 @@
   
       <changes>
           <release version="1.1b4-dev" date="March 4 2004">
  +            <action dev="VG" type="update">
  +                Implemented support for MetaData for Binary resources.
  +            </action>
               <action dev="VG" type="fix" fixes-bug="22155">
                   Support boolean, string, and number XPath query results.
               </action>
  
  
  
  1.26      +11 -8     xml-xindice/java/src/org/apache/xindice/core/filer/BTree.java
  
  Index: BTree.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/filer/BTree.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- BTree.java	8 Feb 2004 02:49:45 -0000	1.25
  +++ BTree.java	20 Mar 2004 14:02:38 -0000	1.26
  @@ -26,11 +26,13 @@
   import org.apache.xindice.core.indexer.IndexQuery;
   
   import java.io.ByteArrayOutputStream;
  +import java.io.DataInput;
   import java.io.DataInputStream;
   import java.io.DataOutputStream;
   import java.io.File;
   import java.io.IOException;
   import java.io.RandomAccessFile;
  +import java.io.DataOutput;
   import java.lang.ref.WeakReference;
   import java.util.Arrays;
   import java.util.Map;
  @@ -89,8 +91,6 @@
       public BTree() {
           super();
           fileHeader = (BTreeFileHeader) getFileHeader();
  -        fileHeader.setPageCount(1);
  -        fileHeader.setTotalCount(1);
       }
   
       public BTree(File file) {
  @@ -954,7 +954,10 @@
       ////////////////////////////////////////////////////////////////////
   
       public FileHeader createFileHeader() {
  -        return new BTreeFileHeader();
  +        BTreeFileHeader header = new BTreeFileHeader();
  +        header.setPageCount(1);
  +        header.setTotalCount(1);
  +        return header;
       }
   
       public FileHeader createFileHeader(boolean read) throws IOException {
  @@ -1027,11 +1030,11 @@
           public BTreePageHeader() {
           }
   
  -        public BTreePageHeader(DataInputStream dis) throws IOException {
  +        public BTreePageHeader(DataInput dis) throws IOException {
               super(dis);
           }
   
  -        public synchronized void read(DataInputStream dis) throws IOException {
  +        public synchronized void read(DataInput dis) throws IOException {
               super.read(dis);
               if (getStatus() == UNUSED) {
                   return;
  @@ -1040,7 +1043,7 @@
               valueCount = dis.readShort();
           }
   
  -        public synchronized void write(DataOutputStream dos) throws IOException {
  +        public synchronized void write(DataOutput dos) throws IOException {
               super.write(dos);
               dos.writeShort(valueCount);
           }
  
  
  
  1.23      +7 -7      xml-xindice/java/src/org/apache/xindice/core/filer/BTreeFiler.java
  
  Index: BTreeFiler.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/filer/BTreeFiler.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- BTreeFiler.java	8 Feb 2004 02:49:45 -0000	1.22
  +++ BTreeFiler.java	20 Mar 2004 14:02:38 -0000	1.23
  @@ -27,8 +27,8 @@
   import org.apache.xindice.core.data.RecordSet;
   import org.apache.xindice.core.data.Value;
   
  -import java.io.DataInputStream;
  -import java.io.DataOutputStream;
  +import java.io.DataInput;
  +import java.io.DataOutput;
   import java.io.File;
   import java.io.IOException;
   import java.io.RandomAccessFile;
  @@ -295,11 +295,11 @@
           public BTreeFilerPageHeader() {
           }
   
  -        public BTreeFilerPageHeader(DataInputStream dis) throws IOException {
  +        public BTreeFilerPageHeader(DataInput dis) throws IOException {
               super(dis);
           }
   
  -        public synchronized void read(DataInputStream dis) throws IOException {
  +        public synchronized void read(DataInput dis) throws IOException {
               super.read(dis);
   
               if (getStatus() == UNUSED) {
  @@ -310,7 +310,7 @@
               modified = dis.readLong();
           }
   
  -        public synchronized void write(DataOutputStream dos) throws IOException {
  +        public synchronized void write(DataOutput dos) throws IOException {
               super.write(dos);
               dos.writeLong(created);
               dos.writeLong(modified);
  
  
  
  1.23      +7 -7      xml-xindice/java/src/org/apache/xindice/core/filer/HashFiler.java
  
  Index: HashFiler.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/filer/HashFiler.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- HashFiler.java	8 Feb 2004 02:49:45 -0000	1.22
  +++ HashFiler.java	20 Mar 2004 14:02:38 -0000	1.23
  @@ -27,8 +27,8 @@
   import org.apache.xindice.core.data.RecordSet;
   import org.apache.xindice.core.data.Value;
   
  -import java.io.DataInputStream;
  -import java.io.DataOutputStream;
  +import java.io.DataInput;
  +import java.io.DataOutput;
   import java.io.File;
   import java.io.IOException;
   import java.io.RandomAccessFile;
  @@ -403,11 +403,11 @@
           public HashPageHeader() {
           }
   
  -        public HashPageHeader(DataInputStream dis) throws IOException {
  +        public HashPageHeader(DataInput dis) throws IOException {
               super(dis);
           }
   
  -        public synchronized void read(DataInputStream dis) throws IOException {
  +        public synchronized void read(DataInput dis) throws IOException {
               super.read(dis);
   
               if (getStatus() == UNUSED) {
  @@ -419,7 +419,7 @@
               nextCollision = dis.readLong();
           }
   
  -        public synchronized void write(DataOutputStream dos) throws IOException {
  +        public synchronized void write(DataOutput dos) throws IOException {
               super.write(dos);
               dos.writeLong(created);
               dos.writeLong(modified);
  
  
  
  1.29      +17 -19    xml-xindice/java/src/org/apache/xindice/core/filer/Paged.java
  
  Index: Paged.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/filer/Paged.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- Paged.java	8 Feb 2004 02:49:45 -0000	1.28
  +++ Paged.java	20 Mar 2004 14:02:38 -0000	1.29
  @@ -21,8 +21,8 @@
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   import org.apache.xindice.core.DBException;
  -import org.apache.xindice.core.FaultCodes;
   import org.apache.xindice.core.DBObject;
  +import org.apache.xindice.core.FaultCodes;
   import org.apache.xindice.core.data.Key;
   import org.apache.xindice.core.data.Value;
   import org.apache.xindice.util.Configurable;
  @@ -30,21 +30,23 @@
   
   import java.io.ByteArrayInputStream;
   import java.io.ByteArrayOutputStream;
  +import java.io.DataInput;
   import java.io.DataInputStream;
  +import java.io.DataOutput;
   import java.io.DataOutputStream;
   import java.io.File;
   import java.io.IOException;
   import java.io.InputStream;
   import java.io.OutputStream;
   import java.io.RandomAccessFile;
  +import java.lang.ref.WeakReference;
  +import java.util.Collection;
  +import java.util.EmptyStackException;
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.Map;
   import java.util.Stack;
   import java.util.WeakHashMap;
  -import java.util.Collection;
  -import java.util.EmptyStackException;
  -import java.lang.ref.WeakReference;
   
   /**
    * Paged is a paged file implementation that is foundation for both the
  @@ -554,7 +556,7 @@
        *
        * @return The FileHeader
        */
  -    public FileHeader getFileHeader() {
  +    protected FileHeader getFileHeader() {
           return fileHeader;
       }
   
  @@ -571,17 +573,13 @@
           fileHeader.setMaxKeySize(config.getShortAttribute(CONFIG_KEYSIZE_MAX,
                                                             fileHeader.getMaxKeySize()));
   
  -        RandomAccessFile raf = null;
           try {
  -            raf = getDescriptor();
               fileHeader.write();
               flush();
               return true;
           } catch (Exception e) {
               throw new FilerException(FaultCodes.GEN_CRITICAL_ERROR,
                                        "Error creating " + file.getName(), e);
  -        } finally {
  -            closeDescriptor(raf);
           }
       }
   
  @@ -1119,22 +1117,22 @@
        * Paged file page's header
        */
       public abstract static class PageHeader implements Streamable {
  -        private boolean dirty = false;
  +        private boolean dirty;
           private byte status = UNUSED;
  -        private short keyLen = 0;
  -        private int keyHash = 0;
  -        private int dataLen = 0;
  -        private int recordLen = 0;
  +        private short keyLen;
  +        private int keyHash;
  +        private int dataLen;
  +        private int recordLen;
           private long nextPage = -1;
   
           public PageHeader() {
           }
   
  -        public PageHeader(DataInputStream dis) throws IOException {
  +        public PageHeader(DataInput dis) throws IOException {
               read(dis);
           }
   
  -        public synchronized void read(DataInputStream dis) throws IOException {
  +        public synchronized void read(DataInput dis) throws IOException {
               status = dis.readByte();
               dirty = false;
               if (status == UNUSED) {
  @@ -1148,7 +1146,7 @@
               nextPage = dis.readLong();
           }
   
  -        public synchronized void write(DataOutputStream dos) throws IOException {
  +        public synchronized void write(DataOutput dos) throws IOException {
               dirty = false;
               dos.writeByte(status);
               dos.writeShort(keyLen);
  
  
  
  1.6       +6 -6      xml-xindice/java/src/org/apache/xindice/core/filer/Streamable.java
  
  Index: Streamable.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/filer/Streamable.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Streamable.java	8 Feb 2004 02:49:45 -0000	1.5
  +++ Streamable.java	20 Mar 2004 14:02:38 -0000	1.6
  @@ -18,8 +18,8 @@
   
   package org.apache.xindice.core.filer;
   
  -import java.io.DataInputStream;
  -import java.io.DataOutputStream;
  +import java.io.DataInput;
  +import java.io.DataOutput;
   import java.io.IOException;
   
   /**
  @@ -36,7 +36,7 @@
        * @param is The DataInputStream
        * @throws IOException if an IOException occurs
        */
  -    public void read(DataInputStream is) throws IOException;
  +    public void read(DataInput is) throws IOException;
   
       /**
        * write writes the object state to the stream.
  @@ -44,5 +44,5 @@
        * @param os The DataOutputStream
        * @throws IOException if an IOException occurs
        */
  -    public void write(DataOutputStream os) throws IOException;
  +    public void write(DataOutput os) throws IOException;
   }
  
  
  
  1.14      +16 -17    xml-xindice/java/src/org/apache/xindice/core/indexer/IndexPattern.java
  
  Index: IndexPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/indexer/IndexPattern.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- IndexPattern.java	21 Feb 2004 04:11:14 -0000	1.13
  +++ IndexPattern.java	20 Mar 2004 14:02:38 -0000	1.14
  @@ -22,8 +22,8 @@
   import org.apache.xindice.xml.NamespaceMap;
   import org.apache.xindice.xml.SymbolTable;
   
  -import java.io.DataInputStream;
  -import java.io.DataOutputStream;
  +import java.io.DataInput;
  +import java.io.DataOutput;
   import java.io.IOException;
   import java.util.StringTokenizer;
   
  @@ -35,20 +35,20 @@
    */
   public final class IndexPattern implements Streamable {
   
  -    public static final int PATTERN_NONE = -1;
  +    public static final int PATTERN_NONE     = -1;
       public static final int PATTERN_WILDCARD = -2;
  -    public static final int PATTERN_NAME = -3;
  +    public static final int PATTERN_NAME     = -3;
   
  -    public static final int SCORE_NONE = 0;
  +    public static final int SCORE_NONE     = 0;
       public static final int SCORE_WILDCARD = 1;
  -    public static final int SCORE_NAME = 2;
  -    public static final int SCORE_NATURAL = 3;
  +    public static final int SCORE_NAME     = 2;
  +    public static final int SCORE_NATURAL  = 3;
   
   
  -    private SymbolTable symbols = null;
  -    private String elemName = null;
  +    private SymbolTable symbols;
  +    private String elemName;
       private short elemID = PATTERN_NONE;
  -    private String attrName = null;
  +    private String attrName;
       private short attrID = PATTERN_NONE;
   
   
  @@ -182,24 +182,24 @@
           return attrName;
       }
   
  -    public void read(DataInputStream dis) throws IOException {
  +    public void read(DataInput dis) throws IOException {
           elemID = dis.readShort();
           if (elemID == PATTERN_NAME) {
               short len = dis.readShort();
               byte[] name = new byte[len];
  -            dis.read(name);
  +            dis.readFully(name);
               elemName = new String(name, "utf-8");
           }
           attrID = dis.readShort();
           if (attrID == PATTERN_NAME) {
               short len = dis.readShort();
               byte[] name = new byte[len];
  -            dis.read(name);
  +            dis.readFully(name);
               attrName = new String(name, "utf-8");
           }
       }
   
  -    public void write(DataOutputStream dos) throws IOException {
  +    public void write(DataOutput dos) throws IOException {
           dos.writeShort(elemID);
           if (elemID == PATTERN_NAME) {
               byte[] name = elemName.getBytes("utf-8");
  @@ -234,4 +234,3 @@
           }
       }
   }
  -
  
  
  
  1.19      +12 -4     xml-xindice/java/src/org/apache/xindice/core/indexer/ValueIndexer.java
  
  Index: ValueIndexer.java
  ===================================================================
  RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/core/indexer/ValueIndexer.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ValueIndexer.java	8 Feb 2004 02:50:21 -0000	1.18
  +++ ValueIndexer.java	20 Mar 2004 14:02:38 -0000	1.19
  @@ -28,6 +28,7 @@
   import org.apache.xindice.core.filer.BTreeCallback;
   import org.apache.xindice.core.filer.BTreeCorruptException;
   import org.apache.xindice.core.filer.BTreeNotFoundException;
  +import org.apache.xindice.core.filer.Paged;
   import org.apache.xindice.core.query.QueryEngine;
   import org.apache.xindice.util.Configuration;
   import org.apache.xindice.xml.SymbolTable;
  @@ -90,8 +91,15 @@
   
       public ValueIndexer() {
           super();
  -        // Set default
  -        getFileHeader().setPageSize(1024);
  +    }
  +
  +    /**
  +     * Override createFileHeader - set page size to 1024
  +     */
  +    public Paged.FileHeader createFileHeader() {
  +        Paged.FileHeader header = super.createFileHeader();
  +        header.setPageSize(1024);
  +        return header;
       }
   
       public void setConfig(Configuration config) {