]> source.dussan.org Git - jackcess.git/commitdiff
move to maven2
authorJames Ahlborn <jtahlborn@yahoo.com>
Fri, 2 Nov 2007 03:48:53 +0000 (03:48 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Fri, 2 Nov 2007 03:48:53 +0000 (03:48 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@167 f203690c-595d-4dc9-a70b-905162fa7fd2

12 files changed:
maven.xml [deleted file]
pom.xml [new file with mode: 0644]
src/changes/changes.xml [new file with mode: 0644]
src/java/com/healthmarketscience/jackcess/Column.java
src/site/fml/faq.fml [new file with mode: 0644]
src/site/site.xml [new file with mode: 0644]
src/site/xdoc/index.xml [new file with mode: 0644]
xdocs/changes.xml [deleted file]
xdocs/faq.fml [deleted file]
xdocs/index.xml [deleted file]
xdocs/navigation.xml [deleted file]
xdocs/worksonlinux.png [deleted file]

diff --git a/maven.xml b/maven.xml
deleted file mode 100644 (file)
index 94bdbab..0000000
--- a/maven.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<project default="jar:jar">
-  
-  <goal name="sfRelease"
-        prereqs="jar:jar, dist, sourceforge:deploy, site:deploy"/>
-  
-</project>
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..a25aa20
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,253 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion> 
+  <groupId>com.healthmarketscience.jackcess</groupId>
+  <artifactId>jackcess</artifactId>
+  <name>Jackcess</name>
+  <description>A pure Java library for reading from and writing to MS Access databases.</description>
+  <version>1.1.10-SNAPSHOT</version>
+  <url>http://jackcess.sf.net</url>
+  <inceptionYear>2005</inceptionYear>
+  <developers>
+    <developer>
+      <name>Tim McCune</name>
+      <id>javajedi</id>
+      <email>javajedi@users.sf.net</email>
+      <organization>Health Market Science, Inc.</organization>
+      <timezone>-5</timezone>
+    </developer>
+    <developer>
+      <name>James Ahlborn</name>
+      <id>jahlborn</id>
+      <email>jahlborn@users.sf.net</email>
+      <organization>Health Market Science, Inc.</organization>
+      <timezone>-5</timezone>
+    </developer>
+    <developer>
+      <name>Rob Di Marco</name>
+      <id>robdimarco</id>
+      <organization>Health Market Science, Inc.</organization>
+      <timezone>-5</timezone>
+    </developer>
+  </developers>
+  <licenses>
+    <license>
+      <name>GNU Lesser General Public License, 2.1</name>
+      <url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt</url>
+      <distribution>manual</distribution>
+    </license>
+  </licenses>
+  <issueManagement>
+    <system>SourceForge</system>
+    <url>http://sourceforge.net/tracker/?group_id=134943&amp;atid=731445</url>
+  </issueManagement>
+  <scm>
+    <connection>scm:cvs:pserver:anonymous@jackcess.cvs.sourceforge.net:/cvsroot/jackcess/:jackcess</connection>
+    <!-- read/write cvs connection -->
+    <developerConnection>scm:cvs:ext:username@jackcess.cvs.sourceforge.net:/cvsroot/jackcess/:jackcess</developerConnection>
+    <url>http://jackcess.cvs.sourceforge.net/jackcess/jackcess/</url>
+  </scm>
+  <organization>
+    <name>Health Market Science</name>
+    <url>http://www.healthmarketscience.com</url>
+  </organization>
+  <build>
+    <defaultGoal>install</defaultGoal>
+    <sourceDirectory>src/java</sourceDirectory>
+    <testSourceDirectory>test/src/java</testSourceDirectory>
+    <resources>
+      <resource>
+        <directory>src/resources</directory>
+      </resource>
+    </resources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <configuration>
+            <source>1.5</source>
+            <target>1.5</target>
+            <compilerArgument>-Xlint:all</compilerArgument>
+            <showWarnings>true</showWarnings>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <forkMode>once</forkMode>
+            <argLine>-Xmx256M -server</argLine>
+            <systemProperties>
+              <property>
+                <name>log4j.configuration</name>
+                <value>com/healthmarketscience/jackcess/log4j.properties</value>
+              </property>
+            </systemProperties>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>    
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+        <version>2.0</version>
+        <configuration>
+          <instrumentation>
+            <excludes>
+              <exclude>com/healthmarketscience/jackcess/scsu/**</exclude>
+            </excludes>
+          </instrumentation>
+        </configuration>
+        <executions>
+          <execution>
+            <id>clean</id>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-changes-plugin</artifactId>
+        <configuration>
+          <smtpHost>localhost</smtpHost>
+          <toAddresses>
+            <toAddress>jackcess-users@lists.sourceforge.net</toAddress>
+          </toAddresses>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-release-plugin</artifactId>
+        <configuration>
+<!--           <goals>deploy,changes:announcement-generate,changes:announcement-mail</goals> -->
+        </configuration>
+      </plugin>       
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.0.3</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.7</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.0</version>
+      <scope>test</scope>
+    </dependency>    
+  </dependencies>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>dependencies</report>
+              <report>scm</report>
+              <report>summary</report>
+              <report>project-team</report>
+              <report>license</report>
+              <report>issue-tracking</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <artifactId>maven-changes-plugin</artifactId>
+        <configuration> 
+          <issueLinkTemplate>%URL%/index.php?func=detail&amp;aid=%ISSUE%&amp;group_id=134943&amp;atid=731445</issueLinkTemplate>
+        </configuration>        
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>changes-report</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>changelog-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <minmemory>128m</minmemory>
+          <maxmemory>512</maxmemory>
+          <links>
+            <list>http://java.sun.com/j2se/1.5.0/docs/api</list>
+            <list>http://java.sun.com/javaee/5/docs/api/</list>
+          </links>
+          <source>1.5</source>
+          <excludePackageNames>com.healthmarketscience.jackcess.scsu</excludePackageNames>
+          <show>public</show>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jxr-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <configuration>
+          <aggregate>true</aggregate>
+          <targetJdk>1.5</targetJdk>
+          <!-- Use csv reports because unneeded and xml causes failures (bug in pmd 3.9 with SuppressWarnings in source code) -->
+          <format>csv</format>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <configuration>
+          <threshold>Normal</threshold>
+          <effort>Default</effort>
+          <excludeFilterFile>src/test/resources/findBugsExcludes.xml</excludeFilterFile>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>      
+        <artifactId>taglist-maven-plugin</artifactId>
+        <configuration>
+          <tags>
+            <list>TODO</list>
+            <list>todo</list>
+            <list>FIXME</list>
+            <list>fixme</list>
+          </tags>
+        </configuration>     
+      </plugin> 
+    </plugins>
+  </reporting>
+  <distributionManagement>
+    <site>
+      <id>jackcess-build-site</id>
+      <url>scp://shell.sourceforge.net/home/groups/j/ja/jackcess/htdocs</url>
+    </site>    
+  </distributionManagement>
+</project>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
new file mode 100644 (file)
index 0000000..7e20dcc
--- /dev/null
@@ -0,0 +1,189 @@
+<document>
+  <properties>
+    <title>Release notes</title>
+    <author email="javajedi@users.sf.net">Tim McCune</author>
+    <author email="jahlborn@users.sf.net">James Ahlborn</author>
+  </properties>
+  <body>
+    <release version="1.1.10" date="TBD">
+    </release>
+    <release version="1.1.9" date="2007-07-12">
+      <action dev="jahlborn" type="fix" issue="1675522">
+        Add support for writing large table definitions, bug #1675522.
+      </action>
+      <action dev="jahlborn" type="fix" issue="1748827">
+        Fix handling of usage maps for large tables, bug #1748827.
+      </action>
+      <action dev="jahlborn" type="fix" issue="1672071">
+        Fixed some edge cases for reading numeric columns, bug #1672071.
+      </action>
+    </release>
+    <release version="1.1.8" date="2007-02-13">
+      <action dev="jahlborn" type="update">
+        Additional info in DataType to support better type validation
+        (scale/precision range).  Add "unit size" concept.
+      </action>
+      <action dev="jahlborn" type="update">
+        Add CLOB support in JDBC handling.  Add general support for large
+        types (BLOB/CLOB).
+      </action>
+      <action dev="jahlborn" type="update">
+        Enhance Database.copyTable/importReader to allow for better control
+        over column definitions and row values through the ImportFilter.
+        Change default type translation to handle large and variable length
+        types better.
+      </action>
+    </release>
+    <release version="1.1.7" date="2006-10-02">
+      <action dev="jahlborn" type="update">
+        Refactored DataType class, cleaned up a lot of "custom" data type code
+        springled throughout the codebase.
+      </action>
+      <action dev="jahlborn" type="update">
+        Added sanity checking on table creation (check column/table properties
+        for validity).
+      </action>
+      <action dev="jahlborn" type="update">
+        Clean up index reading/writing of text columns, add support for more
+        characters
+      </action>
+      <action dev="jahlborn" type="update" issue="1563654">
+        Support reading 'compressed' indexes (fix 1563654)
+      </action>
+      <action dev="jahlborn" type="update">
+        Implement "overflow" row reading.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Allow multi-page long value reading.
+      </action>
+      <action dev="jahlborn" type="update">
+        Implement multi-page long value writing.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Fix decimal data type writing.
+      </action>
+      <action dev="jahlborn" type="update" issue="1545857">
+        Add support for opening files read-only (fix 1545857)
+      </action>
+    </release>
+    <release version="1.1.6" date="2006-08-07">
+      <action dev="jahlborn" type="fix" issue="1530312">
+        Handle more tables with more index slots than actual indexes (fix bug
+        1530312)
+      </action>
+      <action dev="jahlborn" type="fix" issue="1449812">
+        Clean up reading/writing 3-byte ints; long value length is 3-bytes
+        (fix bug 1449812)
+      </action>
+      <action dev="jahlborn" type="fix">
+        Fix handling of skipped rows
+      </action>
+      <action dev="jahlborn" type="fix" issue="1306970">
+        When reading multi-page table def, flip buffer before parsing (fix bug
+        1306970)
+      </action>
+      <action dev="jahlborn" type="update">
+        Treat table names as case insensitive; use stored table names when
+        instantiating tables
+      </action>
+      <action dev="jahlborn" type="update">
+        Make Database and Table Iterable
+      </action>
+      <action dev="jahlborn" type="fix">
+        Use uppercase names when adding text columns to indexes, which fixes
+        long standing problem with table names starting with lowercase
+        characters (and other situations where tables could not be opened in
+        Access).  Remove hack which forced every table name to have uppercase
+        first character.
+      </action>      
+      <action dev="jahlborn" type="update">
+        Clean up compressed text handling.
+      </action>
+      <action dev="jahlborn" type="update">
+        Implement reading multi-page long binary values
+      </action>
+    </release>
+    <release version="1.1.5" date="2006-07-25">
+      <action dev="jahlborn" type="update">
+        Add support for currency columns (thanks to James Schopp).
+      </action>
+      <action dev="jahlborn" type="fix">
+        Handle tables with no variable length columns correctly.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Handle reading with deleted columns.
+      </action>
+      <action dev="jahlborn" type="update">
+        Read information on primary keys and include in Index.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Fix some issues around reading indexes.
+      </action>
+      <action dev="jahlborn" type="update">
+        Add write support for numeric/GUID columns.
+      </action>
+      <action dev="javajedi" type="update">
+        Added getRowCount(), getName(), updated toString() on Table.
+      </action>
+    </release>
+    <release version="1.1.4" date="2006-6-15">
+      <action dev="jahlborn" type="fix">
+        Missing break in switch condition.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Fixes
+        to reading/writing MEMO/OLE columns.
+      </action>
+      <action dev="jahlborn" type="update">
+        Made exceptions thrown when opening empty or nonexistent files more
+        specific.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Apply patch from Jon Iles for handilng variable length columns.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Apply patch from Jon Iles for handling dates.
+      </action>
+      <action dev="jahlborn" type="fix">
+        Apply patch from Jon Iles for reading GUIDs.
+      </action>
+    </release>
+    <release version="1.1.3" date="2006-2-16">
+      <action dev="jahlborn" type="fix">
+        Fix parsing of NUMERIC type.
+      </action>
+      <action dev="javajedi" type="fix">
+        Applied Jon Iles' patch to allow large table definitions to be read.
+      </action>
+    </release>
+    <release version="1.1.2" date="2005-8-26">
+      <action dev="javajedi" type="fix" issue="1273712">
+        Fixed bug where writing null values into fixed-width columns was
+        failing.
+      </action>
+    </release>
+    <release version="1.1.1" date="2005-8-20">
+      <action dev="javajedi" type="fix" issue="1261536">
+        Fixed bug in reading index count from table definition.  Skip overflow
+        rows.
+      </action>
+    </release>
+    <release version="1.1" date="2005-8-12">
+      <action dev="javajedi" type="update">
+        JDK 1.5 upgrades
+      </action>
+      <action dev="javajedi" type="update">
+        Applied Mitchell Friedman's patch for support of additional JDBC data
+        types.
+      </action>
+      <action dev="javajedi" type="update">
+        Added support for deleted rows.
+      </action>
+    </release>
+    <release version="1.0" date="2005-4-7">
+      <action dev="javajedi" type="add">
+        Initial release
+      </action>
+    </release>
+  </body>
+</document>
index 8612e2c2476af931f1799e36ae4d85a5703a3538..899ba2de8f6d7a0971c337f44192fb279414ac06 100644 (file)
@@ -275,7 +275,7 @@ public class Column implements Comparable<Column> {
   /**
    * Checks that this column definition is valid.
    *
-   * @throw IllegalArgumentException if this column definition is invalid.
+   * @throws IllegalArgumentException if this column definition is invalid.
    */
   public void validate(JetFormat format) {
     if(_format != format) {
diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml
new file mode 100644 (file)
index 0000000..70c2b8c
--- /dev/null
@@ -0,0 +1,191 @@
+<?xml version="1.0"?>
+
+<faqs title="Frequently Asked Questions">
+
+  <part id="general">
+    <title>General</title>
+
+    <faq id="linux">
+      <question>Does this work on Linux/Unix?</question>
+      <answer>
+        <p>Yep, Jackcess is pure Java.  It will work on any
+          Java Virtual Machine (1.4+).</p>
+      </answer>
+    </faq>
+
+    <faq id="formats">
+      <question>What Access formats does it support?</question>
+      <answer>
+        <p>Jackcess currently supports <i>only</i> Access 2000
+          databases.  Access 2003 is not supported.</p>
+      </answer>
+    </faq>
+
+    <faq id="passwords">
+      <question>Are password protected databases supported?</question>
+      <answer>
+        <p>Basic password protection is merely software enforced, and Jackcess
+           does not do any password checking at this point.  So, a password
+           protected database can be used the same as any other.</p>
+      </answer>
+    </faq>
+
+    <faq id="mdbtools">
+      <question>
+        How is this different from
+        <a href="http://mdbtools.sf.net">mdbtools</a>?
+      </question>
+      <answer>
+        <p>
+          We want to give a lot of credit to mdbtools.  They have
+          been around much longer than Jackcess, and, along with
+          <a href="http://poi.apache.org/">POI</a>,
+          inspired us that a project like this could be done.
+          mdbtools is written in C.  There is a Java port of it,
+          but if you've ever read or used a Java port of a C
+          library, you can appreciate the difference between such
+          a library and one written from scratch in Java.
+        </p>
+        <p>
+          At the time of this writing, mdbtools could only read
+          Access databases.  Jackcess can also write to them.
+          According to their web site, "Write support is currently being
+          worked on and the first cut is expected to be included in the
+          0.6 release."  This status hasn't changed since we first
+          started work on Jackcess.
+        </p>
+        <p>
+          mdbtools supports Access 97 databases, which Jackcess does not.
+          The Java port of mdbtools also includes an implementation of
+          a small subset of the JDBC APIs.  Jackcess does not currently,
+          but a pure Java JDBC driver for Access could certainly be written
+          on top of Jackcess.
+        </p>
+      </answer>
+    </faq>
+
+    <faq id="poi">
+      <question>
+        This looks like a logical addition to
+        <a href="http://poi.apache.org/">POI</a>.  Why not integrate
+        with that project?
+      </question>
+      <answer>
+        <p>
+          POI is released under
+          <a href="http://www.apache.org/foundation/licence-FAQ.html">The Apache License</a>.
+          Jackcess is released under
+          <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">The GNU Lesser General Public License</a>.
+          The Apache license allows closed-source and/or commercial forks.
+          The LGPL does not.  If you change or enhance Jackcess, you must contribute
+          your changes back to the project.
+        </p>
+      </answer>
+    </faq>
+
+    <faq id="odbc">
+      <question>
+        I'm using the JDBC/ODBC bridge.  Why should I try Jackcess?
+      </question>
+      <answer>
+        <p>
+          <ul>
+            <li>
+              Portability - With Jackcess, your app has one less dependency on Windows.
+            </li>
+            <li>
+              Speed - We had an app that used the ODBC bridge to write data to an
+              Access database.  When we switched it over to use Jackcess, it was 5 times faster.
+            </li>
+            <li>
+              Stability - With large amounts of data, we found the ODBC brige to be
+              pretty unreliable.
+            </li>
+            <li>
+              Simplicity - With Jackcess, there is no ODBC configuration to set up.
+            </li>
+          </ul>
+        </p>
+      </answer>
+    </faq>
+
+    <faq id="jdk">
+      <question>What version of the JDK does this require?</question>
+      <answer>
+        <p>
+          Version 1.0 requires JDK 1.4 or higher.  The version in CVS HEAD and future releases
+          will require JDK 1.5 or higher.
+        </p>
+        <p>
+          However, some users have contributed patches to make later versions
+          compatible with JDK 1.4.  Please check the contributions/ directory
+          for any such patches.  Note that any code in this directory is
+          untested and unsupported, so please use at your own risk and do not
+          file bugs based on that code.
+        </p>
+      </answer>
+    </faq>
+
+    <faq id="dependencies">
+      <question>Why do I get a NoClassDefFoundError?</question>
+      <answer>
+        <p>
+          Probably because you're missing a jar that Jackcess depends on from your
+          classpath.  Take a look at the <a href="dependencies.html">dependencies list</a>.  The first 3 are required for both building and running
+          and can be found either at the <a href="http://commons.apache.org/">
+          Jakarta Commons</a> or the <a href="http://www.ibiblio.org/maven">Ibiblio
+          Maven Repository</a>.  The others are only required for building, in which
+          case, Maven will find them for you.
+        </p>
+      </answer>
+    </faq>
+
+    <faq id="speed">
+      <question>Why is jackcess so slow for large updates?</question>
+      <answer>
+        <p>
+          While there is much room for improvement in update speed, one factor
+          is whether or not all writes are automatically forced to disk.  By
+          default, "autoSync" is enabled, which keeps the database file in a
+          more consistent state, but can be very slow for large updates.
+          Disabling "autoSync" can dramatically increase update speed, but
+          exceptions during update can leave the file in an unusable state.
+          So, modifying this option essentially trades off speed for
+          recoverability.
+        </p>
+      </answer>
+    </faq>
+    
+    <faq id="hms">
+      <question>Who is Health Market Science?</question>
+      <answer>
+        <p>
+          HMS is a small company located in suburban Philadelphia.
+          Using proprietary matching and consolidation software,
+          HMS scientifically manufactures the most comprehensive
+          and accurate healthcare data sets in the market today.
+          <a href="http://www.healthmarketscience.com/company/careers.html">We're hiring!</a>
+          HMS is always looking for talented individuals.
+        </p>
+      </answer>
+    </faq>
+
+    <faq id="bugs">
+      <question>It doesn't work!</question>
+      <answer>
+        <p>
+          Ok, that wasn't a question, but we'll try to respond anyway. :)
+          Jackcess is young, and not that robust yet.  As you might imagine,
+          it's kind of hard to test, simply by its nature.  There are
+          bugs that we are aware of, and certainly many more that we are not.
+          If you find what looks like a bug, please
+          <a href="http://sf.net/tracker/?group_id=134943&amp;atid=731445">report it.</a>
+          Even better, fix it, and
+          <a href="http://sf.net/tracker/?group_id=134943&amp;atid=731447">submit a patch.</a>
+        </p>
+      </answer>
+    </faq>
+
+  </part>
+
+</faqs>
diff --git a/src/site/site.xml b/src/site/site.xml
new file mode 100644 (file)
index 0000000..4577efb
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<project name="Jackcess">
+  <bannerLeft>
+    <name>Health Market Science</name>
+    <src>http://www.healthmarketscience.com/images/HMS_logo.gif</src>
+    <href>http://www.healthmarketscience.com/</href>
+  </bannerLeft>
+  <body>
+    <menu name="Jackcess">
+      <item name="About" href="index.html"/>
+      <item name="OpenHMS" href="http://openhms.sourceforge.net/"/>
+      <item name="Downloads" href="http://sourceforge.net/project/showfiles.php?group_id=134943"/>
+      <item name="SourceForge Project" href="http://sourceforge.net/projects/jackcess/"/>
+    </menu>
+
+    <menu ref="reports"/>
+
+  </body>
+
+  <poweredBy>
+    <logo name="Works on Linux" img="http://openhms.sourceforge.net/images/worksonlinux.png"
+          href="http://www.linux.org"/>
+    <logo name="Hosted by SourceForge" img="http://sflogo.sourceforge.net/sflogo.php?group_id=185339&amp;type=1" href="http://sourceforge.net"/>
+    <logo name="Built by Maven" img="./images/logos/maven-feather.png"
+          href="http://maven.apache.org/"/>
+  </poweredBy>
+  
+</project>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
new file mode 100644 (file)
index 0000000..854ea23
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+
+<document>
+  <properties>
+    <author email="javajedi@users.sf.net">Tim McCune</author>
+    <title>Java Library for MS Access</title>
+  </properties>
+  <body>
+    <section name="Jackcess">
+      <p>
+        Jackcess is a pure Java library for reading from and writing to MS
+        Access databases.  It is part of the <a href="http://openhms.sourceforge.net/">OpenHMS</a> project from <a href="http://www.healthmarketscience.com/">Health Market Science, Inc.</a>.  It is not an application.  There is no GUI.  It's a
+        library, intended for other developers to use to build Java
+        applications.  Jackcess is licensed under the
+
+        <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">GNU Lesser General Public License</a>.
+        Take a look
+        at our <a href="faq.html">Frequently Asked Questions</a>
+        for more info.
+      </p>
+    </section>
+    <section name="Sample code">
+      <p>
+        <ul>
+          <li>Displaying the contents of a table:
+            <pre>System.out.println(Database.open(new File("my.mdb")).getTable("MyTable").display());</pre>
+          </li>
+          <li>Creating a new table and writing data into it:
+            <pre>Database db = Database.create(new File("new.mdb"));
+Column a = new Column();
+a.setName("a");
+a.setSQLType(Types.INTEGER);
+Column b = new Column();
+b.setName("b");
+b.setSQLType(Types.VARCHAR);
+db.createTable("NewTable", Arrays.asList(a, b));
+Table newTable = db.getTable("NewTable");
+newTable.addRow(new Object[] {1, "foo"});</pre>
+          </li>
+          <li>Copying the contents of a JDBC ResultSet (e.g. from an
+external database) into a new table:
+            <pre>Database.open(new File("my.mdb")).copyTable("Imported", resultSet);</pre>
+          </li>
+          <li>Copying the contents of a CSV file into a new table:
+            <pre>Database.open(new File("my.mdb")).importFile("Imported2", new File("my.csv"), ",");</pre>
+          </li>
+        </ul>
+      </p>
+    </section>
+  </body>
+</document>
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
deleted file mode 100644 (file)
index 4184d93..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<document>
-  <properties>
-    <title>Release notes</title>
-    <author email="javajedi@users.sf.net">Tim McCune</author>
-    <author email="jahlborn@users.sf.net">James Ahlborn</author>
-  </properties>
-  <body>
-    <release version="1.1.10" date="TBD">
-    </release>
-    <release version="1.1.9" date="2007-07-12">
-      <action dev="jahlborn" type="fix">
-        Add support for writing large table definitions, bug #1675522.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Fix handling of usage maps for large tables, bug #1748827.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Fixed some edge cases for reading numeric columns, bug #1672071.
-      </action>
-    </release>
-    <release version="1.1.8" date="2007-02-13">
-      <action dev="jahlborn" type="update">
-        Additional info in DataType to support better type validation
-        (scale/precision range).  Add "unit size" concept.
-      </action>
-      <action dev="jahlborn" type="update">
-        Add CLOB support in JDBC handling.  Add general support for large
-        types (BLOB/CLOB).
-      </action>
-      <action dev="jahlborn" type="update">
-        Enhance Database.copyTable/importReader to allow for better control
-        over column definitions and row values through the ImportFilter.
-        Change default type translation to handle large and variable length
-        types better.
-      </action>
-    </release>
-    <release version="1.1.7" date="2006-10-02">
-      <action dev="jahlborn" type="update">
-        Refactored DataType class, cleaned up a lot of "custom" data type code
-        springled throughout the codebase.
-      </action>
-      <action dev="jahlborn" type="update">
-        Added sanity checking on table creation (check column/table properties
-        for validity).
-      </action>
-      <action dev="jahlborn" type="update">
-        Clean up index reading/writing of text columns, add support for more
-        characters
-      </action>
-      <action dev="jahlborn" type="update">
-        Support reading 'compressed' indexes (fix 1563654)
-      </action>
-      <action dev="jahlborn" type="update">
-        Implement "overflow" row reading.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Allow multi-page long value reading.
-      </action>
-      <action dev="jahlborn" type="update">
-        Implement multi-page long value writing.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Fix decimal data type writing.
-      </action>
-      <action dev="jahlborn" type="update">
-        Add support for opening files read-only (fix 1545857)
-      </action>
-    </release>
-    <release version="1.1.6" date="2006-08-07">
-      <action dev="jahlborn" type="fix">
-        Handle more tables with more index slots than actual indexes (fix bug
-        1530312)
-      </action>
-      <action dev="jahlborn" type="fix">
-        Clean up reading/writing 3-byte ints; long value length is 3-bytes
-        (fix bug 1449812)
-      </action>
-      <action dev="jahlborn" type="fix">
-        Fix handling of skipped rows
-      </action>
-      <action dev="jahlborn" type="fix">
-        When reading multi-page table def, flip buffer before parsing (fix bug
-        1306970)
-      </action>
-      <action dev="jahlborn" type="update">
-        Treat table names as case insensitive; use stored table names when
-        instantiating tables
-      </action>
-      <action dev="jahlborn" type="update">
-        Make Database and Table Iterable
-      </action>
-      <action dev="jahlborn" type="fix">
-        Use uppercase names when adding text columns to indexes, which fixes
-        long standing problem with table names starting with lowercase
-        characters (and other situations where tables could not be opened in
-        Access).  Remove hack which forced every table name to have uppercase
-        first character.
-      </action>      
-      <action dev="jahlborn" type="update">
-        Clean up compressed text handling.
-      </action>
-      <action dev="jahlborn" type="update">
-        Implement reading multi-page long binary values
-      </action>
-    </release>
-    <release version="1.1.5" date="2006-07-25">
-      <action dev="jahlborn" type="update">
-        Add support for currency columns (thanks to James Schopp).
-      </action>
-      <action dev="jahlborn" type="fix">
-        Handle tables with no variable length columns correctly.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Handle reading with deleted columns.
-      </action>
-      <action dev="jahlborn" type="update">
-        Read information on primary keys and include in Index.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Fix some issues around reading indexes.
-      </action>
-      <action dev="jahlborn" type="update">
-        Add write support for numeric/GUID columns.
-      </action>
-      <action dev="javajedi" type="update">
-        Added getRowCount(), getName(), updated toString() on Table.
-      </action>
-    </release>
-    <release version="1.1.4" date="2006-6-15">
-      <action dev="jahlborn" type="fix">
-        Missing break in switch condition.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Fixes
-        to reading/writing MEMO/OLE columns.
-      </action>
-      <action dev="jahlborn" type="update">
-        Made exceptions thrown when opening empty or nonexistent files more
-        specific.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Apply patch from Jon Iles for handilng variable length columns.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Apply patch from Jon Iles for handling dates.
-      </action>
-      <action dev="jahlborn" type="fix">
-        Apply patch from Jon Iles for reading GUIDs.
-      </action>
-    </release>
-    <release version="1.1.3" date="2006-2-16">
-      <action dev="jahlborn" type="fix">
-        Fix parsing of NUMERIC type.
-      </action>
-      <action dev="javajedi" type="fix">
-        Applied Jon Iles' patch to allow large table definitions to be read.
-      </action>
-    </release>
-    <release version="1.1.2" date="2005-8-26">
-      <action dev="javajedi" type="fix" issue="1273712">
-        Fixed bug where writing null values into fixed-width columns was
-        failing.
-      </action>
-    </release>
-    <release version="1.1.1" date="2005-8-20">
-      <action dev="javajedi" type="fix" issue="1261536">
-        Fixed bug in reading index count from table definition.  Skip overflow
-        rows.
-      </action>
-    </release>
-    <release version="1.1" date="2005-8-12">
-      <action dev="javajedi" type="update">
-        JDK 1.5 upgrades
-      </action>
-      <action dev="javajedi" type="update">
-        Applied Mitchell Friedman's patch for support of additional JDBC data
-        types.
-      </action>
-      <action dev="javajedi" type="update">
-        Added support for deleted rows.
-      </action>
-    </release>
-    <release version="1.0" date="2005-4-7">
-      <action dev="javajedi" type="add">
-        Initial release
-      </action>
-    </release>
-  </body>
-</document>
diff --git a/xdocs/faq.fml b/xdocs/faq.fml
deleted file mode 100644 (file)
index 025f024..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0"?>
-
-<faqs title="Frequently Asked Questions">
-
-  <part id="general">
-    <title>General</title>
-
-    <faq id="linux">
-      <question>Does this work on Linux/Unix?</question>
-      <answer>
-        <p>Yep, Jackcess is pure Java.  It will work on any
-          Java Virtual Machine (1.4+).</p>
-      </answer>
-    </faq>
-
-    <faq id="formats">
-      <question>What Access formats does it support?</question>
-      <answer>
-        <p>Jackcess currently supports <i>only</i> Access 2000
-          databases.  Access 2003 is not supported.</p>
-      </answer>
-    </faq>
-
-    <faq id="passwords">
-      <question>Are password protected databases supported?</question>
-      <answer>
-        <p>Basic password protection is merely software enforced, and Jackcess
-           does not do any password checking at this point.  So, a password
-           protected database can be used the same as any other.</p>
-      </answer>
-    </faq>
-
-    <faq id="mdbtools">
-      <question>
-        How is this different from
-        <a href="http://mdbtools.sf.net">mdbtools</a>?
-      </question>
-      <answer>
-        <p>
-          We want to give a lot of credit to mdbtools.  They have
-          been around much longer than Jackcess, and, along with
-          <a href="http://jakarta.apache.org/poi">POI</a>,
-          inspired us that a project like this could be done.
-          mdbtools is written in C.  There is a Java port of it,
-          but if you've ever read or used a Java port of a C
-          library, you can appreciate the difference between such
-          a library and one written from scratch in Java.
-        </p>
-        <p>
-          At the time of this writing, mdbtools could only read
-          Access databases.  Jackcess can also write to them.
-          According to their web site, "Write support is currently being
-          worked on and the first cut is expected to be included in the
-          0.6 release."  This status hasn't changed since we first
-          started work on Jackcess.
-        </p>
-        <p>
-          mdbtools supports Access 97 databases, which Jackcess does not.
-          The Java port of mdbtools also includes an implementation of
-          a small subset of the JDBC APIs.  Jackcess does not currently,
-          but a pure Java JDBC driver for Access could certainly be written
-          on top of Jackcess.
-        </p>
-      </answer>
-    </faq>
-
-    <faq id="poi">
-      <question>
-        This looks like a logical addition to
-        <a href="http://jakarta.apache.org/poi">POI</a>.  Why not integrate
-        with that project?
-      </question>
-      <answer>
-        <p>
-          POI is released under
-          <a href="http://www.apache.org/foundation/licence-FAQ.html">The Apache License</a>.
-          Jackcess is released under
-          <a href="http://www.gnu.org/copyleft/lesser.html">The GNU Lesser General Public License</a>.
-          The Apache license allows closed-source and/or commercial forks.
-          The LGPL does not.  If you change or enhance Jackcess, you must contribute
-          your changes back to the project.
-        </p>
-      </answer>
-    </faq>
-
-    <faq id="odbc">
-      <question>
-        I'm using the JDBC/ODBC bridge.  Why should I try Jackcess?
-      </question>
-      <answer>
-        <p>
-          <ul>
-            <li>
-              Portability - With Jackcess, your app has one less dependency on Windows.
-            </li>
-            <li>
-              Speed - We had an app that used the ODBC bridge to write data to an
-              Access database.  When we switched it over to use Jackcess, it was 5 times faster.
-            </li>
-            <li>
-              Stability - With large amounts of data, we found the ODBC brige to be
-              pretty unreliable.
-            </li>
-            <li>
-              Simplicity - With Jackcess, there is no ODBC configuration to set up.
-            </li>
-          </ul>
-        </p>
-      </answer>
-    </faq>
-
-    <faq id="jdk">
-      <question>What version of the JDK does this require?</question>
-      <answer>
-        <p>
-          Version 1.0 requires JDK 1.4 or higher.  The version in CVS HEAD and future releases
-          will require JDK 1.5 or higher.
-        </p>
-        <p>
-          However, some users have contributed patches to make later versions
-          compatible with JDK 1.4.  Please check the contributions/ directory
-          for any such patches.  Note that any code in this directory is
-          untested and unsupported, so please use at your own risk and do not
-          file bugs based on that code.
-        </p>
-      </answer>
-    </faq>
-
-    <faq id="dependencies">
-      <question>Why do I get a NoClassDefFoundError?</question>
-      <answer>
-        <p>
-          Probably because you're missing a jar that Jackcess depends on from your
-          classpath.  Take a loook at the <a href="http://jackcess.sourceforge.net/dependencies.html">dependencies list</a>.  The first 3 are required for both building and running
-          and can be found either at the <a href="http://jakarta.apache.org/commons/">
-          Jakarta Commons</a> or the <a href="http://www.ibiblio.org/maven">Ibiblio
-          Maven Repository</a>.  The other 3 are only required for building, in which
-          case, Maven will find them for you.
-        </p>
-      </answer>
-    </faq>
-
-    <faq id="speed">
-      <question>Why is jackcess so slow for large updates?</question>
-      <answer>
-        <p>
-          While there is much room for improvement in update speed, one factor
-          is whether or not all writes are automatically forced to disk.  By
-          default, "autoSync" is enabled, which keeps the database file in a
-          more consistent state, but can be very slow for large updates.
-          Disabling "autoSync" can dramatically increase update speed, but
-          exceptions during update can leave the file in an unusable state.
-          So, modifying this option essentially trades off speed for
-          recoverability.
-        </p>
-      </answer>
-    </faq>
-    
-    <faq id="hms">
-      <question>Who is Health Market Science?</question>
-      <answer>
-        <p>
-          HMS is a small company located in suburban Philadelphia.
-          Using proprietary matching and consolidation software,
-          HMS scientifically manufactures the most comprehensive
-          and accurate healthcare data sets in the market today.
-          <a href="http://www.healthmarketscience.com/company/careers.html">We're hiring!</a>
-          HMS is always looking for talented individuals.
-        </p>
-      </answer>
-    </faq>
-
-    <faq id="bugs">
-      <question>It doesn't work!</question>
-      <answer>
-        <p>
-          Ok, that wasn't a question, but we'll try to respond anyway. :)
-          Jackcess is young, and not that robust yet.  As you might imagine,
-          it's kind of hard to test, simply by its nature.  There are
-          bugs that we are aware of, and certainly many more that we are not.
-          If you find what looks like a bug, please
-          <a href="http://sf.net/tracker/?group_id=134943&amp;atid=731445">report it.</a>
-          Even better, fix it, and
-          <a href="http://sf.net/tracker/?group_id=134943&amp;atid=731447">submit a patch.</a>
-        </p>
-      </answer>
-    </faq>
-
-  </part>
-
-</faqs>
diff --git a/xdocs/index.xml b/xdocs/index.xml
deleted file mode 100644 (file)
index a9b0a5a..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-
-<document>
-  <properties>
-    <author email="javajedi@users.sf.net">Tim McCune</author>
-    <title>Java Library for MS Access</title>
-  </properties>
-  <body>
-    <section name="Jackcess">
-      <p>
-        Jackcess is a pure Java library for reading from and writing to MS
-        Access databases.  It is part of the <a href="http://openhms.sourceforge.net/">OpenHMS</a> project from <a href="http://www.healthmarketscience.com/">Health Market Science, Inc.</a>.  It is not an application.  There is no GUI.  It's a
-        library, intended for other developers to use to build Java
-        applications.  Jackcess is licensed under the
-
-        <a href="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General Public License</a>.
-        Take a look
-        at our <a href="faq.html">Frequently Asked Questions</a>
-        for more info.
-      </p>
-    </section>
-    <section name="Sample code">
-      <p>
-        <ul>
-          <li>Displaying the contents of a table:
-            <pre>System.out.println(Database.open(new File("my.mdb")).getTable("MyTable").display());</pre>
-          </li>
-          <li>Creating a new table and writing data into it:
-            <pre>Database db = Database.create(new File("new.mdb"));
-Column a = new Column();
-a.setName("a");
-a.setSQLType(Types.INTEGER);
-Column b = new Column();
-b.setName("b");
-b.setSQLType(Types.VARCHAR);
-db.createTable("NewTable", Arrays.asList(a, b));
-Table newTable = db.getTable("NewTable");
-newTable.addRow(new Object[] {1, "foo"});</pre>
-          </li>
-          <li>Copying the contents of a JDBC ResultSet (e.g. from an
-external database) into a new table:
-            <pre>Database.open(new File("my.mdb")).copyTable("Imported", resultSet);</pre>
-          </li>
-          <li>Copying the contents of a CSV file into a new table:
-            <pre>Database.open(new File("my.mdb")).importFile("Imported2", new File("my.csv"), ",");</pre>
-          </li>
-        </ul>
-      </p>
-    </section>
-  </body>
-</document>
diff --git a/xdocs/navigation.xml b/xdocs/navigation.xml
deleted file mode 100644 (file)
index 022715c..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Jackcess">
-  <title>Jackcess</title>
-  <body>
-    <menu name="Jackcess">
-      <item name="OpenHMS" href="http://openhms.sourceforge.net/"/>
-      <item name="Downloads" href="http://sourceforge.net/project/showfiles.php?group_id=134943"/>
-      <item name="SourceForge Project" href="http://sourceforge.net/projects/jackcess/"/>
-    </menu>
-    <menu type="footer">
-      <item name="Works on Linux" img="worksonlinux.png" href="http://www.linux.org"/>
-      <item name="Hosted by SourceForge" img="http://sflogo.sourceforge.net/sflogo.php?group_id=134943&amp;type=1" href="http://sourceforge.net"/>
-    </menu>
-  </body>
-</project>
diff --git a/xdocs/worksonlinux.png b/xdocs/worksonlinux.png
deleted file mode 100644 (file)
index 846501c..0000000
Binary files a/xdocs/worksonlinux.png and /dev/null differ