kstaken 2003/02/07 09:09:06
Added: java/scratchpad/solemnis README build.xml
java/scratchpad/solemnis/src/org/apache/xindice/core/file
Page.java PageFile.java PageFileTest.java
PageKey.java PageManager.java PageTestSuite.java
Log:
Some experimental code
Revision Changes Path
1.1 xml-xindice/java/scratchpad/solemnis/README
Index: README
===================================================================
This directory contains experiments that may or may not find their way into a
future version of Xindice. It is not intended to be a standalone useful
project.
1.1 xml-xindice/java/scratchpad/solemnis/build.xml
Index: build.xml
===================================================================
<?xml version="1.0"?>
<!--
- Build file for the solemnis Scratchpad Project.
-
- This script should be started with the following command line :
-
- ant <target>
-
- Jakarta Ant can be downloaded from <http://jakarta.apache.org/ant>
-
- Run "ant -projecthelp" to get a list of available targets.
-
- Version: $Revision: 1.1 $ $Date: 2003/02/07 17:09:06 $
- Author: Vladimir R. Bossicard ([EMAIL PROTECTED])
-->
<project name="xml-xindice-solemnis" default="compile" basedir=".">
<property name="xindice.classes" value="../classes" />
<property name="src.dir" value="src"/>
<property name="jar.dir" value="lib"/>
<property name="src.build.dir" value="classes"/>
<property name="dist.dir" value="dist"/>
<property name="compile.debug" value="on"/>
<property name="compile.optimize" value="off"/>
<property name="compile.nowarn" value="off"/>
<property name="compile.deprecation" value="on"/>
<property name="compile.verbose" value="off"/>
<!-- Scratchpad classpath -->
<path id="project.class.path">
<pathelement location="${src.build.dir}"/>
<fileset dir="../../lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="init">
<tstamp/>
<mkdir dir="${src.build.dir}"/>
<mkdir dir="${dist.dir}"/>
</target>
<target name="compile"
depends="init">
<javac srcdir="${src.dir}"
destdir="${src.build.dir}"
debug="${compile.debug}"
optimize="${compile.optimize}"
nowarn="${compile.nowarn}"
deprecation="${compile.deprecation}"
verbose="${compile.verbose}">
<!--classpath>
<fileset dir="${jar.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="../../lib">
<include name="*.jar"/>
</fileset>
<fileset dir="../../dist">
<include name="*.jar"/>
</fileset>
</classpath-->
</javac>
</target>
<target name="test"
depends="compile">
<junit fork="yes" printsummary="yes" haltonfailure="no">
<jvmarg
value="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog"
/>
<jvmarg
value="-Dorg.apache.commons.logging.simplelog.defaultlog=debug" />
<test name="org.apache.xindice.core.file.PageTestSuite" />
<formatter type="plain" usefile="no" />
<classpath>
<path refid="project.class.path"/>
<pathelement location="${test.build.dir}"/>
</classpath>
</junit>
</target>
<target name="clean">
<delete dir="${src.build.dir}"/>
<delete dir="${dist.dir}"/>
</target>
</project>
1.1
xml-xindice/java/scratchpad/solemnis/src/org/apache/xindice/core/file/Page.java
Index: Page.java
===================================================================
package org.apache.xindice.core.file;
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xindice" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999-2001, The dbXML
* Group, L.L.C., http://www.dbxmlgroup.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: Page.java,v 1.1 2003/02/07 17:09:06 kstaken Exp $
*/
public class Page {
protected byte[] data;
protected long pageNumber;
protected long pinCount = 0;
protected long lastAccess = 0;
protected boolean isDirty = false;
public Page(byte[] data, long pageNumber) {
this.data = data;
this.pageNumber = pageNumber;
}
public void writeData(byte[] data) {
}
public byte[] readData() {
return data;
}
public long getLastAccess() {
return lastAccess;
}
public long getPageNumber() {
return pageNumber;
}
public byte[] getData() {
return data;
}
public void setData(byte[] data) {
this.data = data;
}
public synchronized void pin() {
pinCount++;
}
public synchronized void unpin() {
pinCount--;
}
}
1.1
xml-xindice/java/scratchpad/solemnis/src/org/apache/xindice/core/file/PageFile.java
Index: PageFile.java
===================================================================
package org.apache.xindice.core.file;
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xindice" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999-2001, The dbXML
* Group, L.L.C., http://www.dbxmlgroup.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: PageFile.java,v 1.1 2003/02/07 17:09:06 kstaken Exp $
*/
import java.io.*;
public class PageFile {
public static final int HEADER_PAGE = 0;
/* Version markers are used to determine compatibility of file changes.
These numbers should be incremented anytime a change to the file format
occurs. The minor version number is bumped when a backwards compatibile
change is made and the major version is bumped when a non-backwards
compatible change is made.
*/
public static final int FILE_VERSION_MAJOR = 1;
public static final int FILE_VERSION_MINOR = 0;
public static final long INITIAL_EXTENT = 2048;
// Header fields, these should be listed in the order in which they appear
// in the file.
protected int versionMajor = FILE_VERSION_MAJOR;
protected int versionMinor = FILE_VERSION_MINOR;
protected int pageSize = 4096;
// Number of pages, not including the header page
protected long numberOfPages = 0;
protected long nextFreePage = 1;
// End header fields
protected boolean headerDirty = false;
protected RandomAccessFile file;
public PageFile(String filename, int pageSize) {
try {
this.pageSize = pageSize;
File testFile = new File(filename);
if ( ! testFile.exists() ) {
createFile(testFile);
// We're creating a new file so write a new header to it.
writeHeader();
}
else {
file = new RandomAccessFile(testFile, "rw");
// Opening an existing file so read the header.
readHeader();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
protected void createFile(File testFile) {
try {
file = new RandomAccessFile(testFile, "rw");
file.seek(INITIAL_EXTENT * pageSize);
file.write(1);
}
catch (Exception e) {
e.printStackTrace();
}
}
protected void readHeader() {
try {
Page page = readPage(HEADER_PAGE);
ByteArrayInputStream bytes = new
ByteArrayInputStream(page.getData());
DataInputStream stream = new DataInputStream(bytes);
versionMajor = stream.readInt();
versionMinor = stream.readInt();
pageSize = stream.readInt();
numberOfPages = stream.readLong();
nextFreePage = stream.readLong();
}
catch (Exception e) {
e.printStackTrace();
}
}
protected synchronized void writeHeader() {
try {
ByteArrayOutputStream bytes = new ByteArrayOutputStream(pageSize);
DataOutputStream stream = new DataOutputStream(bytes);
stream.writeInt(versionMajor);
stream.writeInt(versionMinor);
stream.writeInt(pageSize);
stream.writeLong(numberOfPages);
stream.writeLong(nextFreePage);
Page page = new Page(bytes.toByteArray(), HEADER_PAGE);
writePage(page);
}
catch (Exception e) {
e.printStackTrace();
}
}
public Page readPage(long pageNumber) {
try {
byte[] buffer = new byte[pageSize];
synchronized(this) {
file.seek(pageNumber * pageSize);
file.read(buffer);
}
return new Page(buffer, pageNumber);
}
catch (Exception e) {
e.printStackTrace();
return null;
}
}
public synchronized Page getFreePage() {
try {
long pageNumber = nextFreePage;
byte[] buffer = new byte[pageSize];
file.seek(pageNumber * pageSize);
file.read(buffer);
// Read the pointer to the next free page, or look to end of file.
nextFreePage++;
headerDirty = true;
return new Page(buffer, pageNumber);
}
catch (Exception e) {
e.printStackTrace();
return null;
}
}
public synchronized void writePage(Page page) {
try {
file.seek(page.getPageNumber() * pageSize);
file.write(page.getData());
}
catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
if ( headerDirty ) {
writeHeader();
}
file.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
1.1
xml-xindice/java/scratchpad/solemnis/src/org/apache/xindice/core/file/PageFileTest.java
Index: PageFileTest.java
===================================================================
package org.apache.xindice.core.file;
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xindice" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999-2001, The dbXML
* Group, L.L.C., http://www.dbxmlgroup.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: PageFileTest.java,v 1.1 2003/02/07 17:09:06 kstaken Exp $
*/
import junit.framework.*;
import java.io.*;
public class PageFileTest extends TestCase {
PageFile file;
public PageFileTest(String s) {
super(s);
}
public void setUp() {
file = new PageFile("test.dat", 4096);
}
public void tearDown() {
// Delete the file
file.close();
File file2 = new File("test.dat");
file2.delete();
}
public void testInit() {
assertTrue(file.numberOfPages == 0);
}
public void testGetFreePage() {
Page page = file.getFreePage();
assertTrue(page != null);
assertTrue(page.getPageNumber() == 1);
}
public void testReadPage() {
// Test reading the header page since it's the only page in the file
// at this point.
Page page = file.readPage(PageFile.HEADER_PAGE);
assertTrue(page != null);
try {
ByteArrayInputStream bytes = new
ByteArrayInputStream(page.getData());
DataInputStream stream = new DataInputStream(bytes);
assertTrue(stream.readInt() > 0);
assertTrue(stream.readInt() == 0);
assertTrue(stream.readInt() == 4096);
assertTrue(stream.readLong() == 0);
}
catch (Exception e) {
this.fail(e.toString());
}
}
}
1.1
xml-xindice/java/scratchpad/solemnis/src/org/apache/xindice/core/file/PageKey.java
Index: PageKey.java
===================================================================
package org.apache.xindice.core.file;
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xindice" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999-2001, The dbXML
* Group, L.L.C., http://www.dbxmlgroup.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: PageKey.java,v 1.1 2003/02/07 17:09:06 kstaken Exp $
*/
/**
* Enacapsulates a page reference. A page is identified by the fileID in
* which it is located and by the page number within that file.
*/
public class PageKey {
private long fileID;
private long pageID;
public PageKey(long fileID, long pageID) {
this.fileID = fileID;
this.pageID = pageID;
}
public long getFileID() {
return fileID;
}
public long getPageID() {
return fileID;
}
}
1.1
xml-xindice/java/scratchpad/solemnis/src/org/apache/xindice/core/file/PageManager.java
Index: PageManager.java
===================================================================
package org.apache.xindice.core.file;
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xindice" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999-2001, The dbXML
* Group, L.L.C., http://www.dbxmlgroup.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: PageManager.java,v 1.1 2003/02/07 17:09:06 kstaken Exp $
*/
import java.util.*;
import java.io.*;
public class PageManager {
private List fileList;
private Map pageCache;
private PageManager theInstance;
private PageManager() {
fileList = Collections.synchronizedList(new ArrayList());
pageCache = Collections.synchronizedMap(new HashMap());
}
public PageManager getPageManager() {
if ( theInstance == null ) {
theInstance = new PageManager();
}
return theInstance;
}
public Page getPage(PageKey key) {
return null;
}
public void setPage(PageKey key, Page page) {
}
public void releasePage(PageKey key) {
}
/**
* Registers a new file to be managed by the PageManager. The fileID for
the
* file is returned. The fileID is to be considered a transient ID and
* should not be preserved across database executions.
*/
public long registerFile(String filename) {
int pageSize = 4096;
PageFile file = new PageFile(filename, pageSize);
fileList.add(file);
return fileList.indexOf(file);
}
}
1.1
xml-xindice/java/scratchpad/solemnis/src/org/apache/xindice/core/file/PageTestSuite.java
Index: PageTestSuite.java
===================================================================
package org.apache.xindice.core.file;
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xindice" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999-2001, The dbXML
* Group, L.L.C., http://www.dbxmlgroup.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* $Id: PageTestSuite.java,v 1.1 2003/02/07 17:09:06 kstaken Exp $
*/
import junit.framework.*;
public class PageTestSuite extends TestSuite {
public PageTestSuite( String s ) {
super( s );
}
public static Test suite(){
TestSuite theSuite = new TestSuite();
theSuite.addTestSuite( PageFileTest.class );
return theSuite;
}
public static void main( String[] args ){
junit.textui.TestRunner.run( PageTestSuite.class );
}
}