diff --git a/.classpath b/.classpath
index f5f1917..c0f04f2 100644
--- a/.classpath
+++ b/.classpath
@@ -1,19 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src/java"/>
-	<classpathentry kind="src" output="target/test" path="src/test"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.4.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/dom4j-1.4.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-collections-3.1.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.2.1.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-digester-1.7.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.7.0.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-lang-2.1.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/commons-codec-1.3.jar"/>
-	<classpathentry kind="lib" path="lib/build-only/ant-1.6.5.jar"/>
-	<classpathentry kind="lib" path="lib/build-only/junit-3.8.2.jar"/>
-	<classpathentry kind="lib" path="lib/stax-api-1.0.1.jar"/>
-	<classpathentry kind="lib" path="lib/log4j-1.2.8.jar"/>
+	<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test"/>
+	<classpathentry including="**/*.java" kind="src" path="src/java"/>
+	<classpathentry kind="con" path="org.devzuz.q.maven.jdt.core.mavenClasspathContainer"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/.project b/.project
index 2a47123..9dd06ac 100644
--- a/.project
+++ b/.project
@@ -1,36 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
- 
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
 <projectDescription>
-  <name>DdlUtils</name>
-  <comment>
+	<name>DdlUtils</name>
+	<comment>
   </comment>
-  <projects>
-  </projects>
-  <buildSpec>
-    <buildCommand>
-      <name>org.eclipse.jdt.core.javabuilder</name>
-      <arguments>
-      </arguments>
-    </buildCommand>
-  </buildSpec>
-  <natures>
-    <nature>org.eclipse.jdt.core.javanature</nature>
-  </natures>
-</projectDescription>
\ No newline at end of file
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.devzuz.q.maven.jdt.core.mavenIncrementalBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.devzuz.q.maven.jdt.core.mavenNature</nature>
+	</natures>
+</projectDescription>
diff --git a/pom.xml b/pom.xml
index 771a929..32c683c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
   <groupId>org.apache.ddlutils</groupId>
   <artifactId>ddlutils</artifactId>
   <packaging>jar</packaging>
-  <version>1.0</version>
+  <version>1.1</version>
   <name>Apache DdlUtils</name>
   <description>
     DdlUtils is a small, easy-to-use component for working with Database Definition (DDL) files.
@@ -118,11 +118,6 @@
       <version>1.7.0</version>
     </dependency>
     <dependency>
-      <groupId>commons-betwixt</groupId>
-      <artifactId>commons-betwixt</artifactId>
-      <version>0.8</version>
-    </dependency>
-    <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
       <version>1.3</version>
@@ -185,18 +180,13 @@
       <version>1.0.1</version>
     </dependency>
     <dependency>
-      <groupId>oro</groupId>
-      <artifactId>oro</artifactId>
-      <version>2.0.8</version>
-    </dependency>
-    <dependency>
       <groupId>woodstox</groupId>
       <artifactId>wstx-asl</artifactId>
       <version>3.0.2</version>
       <scope>runtime</scope>
       <optional>true</optional>
     </dependency>
-
+<!-- 
     <dependency>
       <groupId>axion</groupId>
       <artifactId>axion</artifactId>
@@ -233,13 +223,10 @@
       <version>8.1-404.jdbc3</version>
       <scope>test</scope>
     </dependency>
+ -->
     <!-- NB: No public driver for DB2, interbase, sapdb, oracle, sqlserver -->
   </dependencies>
 
-  <properties>
-    <jdbc.properties.file>/jdbc.properties.hsqldb</jdbc.properties.file>
-  </properties>
-
   <build>
     <sourceDirectory>src/java</sourceDirectory>
     <resources>
@@ -248,6 +235,7 @@
         <includes>
           <include>**.dtd</include>
           <include>**.xml</include>
+          <include>**.xsd</include>
         </includes>
       </resource>
     </resources>
@@ -260,21 +248,40 @@
         </includes>
       </testResource>
     </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <!-- TODO Need user configuration and review all tests for all platforms -->
-          <skip>true</skip>
-          <systemProperties>
-            <property>
-              <name>jdbc.properties.file</name>
-              <value>${jdbc.properties.file}</value>
-            </property>
-          </systemProperties>
-        </configuration>
-      </plugin>
-    </plugins>
   </build>
+
+  <profiles>
+    <profile>
+      <activation>
+        <property>
+          <name>testDb</name>
+          <value>hsqldb</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>hsqldb</groupId>
+          <artifactId>hsqldb</artifactId>
+          <version>1.8.0.4</version>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+	  <build>
+	    <plugins>
+	      <plugin>
+	        <groupId>org.apache.maven.plugins</groupId>
+	        <artifactId>maven-surefire-plugin</artifactId>
+	        <configuration>
+	          <systemProperties>
+	            <property>
+	              <name>jdbc.properties.file</name>
+	              <value>/jdbc.properties.hsqldb</value>
+	            </property>
+	          </systemProperties>
+	        </configuration>
+	      </plugin>
+	    </plugins>
+	  </build>
+    </profile>
+  </profiles>
 </project>
diff --git a/src/antdoc/styles.css b/src/main/antdoc/styles.css
similarity index 100%
rename from src/antdoc/styles.css
rename to src/main/antdoc/styles.css
diff --git a/src/antdoc/templates/html/index.html b/src/main/antdoc/templates/html/index.html
similarity index 100%
rename from src/antdoc/templates/html/index.html
rename to src/main/antdoc/templates/html/index.html
diff --git a/src/antdoc/templates/html/libindex.vm b/src/main/antdoc/templates/html/libindex.vm
similarity index 100%
rename from src/antdoc/templates/html/libindex.vm
rename to src/main/antdoc/templates/html/libindex.vm
diff --git a/src/antdoc/templates/html/main.vm b/src/main/antdoc/templates/html/main.vm
similarity index 100%
rename from src/antdoc/templates/html/main.vm
rename to src/main/antdoc/templates/html/main.vm
diff --git a/src/antdoc/templates/html/overview.vm b/src/main/antdoc/templates/html/overview.vm
similarity index 100%
rename from src/antdoc/templates/html/overview.vm
rename to src/main/antdoc/templates/html/overview.vm
diff --git a/src/antdoc/templates/html/task.vm b/src/main/antdoc/templates/html/task.vm
similarity index 100%
rename from src/antdoc/templates/html/task.vm
rename to src/main/antdoc/templates/html/task.vm
diff --git a/src/antdoc/templates/html/taskindex.vm b/src/main/antdoc/templates/html/taskindex.vm
similarity index 100%
rename from src/antdoc/templates/html/taskindex.vm
rename to src/main/antdoc/templates/html/taskindex.vm
diff --git a/src/check/ddlutils-checks.xml b/src/main/checkstyle/ddlutils-checks.xml
similarity index 100%
rename from src/check/ddlutils-checks.xml
rename to src/main/checkstyle/ddlutils-checks.xml
diff --git a/src/check/license-check.txt b/src/main/checkstyle/license-check.txt
similarity index 100%
rename from src/check/license-check.txt
rename to src/main/checkstyle/license-check.txt
diff --git a/src/doc/forrest.properties b/src/main/doc/forrest.properties
similarity index 100%
rename from src/doc/forrest.properties
rename to src/main/doc/forrest.properties
diff --git a/src/doc/model.jude b/src/main/doc/model.jude
similarity index 100%
rename from src/doc/model.jude
rename to src/main/doc/model.jude
Binary files differ
diff --git a/src/doc/src/documentation/classes/CatalogManager.properties b/src/main/doc/src/documentation/classes/CatalogManager.properties
similarity index 100%
rename from src/doc/src/documentation/classes/CatalogManager.properties
rename to src/main/doc/src/documentation/classes/CatalogManager.properties
diff --git a/src/doc/src/documentation/content/xdocs/ant-tasks.xml b/src/main/doc/src/documentation/content/xdocs/ant-tasks.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/ant-tasks.xml
rename to src/main/doc/src/documentation/content/xdocs/ant-tasks.xml
diff --git a/src/doc/src/documentation/content/xdocs/api-usage.xml b/src/main/doc/src/documentation/content/xdocs/api-usage.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/api-usage.xml
rename to src/main/doc/src/documentation/content/xdocs/api-usage.xml
diff --git a/src/doc/src/documentation/content/xdocs/database-support.xml b/src/main/doc/src/documentation/content/xdocs/database-support.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/database-support.xml
rename to src/main/doc/src/documentation/content/xdocs/database-support.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/axion.xml b/src/main/doc/src/documentation/content/xdocs/databases/axion.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/axion.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/axion.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/db2.xml b/src/main/doc/src/documentation/content/xdocs/databases/db2.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/db2.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/db2.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/derby.xml b/src/main/doc/src/documentation/content/xdocs/databases/derby.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/derby.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/derby.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/firebird.xml b/src/main/doc/src/documentation/content/xdocs/databases/firebird.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/firebird.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/firebird.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/hsqldb.xml b/src/main/doc/src/documentation/content/xdocs/databases/hsqldb.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/hsqldb.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/hsqldb.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/interbase.xml b/src/main/doc/src/documentation/content/xdocs/databases/interbase.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/interbase.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/interbase.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/maxdb.xml b/src/main/doc/src/documentation/content/xdocs/databases/maxdb.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/maxdb.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/maxdb.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/mckoi.xml b/src/main/doc/src/documentation/content/xdocs/databases/mckoi.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/mckoi.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/mckoi.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/mysql.xml b/src/main/doc/src/documentation/content/xdocs/databases/mysql.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/mysql.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/mysql.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/oracle.xml b/src/main/doc/src/documentation/content/xdocs/databases/oracle.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/oracle.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/oracle.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/postgresql.xml b/src/main/doc/src/documentation/content/xdocs/databases/postgresql.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/postgresql.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/postgresql.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/sqlserver.xml b/src/main/doc/src/documentation/content/xdocs/databases/sqlserver.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/sqlserver.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/sqlserver.xml
diff --git a/src/doc/src/documentation/content/xdocs/databases/sybase.xml b/src/main/doc/src/documentation/content/xdocs/databases/sybase.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/databases/sybase.xml
rename to src/main/doc/src/documentation/content/xdocs/databases/sybase.xml
diff --git a/src/doc/src/documentation/content/xdocs/documentation.xml b/src/main/doc/src/documentation/content/xdocs/documentation.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/documentation.xml
rename to src/main/doc/src/documentation/content/xdocs/documentation.xml
diff --git a/src/doc/src/documentation/content/xdocs/download.xml b/src/main/doc/src/documentation/content/xdocs/download.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/download.xml
rename to src/main/doc/src/documentation/content/xdocs/download.xml
diff --git a/src/doc/src/documentation/content/xdocs/images/ant.gif b/src/main/doc/src/documentation/content/xdocs/images/ant.gif
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/ant.gif
rename to src/main/doc/src/documentation/content/xdocs/images/ant.gif
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/images/db-logo.png b/src/main/doc/src/documentation/content/xdocs/images/db-logo.png
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/db-logo.png
rename to src/main/doc/src/documentation/content/xdocs/images/db-logo.png
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/images/forrest-logo.png b/src/main/doc/src/documentation/content/xdocs/images/forrest-logo.png
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/forrest-logo.png
rename to src/main/doc/src/documentation/content/xdocs/images/forrest-logo.png
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/images/junit.gif b/src/main/doc/src/documentation/content/xdocs/images/junit.gif
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/junit.gif
rename to src/main/doc/src/documentation/content/xdocs/images/junit.gif
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/images/model.png b/src/main/doc/src/documentation/content/xdocs/images/model.png
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/model.png
rename to src/main/doc/src/documentation/content/xdocs/images/model.png
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-dlg.png b/src/main/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-dlg.png
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-dlg.png
rename to src/main/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-dlg.png
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-finished.png b/src/main/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-finished.png
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-finished.png
rename to src/main/doc/src/documentation/content/xdocs/images/tortoisesvn-checkout-finished.png
Binary files differ
diff --git a/src/doc/src/documentation/content/xdocs/index.xml b/src/main/doc/src/documentation/content/xdocs/index.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/index.xml
rename to src/main/doc/src/documentation/content/xdocs/index.xml
diff --git a/src/doc/src/documentation/content/xdocs/mail-lists.xml b/src/main/doc/src/documentation/content/xdocs/mail-lists.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/mail-lists.xml
rename to src/main/doc/src/documentation/content/xdocs/mail-lists.xml
diff --git a/src/doc/src/documentation/content/xdocs/schema.xml b/src/main/doc/src/documentation/content/xdocs/schema.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/schema.xml
rename to src/main/doc/src/documentation/content/xdocs/schema.xml
diff --git a/src/doc/src/documentation/content/xdocs/site.xml b/src/main/doc/src/documentation/content/xdocs/site.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/site.xml
rename to src/main/doc/src/documentation/content/xdocs/site.xml
diff --git a/src/doc/src/documentation/content/xdocs/svn-info.xml b/src/main/doc/src/documentation/content/xdocs/svn-info.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/svn-info.xml
rename to src/main/doc/src/documentation/content/xdocs/svn-info.xml
diff --git a/src/doc/src/documentation/content/xdocs/tabs.xml b/src/main/doc/src/documentation/content/xdocs/tabs.xml
similarity index 100%
rename from src/doc/src/documentation/content/xdocs/tabs.xml
rename to src/main/doc/src/documentation/content/xdocs/tabs.xml
diff --git a/src/doc/src/documentation/sitemap.xmap b/src/main/doc/src/documentation/sitemap.xmap
similarity index 100%
rename from src/doc/src/documentation/sitemap.xmap
rename to src/main/doc/src/documentation/sitemap.xmap
diff --git a/src/doc/src/documentation/skinconf.xml b/src/main/doc/src/documentation/skinconf.xml
similarity index 100%
rename from src/doc/src/documentation/skinconf.xml
rename to src/main/doc/src/documentation/skinconf.xml
diff --git a/src/java/org/apache/ddlutils/DatabaseOperationException.java b/src/main/java/org/apache/ddlutils/DatabaseOperationException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/DatabaseOperationException.java
rename to src/main/java/org/apache/ddlutils/DatabaseOperationException.java
diff --git a/src/java/org/apache/ddlutils/DdlUtilsException.java b/src/main/java/org/apache/ddlutils/DdlUtilsException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/DdlUtilsException.java
rename to src/main/java/org/apache/ddlutils/DdlUtilsException.java
diff --git a/src/java/org/apache/ddlutils/Platform.java b/src/main/java/org/apache/ddlutils/Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/Platform.java
rename to src/main/java/org/apache/ddlutils/Platform.java
diff --git a/src/java/org/apache/ddlutils/PlatformFactory.java b/src/main/java/org/apache/ddlutils/PlatformFactory.java
similarity index 100%
rename from src/java/org/apache/ddlutils/PlatformFactory.java
rename to src/main/java/org/apache/ddlutils/PlatformFactory.java
diff --git a/src/java/org/apache/ddlutils/PlatformInfo.java b/src/main/java/org/apache/ddlutils/PlatformInfo.java
similarity index 100%
rename from src/java/org/apache/ddlutils/PlatformInfo.java
rename to src/main/java/org/apache/ddlutils/PlatformInfo.java
diff --git a/src/java/org/apache/ddlutils/PlatformUtils.java b/src/main/java/org/apache/ddlutils/PlatformUtils.java
similarity index 100%
rename from src/java/org/apache/ddlutils/PlatformUtils.java
rename to src/main/java/org/apache/ddlutils/PlatformUtils.java
diff --git a/src/java/org/apache/ddlutils/alteration/AddColumnChange.java b/src/main/java/org/apache/ddlutils/alteration/AddColumnChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/AddColumnChange.java
rename to src/main/java/org/apache/ddlutils/alteration/AddColumnChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/AddForeignKeyChange.java b/src/main/java/org/apache/ddlutils/alteration/AddForeignKeyChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/AddForeignKeyChange.java
rename to src/main/java/org/apache/ddlutils/alteration/AddForeignKeyChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/AddIndexChange.java b/src/main/java/org/apache/ddlutils/alteration/AddIndexChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/AddIndexChange.java
rename to src/main/java/org/apache/ddlutils/alteration/AddIndexChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/AddPrimaryKeyChange.java b/src/main/java/org/apache/ddlutils/alteration/AddPrimaryKeyChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/AddPrimaryKeyChange.java
rename to src/main/java/org/apache/ddlutils/alteration/AddPrimaryKeyChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/AddTableChange.java b/src/main/java/org/apache/ddlutils/alteration/AddTableChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/AddTableChange.java
rename to src/main/java/org/apache/ddlutils/alteration/AddTableChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/ColumnChange.java b/src/main/java/org/apache/ddlutils/alteration/ColumnChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ColumnChange.java
rename to src/main/java/org/apache/ddlutils/alteration/ColumnChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/ColumnChangeImplBase.java b/src/main/java/org/apache/ddlutils/alteration/ColumnChangeImplBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ColumnChangeImplBase.java
rename to src/main/java/org/apache/ddlutils/alteration/ColumnChangeImplBase.java
diff --git a/src/java/org/apache/ddlutils/alteration/ColumnDefinitionChange.java b/src/main/java/org/apache/ddlutils/alteration/ColumnDefinitionChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ColumnDefinitionChange.java
rename to src/main/java/org/apache/ddlutils/alteration/ColumnDefinitionChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/ColumnOrderChange.java b/src/main/java/org/apache/ddlutils/alteration/ColumnOrderChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ColumnOrderChange.java
rename to src/main/java/org/apache/ddlutils/alteration/ColumnOrderChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/ForeignKeyChange.java b/src/main/java/org/apache/ddlutils/alteration/ForeignKeyChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ForeignKeyChange.java
rename to src/main/java/org/apache/ddlutils/alteration/ForeignKeyChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/ForeignKeyChangeImplBase.java b/src/main/java/org/apache/ddlutils/alteration/ForeignKeyChangeImplBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ForeignKeyChangeImplBase.java
rename to src/main/java/org/apache/ddlutils/alteration/ForeignKeyChangeImplBase.java
diff --git a/src/java/org/apache/ddlutils/alteration/IndexChange.java b/src/main/java/org/apache/ddlutils/alteration/IndexChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/IndexChange.java
rename to src/main/java/org/apache/ddlutils/alteration/IndexChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/IndexChangeImplBase.java b/src/main/java/org/apache/ddlutils/alteration/IndexChangeImplBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/IndexChangeImplBase.java
rename to src/main/java/org/apache/ddlutils/alteration/IndexChangeImplBase.java
diff --git a/src/java/org/apache/ddlutils/alteration/ModelChange.java b/src/main/java/org/apache/ddlutils/alteration/ModelChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ModelChange.java
rename to src/main/java/org/apache/ddlutils/alteration/ModelChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/ModelComparator.java b/src/main/java/org/apache/ddlutils/alteration/ModelComparator.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/ModelComparator.java
rename to src/main/java/org/apache/ddlutils/alteration/ModelComparator.java
diff --git a/src/java/org/apache/ddlutils/alteration/Pair.java b/src/main/java/org/apache/ddlutils/alteration/Pair.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/Pair.java
rename to src/main/java/org/apache/ddlutils/alteration/Pair.java
diff --git a/src/java/org/apache/ddlutils/alteration/PrimaryKeyChange.java b/src/main/java/org/apache/ddlutils/alteration/PrimaryKeyChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/PrimaryKeyChange.java
rename to src/main/java/org/apache/ddlutils/alteration/PrimaryKeyChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/RecreateTableChange.java b/src/main/java/org/apache/ddlutils/alteration/RecreateTableChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/RecreateTableChange.java
rename to src/main/java/org/apache/ddlutils/alteration/RecreateTableChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/RemoveColumnChange.java b/src/main/java/org/apache/ddlutils/alteration/RemoveColumnChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/RemoveColumnChange.java
rename to src/main/java/org/apache/ddlutils/alteration/RemoveColumnChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/RemoveForeignKeyChange.java b/src/main/java/org/apache/ddlutils/alteration/RemoveForeignKeyChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/RemoveForeignKeyChange.java
rename to src/main/java/org/apache/ddlutils/alteration/RemoveForeignKeyChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/RemoveIndexChange.java b/src/main/java/org/apache/ddlutils/alteration/RemoveIndexChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/RemoveIndexChange.java
rename to src/main/java/org/apache/ddlutils/alteration/RemoveIndexChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/RemovePrimaryKeyChange.java b/src/main/java/org/apache/ddlutils/alteration/RemovePrimaryKeyChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/RemovePrimaryKeyChange.java
rename to src/main/java/org/apache/ddlutils/alteration/RemovePrimaryKeyChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/RemoveTableChange.java b/src/main/java/org/apache/ddlutils/alteration/RemoveTableChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/RemoveTableChange.java
rename to src/main/java/org/apache/ddlutils/alteration/RemoveTableChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/TableChange.java b/src/main/java/org/apache/ddlutils/alteration/TableChange.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/TableChange.java
rename to src/main/java/org/apache/ddlutils/alteration/TableChange.java
diff --git a/src/java/org/apache/ddlutils/alteration/TableChangeImplBase.java b/src/main/java/org/apache/ddlutils/alteration/TableChangeImplBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/TableChangeImplBase.java
rename to src/main/java/org/apache/ddlutils/alteration/TableChangeImplBase.java
diff --git a/src/java/org/apache/ddlutils/alteration/TableDefinitionChangesPredicate.java b/src/main/java/org/apache/ddlutils/alteration/TableDefinitionChangesPredicate.java
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/TableDefinitionChangesPredicate.java
rename to src/main/java/org/apache/ddlutils/alteration/TableDefinitionChangesPredicate.java
diff --git a/src/java/org/apache/ddlutils/alteration/package.html b/src/main/java/org/apache/ddlutils/alteration/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/alteration/package.html
rename to src/main/java/org/apache/ddlutils/alteration/package.html
diff --git a/src/java/org/apache/ddlutils/dynabean/DynaClassCache.java b/src/main/java/org/apache/ddlutils/dynabean/DynaClassCache.java
similarity index 100%
rename from src/java/org/apache/ddlutils/dynabean/DynaClassCache.java
rename to src/main/java/org/apache/ddlutils/dynabean/DynaClassCache.java
diff --git a/src/java/org/apache/ddlutils/dynabean/SqlDynaBean.java b/src/main/java/org/apache/ddlutils/dynabean/SqlDynaBean.java
similarity index 100%
rename from src/java/org/apache/ddlutils/dynabean/SqlDynaBean.java
rename to src/main/java/org/apache/ddlutils/dynabean/SqlDynaBean.java
diff --git a/src/java/org/apache/ddlutils/dynabean/SqlDynaClass.java b/src/main/java/org/apache/ddlutils/dynabean/SqlDynaClass.java
similarity index 100%
rename from src/java/org/apache/ddlutils/dynabean/SqlDynaClass.java
rename to src/main/java/org/apache/ddlutils/dynabean/SqlDynaClass.java
diff --git a/src/java/org/apache/ddlutils/dynabean/SqlDynaException.java b/src/main/java/org/apache/ddlutils/dynabean/SqlDynaException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/dynabean/SqlDynaException.java
rename to src/main/java/org/apache/ddlutils/dynabean/SqlDynaException.java
diff --git a/src/java/org/apache/ddlutils/dynabean/SqlDynaProperty.java b/src/main/java/org/apache/ddlutils/dynabean/SqlDynaProperty.java
similarity index 100%
rename from src/java/org/apache/ddlutils/dynabean/SqlDynaProperty.java
rename to src/main/java/org/apache/ddlutils/dynabean/SqlDynaProperty.java
diff --git a/src/java/org/apache/ddlutils/dynabean/package.html b/src/main/java/org/apache/ddlutils/dynabean/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/dynabean/package.html
rename to src/main/java/org/apache/ddlutils/dynabean/package.html
diff --git a/src/java/org/apache/ddlutils/io/BinaryObjectsHelper.java b/src/main/java/org/apache/ddlutils/io/BinaryObjectsHelper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/BinaryObjectsHelper.java
rename to src/main/java/org/apache/ddlutils/io/BinaryObjectsHelper.java
diff --git a/src/java/org/apache/ddlutils/io/ConverterConfiguration.java b/src/main/java/org/apache/ddlutils/io/ConverterConfiguration.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/ConverterConfiguration.java
rename to src/main/java/org/apache/ddlutils/io/ConverterConfiguration.java
diff --git a/src/java/org/apache/ddlutils/io/DataConverterRegistration.java b/src/main/java/org/apache/ddlutils/io/DataConverterRegistration.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataConverterRegistration.java
rename to src/main/java/org/apache/ddlutils/io/DataConverterRegistration.java
diff --git a/src/java/org/apache/ddlutils/io/DataDtdWriter.java b/src/main/java/org/apache/ddlutils/io/DataDtdWriter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataDtdWriter.java
rename to src/main/java/org/apache/ddlutils/io/DataDtdWriter.java
diff --git a/src/java/org/apache/ddlutils/io/DataReader.java b/src/main/java/org/apache/ddlutils/io/DataReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataReader.java
rename to src/main/java/org/apache/ddlutils/io/DataReader.java
diff --git a/src/java/org/apache/ddlutils/io/DataSink.java b/src/main/java/org/apache/ddlutils/io/DataSink.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataSink.java
rename to src/main/java/org/apache/ddlutils/io/DataSink.java
diff --git a/src/java/org/apache/ddlutils/io/DataSinkException.java b/src/main/java/org/apache/ddlutils/io/DataSinkException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataSinkException.java
rename to src/main/java/org/apache/ddlutils/io/DataSinkException.java
diff --git a/src/java/org/apache/ddlutils/io/DataToDatabaseSink.java b/src/main/java/org/apache/ddlutils/io/DataToDatabaseSink.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataToDatabaseSink.java
rename to src/main/java/org/apache/ddlutils/io/DataToDatabaseSink.java
diff --git a/src/java/org/apache/ddlutils/io/DataWriter.java b/src/main/java/org/apache/ddlutils/io/DataWriter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataWriter.java
rename to src/main/java/org/apache/ddlutils/io/DataWriter.java
diff --git a/src/java/org/apache/ddlutils/io/DataWriterException.java b/src/main/java/org/apache/ddlutils/io/DataWriterException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DataWriterException.java
rename to src/main/java/org/apache/ddlutils/io/DataWriterException.java
diff --git a/src/java/org/apache/ddlutils/io/DatabaseDataIO.java b/src/main/java/org/apache/ddlutils/io/DatabaseDataIO.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DatabaseDataIO.java
rename to src/main/java/org/apache/ddlutils/io/DatabaseDataIO.java
diff --git a/src/java/org/apache/ddlutils/io/DatabaseIO.java b/src/main/java/org/apache/ddlutils/io/DatabaseIO.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DatabaseIO.java
rename to src/main/java/org/apache/ddlutils/io/DatabaseIO.java
diff --git a/src/java/org/apache/ddlutils/io/DdlUtilsXMLException.java b/src/main/java/org/apache/ddlutils/io/DdlUtilsXMLException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DdlUtilsXMLException.java
rename to src/main/java/org/apache/ddlutils/io/DdlUtilsXMLException.java
diff --git a/src/java/org/apache/ddlutils/io/DigesterRules.java b/src/main/java/org/apache/ddlutils/io/DigesterRules.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DigesterRules.java
rename to src/main/java/org/apache/ddlutils/io/DigesterRules.java
diff --git a/src/java/org/apache/ddlutils/io/DynaSqlCreateRule.java b/src/main/java/org/apache/ddlutils/io/DynaSqlCreateRule.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/DynaSqlCreateRule.java
rename to src/main/java/org/apache/ddlutils/io/DynaSqlCreateRule.java
diff --git a/src/java/org/apache/ddlutils/io/Identity.java b/src/main/java/org/apache/ddlutils/io/Identity.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/Identity.java
rename to src/main/java/org/apache/ddlutils/io/Identity.java
diff --git a/src/java/org/apache/ddlutils/io/LocalEntityResolver.java b/src/main/java/org/apache/ddlutils/io/LocalEntityResolver.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/LocalEntityResolver.java
rename to src/main/java/org/apache/ddlutils/io/LocalEntityResolver.java
diff --git a/src/java/org/apache/ddlutils/io/ModelValidator.java b/src/main/java/org/apache/ddlutils/io/ModelValidator.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/ModelValidator.java
rename to src/main/java/org/apache/ddlutils/io/ModelValidator.java
diff --git a/src/java/org/apache/ddlutils/io/PrettyPrintingXmlWriter.java b/src/main/java/org/apache/ddlutils/io/PrettyPrintingXmlWriter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/PrettyPrintingXmlWriter.java
rename to src/main/java/org/apache/ddlutils/io/PrettyPrintingXmlWriter.java
diff --git a/src/java/org/apache/ddlutils/io/SetColumnPropertyFromSubElementRule.java b/src/main/java/org/apache/ddlutils/io/SetColumnPropertyFromSubElementRule.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/SetColumnPropertyFromSubElementRule.java
rename to src/main/java/org/apache/ddlutils/io/SetColumnPropertyFromSubElementRule.java
diff --git a/src/java/org/apache/ddlutils/io/SetColumnPropertyRule.java b/src/main/java/org/apache/ddlutils/io/SetColumnPropertyRule.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/SetColumnPropertyRule.java
rename to src/main/java/org/apache/ddlutils/io/SetColumnPropertyRule.java
diff --git a/src/java/org/apache/ddlutils/io/WaitingObject.java b/src/main/java/org/apache/ddlutils/io/WaitingObject.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/WaitingObject.java
rename to src/main/java/org/apache/ddlutils/io/WaitingObject.java
diff --git a/src/java/org/apache/ddlutils/io/converters/ByteArrayBase64Converter.java b/src/main/java/org/apache/ddlutils/io/converters/ByteArrayBase64Converter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/ByteArrayBase64Converter.java
rename to src/main/java/org/apache/ddlutils/io/converters/ByteArrayBase64Converter.java
diff --git a/src/java/org/apache/ddlutils/io/converters/ConversionException.java b/src/main/java/org/apache/ddlutils/io/converters/ConversionException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/ConversionException.java
rename to src/main/java/org/apache/ddlutils/io/converters/ConversionException.java
diff --git a/src/java/org/apache/ddlutils/io/converters/DateConverter.java b/src/main/java/org/apache/ddlutils/io/converters/DateConverter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/DateConverter.java
rename to src/main/java/org/apache/ddlutils/io/converters/DateConverter.java
diff --git a/src/java/org/apache/ddlutils/io/converters/NumberConverter.java b/src/main/java/org/apache/ddlutils/io/converters/NumberConverter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/NumberConverter.java
rename to src/main/java/org/apache/ddlutils/io/converters/NumberConverter.java
diff --git a/src/java/org/apache/ddlutils/io/converters/SqlTypeConverter.java b/src/main/java/org/apache/ddlutils/io/converters/SqlTypeConverter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/SqlTypeConverter.java
rename to src/main/java/org/apache/ddlutils/io/converters/SqlTypeConverter.java
diff --git a/src/java/org/apache/ddlutils/io/converters/TimeConverter.java b/src/main/java/org/apache/ddlutils/io/converters/TimeConverter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/TimeConverter.java
rename to src/main/java/org/apache/ddlutils/io/converters/TimeConverter.java
diff --git a/src/java/org/apache/ddlutils/io/converters/TimestampConverter.java b/src/main/java/org/apache/ddlutils/io/converters/TimestampConverter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/TimestampConverter.java
rename to src/main/java/org/apache/ddlutils/io/converters/TimestampConverter.java
diff --git a/src/java/org/apache/ddlutils/io/converters/package.html b/src/main/java/org/apache/ddlutils/io/converters/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/io/converters/package.html
rename to src/main/java/org/apache/ddlutils/io/converters/package.html
diff --git a/src/java/org/apache/ddlutils/io/package.html b/src/main/java/org/apache/ddlutils/io/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/io/package.html
rename to src/main/java/org/apache/ddlutils/io/package.html
diff --git a/src/java/org/apache/ddlutils/model/CascadeActionEnum.java b/src/main/java/org/apache/ddlutils/model/CascadeActionEnum.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/CascadeActionEnum.java
rename to src/main/java/org/apache/ddlutils/model/CascadeActionEnum.java
diff --git a/src/java/org/apache/ddlutils/model/CloneHelper.java b/src/main/java/org/apache/ddlutils/model/CloneHelper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/CloneHelper.java
rename to src/main/java/org/apache/ddlutils/model/CloneHelper.java
diff --git a/src/java/org/apache/ddlutils/model/Column.java b/src/main/java/org/apache/ddlutils/model/Column.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/Column.java
rename to src/main/java/org/apache/ddlutils/model/Column.java
diff --git a/src/java/org/apache/ddlutils/model/Database.java b/src/main/java/org/apache/ddlutils/model/Database.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/Database.java
rename to src/main/java/org/apache/ddlutils/model/Database.java
diff --git a/src/java/org/apache/ddlutils/model/ForeignKey.java b/src/main/java/org/apache/ddlutils/model/ForeignKey.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/ForeignKey.java
rename to src/main/java/org/apache/ddlutils/model/ForeignKey.java
diff --git a/src/java/org/apache/ddlutils/model/Index.java b/src/main/java/org/apache/ddlutils/model/Index.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/Index.java
rename to src/main/java/org/apache/ddlutils/model/Index.java
diff --git a/src/java/org/apache/ddlutils/model/IndexColumn.java b/src/main/java/org/apache/ddlutils/model/IndexColumn.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/IndexColumn.java
rename to src/main/java/org/apache/ddlutils/model/IndexColumn.java
diff --git a/src/java/org/apache/ddlutils/model/IndexImplBase.java b/src/main/java/org/apache/ddlutils/model/IndexImplBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/IndexImplBase.java
rename to src/main/java/org/apache/ddlutils/model/IndexImplBase.java
diff --git a/src/java/org/apache/ddlutils/model/JdbcTypeCategoryEnum.java b/src/main/java/org/apache/ddlutils/model/JdbcTypeCategoryEnum.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/JdbcTypeCategoryEnum.java
rename to src/main/java/org/apache/ddlutils/model/JdbcTypeCategoryEnum.java
diff --git a/src/java/org/apache/ddlutils/model/ModelException.java b/src/main/java/org/apache/ddlutils/model/ModelException.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/ModelException.java
rename to src/main/java/org/apache/ddlutils/model/ModelException.java
diff --git a/src/java/org/apache/ddlutils/model/ModelHelper.java b/src/main/java/org/apache/ddlutils/model/ModelHelper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/ModelHelper.java
rename to src/main/java/org/apache/ddlutils/model/ModelHelper.java
diff --git a/src/java/org/apache/ddlutils/model/NonUniqueIndex.java b/src/main/java/org/apache/ddlutils/model/NonUniqueIndex.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/NonUniqueIndex.java
rename to src/main/java/org/apache/ddlutils/model/NonUniqueIndex.java
diff --git a/src/java/org/apache/ddlutils/model/Reference.java b/src/main/java/org/apache/ddlutils/model/Reference.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/Reference.java
rename to src/main/java/org/apache/ddlutils/model/Reference.java
diff --git a/src/java/org/apache/ddlutils/model/Table.java b/src/main/java/org/apache/ddlutils/model/Table.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/Table.java
rename to src/main/java/org/apache/ddlutils/model/Table.java
diff --git a/src/java/org/apache/ddlutils/model/TypeMap.java b/src/main/java/org/apache/ddlutils/model/TypeMap.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/TypeMap.java
rename to src/main/java/org/apache/ddlutils/model/TypeMap.java
diff --git a/src/java/org/apache/ddlutils/model/UniqueIndex.java b/src/main/java/org/apache/ddlutils/model/UniqueIndex.java
similarity index 100%
rename from src/java/org/apache/ddlutils/model/UniqueIndex.java
rename to src/main/java/org/apache/ddlutils/model/UniqueIndex.java
diff --git a/src/java/org/apache/ddlutils/model/package.html b/src/main/java/org/apache/ddlutils/model/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/model/package.html
rename to src/main/java/org/apache/ddlutils/model/package.html
diff --git a/src/java/org/apache/ddlutils/package.html b/src/main/java/org/apache/ddlutils/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/package.html
rename to src/main/java/org/apache/ddlutils/package.html
diff --git a/src/java/org/apache/ddlutils/platform/CreationParameters.java b/src/main/java/org/apache/ddlutils/platform/CreationParameters.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/CreationParameters.java
rename to src/main/java/org/apache/ddlutils/platform/CreationParameters.java
diff --git a/src/java/org/apache/ddlutils/platform/DatabaseMetaDataWrapper.java b/src/main/java/org/apache/ddlutils/platform/DatabaseMetaDataWrapper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/DatabaseMetaDataWrapper.java
rename to src/main/java/org/apache/ddlutils/platform/DatabaseMetaDataWrapper.java
diff --git a/src/java/org/apache/ddlutils/platform/DefaultTableDefinitionChangesPredicate.java b/src/main/java/org/apache/ddlutils/platform/DefaultTableDefinitionChangesPredicate.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/DefaultTableDefinitionChangesPredicate.java
rename to src/main/java/org/apache/ddlutils/platform/DefaultTableDefinitionChangesPredicate.java
diff --git a/src/java/org/apache/ddlutils/platform/DefaultValueHelper.java b/src/main/java/org/apache/ddlutils/platform/DefaultValueHelper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/DefaultValueHelper.java
rename to src/main/java/org/apache/ddlutils/platform/DefaultValueHelper.java
diff --git a/src/java/org/apache/ddlutils/platform/JdbcModelReader.java b/src/main/java/org/apache/ddlutils/platform/JdbcModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/JdbcModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/JdbcModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/MetaDataColumnDescriptor.java b/src/main/java/org/apache/ddlutils/platform/MetaDataColumnDescriptor.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/MetaDataColumnDescriptor.java
rename to src/main/java/org/apache/ddlutils/platform/MetaDataColumnDescriptor.java
diff --git a/src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java b/src/main/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
rename to src/main/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
diff --git a/src/java/org/apache/ddlutils/platform/PlatformImplBase.java b/src/main/java/org/apache/ddlutils/platform/PlatformImplBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/PlatformImplBase.java
rename to src/main/java/org/apache/ddlutils/platform/PlatformImplBase.java
diff --git a/src/java/org/apache/ddlutils/platform/SqlBuilder.java b/src/main/java/org/apache/ddlutils/platform/SqlBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/SqlBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/SqlBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/axion/AxionBuilder.java b/src/main/java/org/apache/ddlutils/platform/axion/AxionBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/axion/AxionBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/axion/AxionBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/axion/AxionModelReader.java b/src/main/java/org/apache/ddlutils/platform/axion/AxionModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/axion/AxionModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/axion/AxionModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/axion/AxionPlatform.java b/src/main/java/org/apache/ddlutils/platform/axion/AxionPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/axion/AxionPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/axion/AxionPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/axion/package.html b/src/main/java/org/apache/ddlutils/platform/axion/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/axion/package.html
rename to src/main/java/org/apache/ddlutils/platform/axion/package.html
diff --git a/src/java/org/apache/ddlutils/platform/cloudscape/CloudscapeBuilder.java b/src/main/java/org/apache/ddlutils/platform/cloudscape/CloudscapeBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/cloudscape/CloudscapeBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/cloudscape/CloudscapeBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/cloudscape/CloudscapePlatform.java b/src/main/java/org/apache/ddlutils/platform/cloudscape/CloudscapePlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/cloudscape/CloudscapePlatform.java
rename to src/main/java/org/apache/ddlutils/platform/cloudscape/CloudscapePlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/cloudscape/package.html b/src/main/java/org/apache/ddlutils/platform/cloudscape/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/cloudscape/package.html
rename to src/main/java/org/apache/ddlutils/platform/cloudscape/package.html
diff --git a/src/java/org/apache/ddlutils/platform/db2/Db2Builder.java b/src/main/java/org/apache/ddlutils/platform/db2/Db2Builder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/db2/Db2Builder.java
rename to src/main/java/org/apache/ddlutils/platform/db2/Db2Builder.java
diff --git a/src/java/org/apache/ddlutils/platform/db2/Db2ModelReader.java b/src/main/java/org/apache/ddlutils/platform/db2/Db2ModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/db2/Db2ModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/db2/Db2ModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/db2/Db2Platform.java b/src/main/java/org/apache/ddlutils/platform/db2/Db2Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/db2/Db2Platform.java
rename to src/main/java/org/apache/ddlutils/platform/db2/Db2Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/db2/Db2v8Builder.java b/src/main/java/org/apache/ddlutils/platform/db2/Db2v8Builder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/db2/Db2v8Builder.java
rename to src/main/java/org/apache/ddlutils/platform/db2/Db2v8Builder.java
diff --git a/src/java/org/apache/ddlutils/platform/db2/Db2v8Platform.java b/src/main/java/org/apache/ddlutils/platform/db2/Db2v8Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/db2/Db2v8Platform.java
rename to src/main/java/org/apache/ddlutils/platform/db2/Db2v8Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/db2/package.html b/src/main/java/org/apache/ddlutils/platform/db2/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/db2/package.html
rename to src/main/java/org/apache/ddlutils/platform/db2/package.html
diff --git a/src/java/org/apache/ddlutils/platform/derby/DerbyBuilder.java b/src/main/java/org/apache/ddlutils/platform/derby/DerbyBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/derby/DerbyBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/derby/DerbyBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/derby/DerbyModelReader.java b/src/main/java/org/apache/ddlutils/platform/derby/DerbyModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/derby/DerbyModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/derby/DerbyModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/derby/DerbyPlatform.java b/src/main/java/org/apache/ddlutils/platform/derby/DerbyPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/derby/DerbyPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/derby/DerbyPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/derby/package.html b/src/main/java/org/apache/ddlutils/platform/derby/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/derby/package.html
rename to src/main/java/org/apache/ddlutils/platform/derby/package.html
diff --git a/src/java/org/apache/ddlutils/platform/firebird/FirebirdBuilder.java b/src/main/java/org/apache/ddlutils/platform/firebird/FirebirdBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/firebird/FirebirdBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/firebird/FirebirdBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/firebird/FirebirdModelReader.java b/src/main/java/org/apache/ddlutils/platform/firebird/FirebirdModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/firebird/FirebirdModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/firebird/FirebirdModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/firebird/FirebirdPlatform.java b/src/main/java/org/apache/ddlutils/platform/firebird/FirebirdPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/firebird/FirebirdPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/firebird/FirebirdPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/firebird/package.html b/src/main/java/org/apache/ddlutils/platform/firebird/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/firebird/package.html
rename to src/main/java/org/apache/ddlutils/platform/firebird/package.html
diff --git a/src/java/org/apache/ddlutils/platform/hsqldb/HsqlDbBuilder.java b/src/main/java/org/apache/ddlutils/platform/hsqldb/HsqlDbBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/hsqldb/HsqlDbBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/hsqldb/HsqlDbBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/hsqldb/HsqlDbModelReader.java b/src/main/java/org/apache/ddlutils/platform/hsqldb/HsqlDbModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/hsqldb/HsqlDbModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/hsqldb/HsqlDbModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/hsqldb/HsqlDbPlatform.java b/src/main/java/org/apache/ddlutils/platform/hsqldb/HsqlDbPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/hsqldb/HsqlDbPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/hsqldb/HsqlDbPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/hsqldb/package.html b/src/main/java/org/apache/ddlutils/platform/hsqldb/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/hsqldb/package.html
rename to src/main/java/org/apache/ddlutils/platform/hsqldb/package.html
diff --git a/src/java/org/apache/ddlutils/platform/interbase/InterbaseBuilder.java b/src/main/java/org/apache/ddlutils/platform/interbase/InterbaseBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/interbase/InterbaseBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/interbase/InterbaseBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/interbase/InterbaseModelReader.java b/src/main/java/org/apache/ddlutils/platform/interbase/InterbaseModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/interbase/InterbaseModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/interbase/InterbaseModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/interbase/InterbasePlatform.java b/src/main/java/org/apache/ddlutils/platform/interbase/InterbasePlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/interbase/InterbasePlatform.java
rename to src/main/java/org/apache/ddlutils/platform/interbase/InterbasePlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/interbase/package.html b/src/main/java/org/apache/ddlutils/platform/interbase/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/interbase/package.html
rename to src/main/java/org/apache/ddlutils/platform/interbase/package.html
diff --git a/src/java/org/apache/ddlutils/platform/maxdb/MaxDbBuilder.java b/src/main/java/org/apache/ddlutils/platform/maxdb/MaxDbBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/maxdb/MaxDbBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/maxdb/MaxDbBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/maxdb/MaxDbModelReader.java b/src/main/java/org/apache/ddlutils/platform/maxdb/MaxDbModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/maxdb/MaxDbModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/maxdb/MaxDbModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/maxdb/MaxDbPlatform.java b/src/main/java/org/apache/ddlutils/platform/maxdb/MaxDbPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/maxdb/MaxDbPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/maxdb/MaxDbPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/maxdb/package.html b/src/main/java/org/apache/ddlutils/platform/maxdb/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/maxdb/package.html
rename to src/main/java/org/apache/ddlutils/platform/maxdb/package.html
diff --git a/src/java/org/apache/ddlutils/platform/mckoi/MckoiBuilder.java b/src/main/java/org/apache/ddlutils/platform/mckoi/MckoiBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mckoi/MckoiBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/mckoi/MckoiBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/mckoi/MckoiModelReader.java b/src/main/java/org/apache/ddlutils/platform/mckoi/MckoiModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mckoi/MckoiModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/mckoi/MckoiModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/mckoi/MckoiPlatform.java b/src/main/java/org/apache/ddlutils/platform/mckoi/MckoiPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mckoi/MckoiPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/mckoi/MckoiPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/mckoi/package.html b/src/main/java/org/apache/ddlutils/platform/mckoi/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mckoi/package.html
rename to src/main/java/org/apache/ddlutils/platform/mckoi/package.html
diff --git a/src/java/org/apache/ddlutils/platform/mssql/MSSqlBuilder.java b/src/main/java/org/apache/ddlutils/platform/mssql/MSSqlBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mssql/MSSqlBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/mssql/MSSqlBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/mssql/MSSqlModelComparator.java b/src/main/java/org/apache/ddlutils/platform/mssql/MSSqlModelComparator.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mssql/MSSqlModelComparator.java
rename to src/main/java/org/apache/ddlutils/platform/mssql/MSSqlModelComparator.java
diff --git a/src/java/org/apache/ddlutils/platform/mssql/MSSqlModelReader.java b/src/main/java/org/apache/ddlutils/platform/mssql/MSSqlModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mssql/MSSqlModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/mssql/MSSqlModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/mssql/MSSqlPlatform.java b/src/main/java/org/apache/ddlutils/platform/mssql/MSSqlPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mssql/MSSqlPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/mssql/MSSqlPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/mssql/package.html b/src/main/java/org/apache/ddlutils/platform/mssql/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mssql/package.html
rename to src/main/java/org/apache/ddlutils/platform/mssql/package.html
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySql50Builder.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySql50Builder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySql50Builder.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySql50Builder.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySql50ModelReader.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySql50ModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySql50ModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySql50ModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySql50Platform.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySql50Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySql50Platform.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySql50Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySqlBuilder.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySqlBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySqlBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySqlBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySqlModelComparator.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySqlModelComparator.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySqlModelComparator.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySqlModelComparator.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySqlModelReader.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySqlModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySqlModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySqlModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/MySqlPlatform.java b/src/main/java/org/apache/ddlutils/platform/mysql/MySqlPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/MySqlPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/mysql/MySqlPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/mysql/package.html b/src/main/java/org/apache/ddlutils/platform/mysql/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/mysql/package.html
rename to src/main/java/org/apache/ddlutils/platform/mysql/package.html
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle10Builder.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle10Builder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle10Builder.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle10Builder.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle10ModelReader.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle10ModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle10ModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle10ModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle10Platform.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle10Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle10Platform.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle10Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle8Builder.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle8Builder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle8Builder.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle8Builder.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle8ModelReader.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle8ModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle8ModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle8ModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle8Platform.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle8Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle8Platform.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle8Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/Oracle9Platform.java b/src/main/java/org/apache/ddlutils/platform/oracle/Oracle9Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/Oracle9Platform.java
rename to src/main/java/org/apache/ddlutils/platform/oracle/Oracle9Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/oracle/package.html b/src/main/java/org/apache/ddlutils/platform/oracle/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/oracle/package.html
rename to src/main/java/org/apache/ddlutils/platform/oracle/package.html
diff --git a/src/java/org/apache/ddlutils/platform/package.html b/src/main/java/org/apache/ddlutils/platform/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/package.html
rename to src/main/java/org/apache/ddlutils/platform/package.html
diff --git a/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java b/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java b/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java b/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/postgresql/package.html b/src/main/java/org/apache/ddlutils/platform/postgresql/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/postgresql/package.html
rename to src/main/java/org/apache/ddlutils/platform/postgresql/package.html
diff --git a/src/java/org/apache/ddlutils/platform/sapdb/SapDbBuilder.java b/src/main/java/org/apache/ddlutils/platform/sapdb/SapDbBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sapdb/SapDbBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/sapdb/SapDbBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/sapdb/SapDbModelReader.java b/src/main/java/org/apache/ddlutils/platform/sapdb/SapDbModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sapdb/SapDbModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/sapdb/SapDbModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/sapdb/SapDbPlatform.java b/src/main/java/org/apache/ddlutils/platform/sapdb/SapDbPlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sapdb/SapDbPlatform.java
rename to src/main/java/org/apache/ddlutils/platform/sapdb/SapDbPlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/sapdb/package.html b/src/main/java/org/apache/ddlutils/platform/sapdb/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sapdb/package.html
rename to src/main/java/org/apache/ddlutils/platform/sapdb/package.html
diff --git a/src/java/org/apache/ddlutils/platform/sybase/SybaseASE15Platform.java b/src/main/java/org/apache/ddlutils/platform/sybase/SybaseASE15Platform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sybase/SybaseASE15Platform.java
rename to src/main/java/org/apache/ddlutils/platform/sybase/SybaseASE15Platform.java
diff --git a/src/java/org/apache/ddlutils/platform/sybase/SybaseBuilder.java b/src/main/java/org/apache/ddlutils/platform/sybase/SybaseBuilder.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sybase/SybaseBuilder.java
rename to src/main/java/org/apache/ddlutils/platform/sybase/SybaseBuilder.java
diff --git a/src/java/org/apache/ddlutils/platform/sybase/SybaseModelReader.java b/src/main/java/org/apache/ddlutils/platform/sybase/SybaseModelReader.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sybase/SybaseModelReader.java
rename to src/main/java/org/apache/ddlutils/platform/sybase/SybaseModelReader.java
diff --git a/src/java/org/apache/ddlutils/platform/sybase/SybasePlatform.java b/src/main/java/org/apache/ddlutils/platform/sybase/SybasePlatform.java
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sybase/SybasePlatform.java
rename to src/main/java/org/apache/ddlutils/platform/sybase/SybasePlatform.java
diff --git a/src/java/org/apache/ddlutils/platform/sybase/package.html b/src/main/java/org/apache/ddlutils/platform/sybase/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/platform/sybase/package.html
rename to src/main/java/org/apache/ddlutils/platform/sybase/package.html
diff --git a/src/java/org/apache/ddlutils/task/Command.java b/src/main/java/org/apache/ddlutils/task/Command.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/Command.java
rename to src/main/java/org/apache/ddlutils/task/Command.java
diff --git a/src/java/org/apache/ddlutils/task/ConvertingDatabaseCommand.java b/src/main/java/org/apache/ddlutils/task/ConvertingDatabaseCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/ConvertingDatabaseCommand.java
rename to src/main/java/org/apache/ddlutils/task/ConvertingDatabaseCommand.java
diff --git a/src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java b/src/main/java/org/apache/ddlutils/task/CreateDatabaseCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java
rename to src/main/java/org/apache/ddlutils/task/CreateDatabaseCommand.java
diff --git a/src/java/org/apache/ddlutils/task/DatabaseCommand.java b/src/main/java/org/apache/ddlutils/task/DatabaseCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DatabaseCommand.java
rename to src/main/java/org/apache/ddlutils/task/DatabaseCommand.java
diff --git a/src/java/org/apache/ddlutils/task/DatabaseCommandWithCreationParameters.java b/src/main/java/org/apache/ddlutils/task/DatabaseCommandWithCreationParameters.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DatabaseCommandWithCreationParameters.java
rename to src/main/java/org/apache/ddlutils/task/DatabaseCommandWithCreationParameters.java
diff --git a/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java b/src/main/java/org/apache/ddlutils/task/DatabaseTaskBase.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DatabaseTaskBase.java
rename to src/main/java/org/apache/ddlutils/task/DatabaseTaskBase.java
diff --git a/src/java/org/apache/ddlutils/task/DatabaseToDdlTask.java b/src/main/java/org/apache/ddlutils/task/DatabaseToDdlTask.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DatabaseToDdlTask.java
rename to src/main/java/org/apache/ddlutils/task/DatabaseToDdlTask.java
diff --git a/src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java b/src/main/java/org/apache/ddlutils/task/DdlToDatabaseTask.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java
rename to src/main/java/org/apache/ddlutils/task/DdlToDatabaseTask.java
diff --git a/src/java/org/apache/ddlutils/task/DropDatabaseCommand.java b/src/main/java/org/apache/ddlutils/task/DropDatabaseCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DropDatabaseCommand.java
rename to src/main/java/org/apache/ddlutils/task/DropDatabaseCommand.java
diff --git a/src/java/org/apache/ddlutils/task/DropTablesCommand.java b/src/main/java/org/apache/ddlutils/task/DropTablesCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DropTablesCommand.java
rename to src/main/java/org/apache/ddlutils/task/DropTablesCommand.java
diff --git a/src/java/org/apache/ddlutils/task/DumpMetadataTask.java b/src/main/java/org/apache/ddlutils/task/DumpMetadataTask.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/DumpMetadataTask.java
rename to src/main/java/org/apache/ddlutils/task/DumpMetadataTask.java
diff --git a/src/java/org/apache/ddlutils/task/Parameter.java b/src/main/java/org/apache/ddlutils/task/Parameter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/Parameter.java
rename to src/main/java/org/apache/ddlutils/task/Parameter.java
diff --git a/src/java/org/apache/ddlutils/task/PlatformConfiguration.java b/src/main/java/org/apache/ddlutils/task/PlatformConfiguration.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/PlatformConfiguration.java
rename to src/main/java/org/apache/ddlutils/task/PlatformConfiguration.java
diff --git a/src/java/org/apache/ddlutils/task/TableSpecificParameter.java b/src/main/java/org/apache/ddlutils/task/TableSpecificParameter.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/TableSpecificParameter.java
rename to src/main/java/org/apache/ddlutils/task/TableSpecificParameter.java
diff --git a/src/java/org/apache/ddlutils/task/TaskHelper.java b/src/main/java/org/apache/ddlutils/task/TaskHelper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/TaskHelper.java
rename to src/main/java/org/apache/ddlutils/task/TaskHelper.java
diff --git a/src/java/org/apache/ddlutils/task/VerbosityLevel.java b/src/main/java/org/apache/ddlutils/task/VerbosityLevel.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/VerbosityLevel.java
rename to src/main/java/org/apache/ddlutils/task/VerbosityLevel.java
diff --git a/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java b/src/main/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
rename to src/main/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
diff --git a/src/java/org/apache/ddlutils/task/WriteDataToFileCommand.java b/src/main/java/org/apache/ddlutils/task/WriteDataToFileCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/WriteDataToFileCommand.java
rename to src/main/java/org/apache/ddlutils/task/WriteDataToFileCommand.java
diff --git a/src/java/org/apache/ddlutils/task/WriteDtdToFileCommand.java b/src/main/java/org/apache/ddlutils/task/WriteDtdToFileCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/WriteDtdToFileCommand.java
rename to src/main/java/org/apache/ddlutils/task/WriteDtdToFileCommand.java
diff --git a/src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java b/src/main/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
rename to src/main/java/org/apache/ddlutils/task/WriteSchemaSqlToFileCommand.java
diff --git a/src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java b/src/main/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java
rename to src/main/java/org/apache/ddlutils/task/WriteSchemaToDatabaseCommand.java
diff --git a/src/java/org/apache/ddlutils/task/WriteSchemaToFileCommand.java b/src/main/java/org/apache/ddlutils/task/WriteSchemaToFileCommand.java
similarity index 100%
rename from src/java/org/apache/ddlutils/task/WriteSchemaToFileCommand.java
rename to src/main/java/org/apache/ddlutils/task/WriteSchemaToFileCommand.java
diff --git a/src/java/org/apache/ddlutils/task/package.html b/src/main/java/org/apache/ddlutils/task/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/task/package.html
rename to src/main/java/org/apache/ddlutils/task/package.html
diff --git a/src/java/org/apache/ddlutils/util/CallbackClosure.java b/src/main/java/org/apache/ddlutils/util/CallbackClosure.java
similarity index 100%
rename from src/java/org/apache/ddlutils/util/CallbackClosure.java
rename to src/main/java/org/apache/ddlutils/util/CallbackClosure.java
diff --git a/src/java/org/apache/ddlutils/util/DatabaseTestHelper.java b/src/main/java/org/apache/ddlutils/util/DatabaseTestHelper.java
similarity index 100%
rename from src/java/org/apache/ddlutils/util/DatabaseTestHelper.java
rename to src/main/java/org/apache/ddlutils/util/DatabaseTestHelper.java
diff --git a/src/java/org/apache/ddlutils/util/JdbcSupport.java b/src/main/java/org/apache/ddlutils/util/JdbcSupport.java
similarity index 100%
rename from src/java/org/apache/ddlutils/util/JdbcSupport.java
rename to src/main/java/org/apache/ddlutils/util/JdbcSupport.java
diff --git a/src/java/org/apache/ddlutils/util/SqlTokenizer.java b/src/main/java/org/apache/ddlutils/util/SqlTokenizer.java
similarity index 100%
rename from src/java/org/apache/ddlutils/util/SqlTokenizer.java
rename to src/main/java/org/apache/ddlutils/util/SqlTokenizer.java
diff --git a/src/java/org/apache/ddlutils/util/StringUtilsExt.java b/src/main/java/org/apache/ddlutils/util/StringUtilsExt.java
similarity index 100%
rename from src/java/org/apache/ddlutils/util/StringUtilsExt.java
rename to src/main/java/org/apache/ddlutils/util/StringUtilsExt.java
diff --git a/src/java/org/apache/ddlutils/util/package.html b/src/main/java/org/apache/ddlutils/util/package.html
similarity index 100%
rename from src/java/org/apache/ddlutils/util/package.html
rename to src/main/java/org/apache/ddlutils/util/package.html
diff --git a/src/xml/database2ojb.xsl b/src/main/misc/database2ojb.xsl
similarity index 100%
rename from src/xml/database2ojb.xsl
rename to src/main/misc/database2ojb.xsl
diff --git a/src/java/database.dtd b/src/main/resources/database.dtd
similarity index 100%
rename from src/java/database.dtd
rename to src/main/resources/database.dtd
diff --git a/src/java/database.xsd b/src/main/resources/database.xsd
similarity index 100%
rename from src/java/database.xsd
rename to src/main/resources/database.xsd
diff --git a/src/java/mapping.xml b/src/main/resources/mapping.xml
similarity index 100%
rename from src/java/mapping.xml
rename to src/main/resources/mapping.xml
diff --git a/src/test/jdbc.properties.db2 b/src/test/jdbc.properties.db2
index 66d93e3..c3097e5 100644
--- a/src/test/jdbc.properties.db2
+++ b/src/test/jdbc.properties.db2
@@ -18,14 +18,14 @@
 # under the License.
 
 # Use this property if ddlutils does not recognize the platform from the settings
-#ddlutils.platform=Db2
+ddlutils.platform=Db2v8
 
 # Properties starting with "datasource." will be fed into the datasource instance of the
 # class configured via the datasource.class property
 
 datasource.class=org.apache.commons.dbcp.BasicDataSource
 
-datasource.driverClassName=COM.ibm.db2.jdbc.net.DB2Driver
-datasource.url=jdbc:db2://localhost:6789/ddlutils
+datasource.driverClassName=com.ibm.db2.jcc.DB2Driver
+datasource.url=jdbc:db2://192.168.55.129:50000/ddlutils
 datasource.username=ddlutils
 datasource.password=ddlutils
diff --git a/src/test/jdbc.properties.firebird b/src/test/jdbc.properties.firebird
index 93568c2..2f3ee27 100644
--- a/src/test/jdbc.properties.firebird
+++ b/src/test/jdbc.properties.firebird
@@ -29,7 +29,7 @@
 
 datasource.class=org.apache.commons.dbcp.BasicDataSource
 datasource.driverClassName=org.firebirdsql.jdbc.FBDriver
-datasource.url=jdbc:firebirdsql://localhost/C:/Programme/Firebird/Firebird_1_5/data/ddlutils.fdb
+datasource.url=jdbc:firebirdsql://192.168.55.129/C:/Program Files/Firebird/Firebird_2_0/data/ddlutils.fdb
 datasource.username=SYSDBA
 datasource.password=masterkey
 
diff --git a/src/test/jdbc.properties.hsqldb b/src/test/jdbc.properties.hsqldb
index 1371c29..fe90aa1 100644
--- a/src/test/jdbc.properties.hsqldb
+++ b/src/test/jdbc.properties.hsqldb
@@ -33,6 +33,6 @@
 
 # Server mode
 
-datasource.url=jdbc:hsqldb:hsql://localhost
+datasource.url=jdbc:hsqldb:hsql://localhost/ddlutils
 datasource.username=sa
 datasource.password=
diff --git a/src/test/jdbc.properties.mysql50 b/src/test/jdbc.properties.mysql50
index a49c41a..6ba4fa0 100644
--- a/src/test/jdbc.properties.mysql50
+++ b/src/test/jdbc.properties.mysql50
@@ -29,9 +29,9 @@
 
 datasource.class=org.apache.commons.dbcp.BasicDataSource
 datasource.driverClassName=com.mysql.jdbc.Driver
-datasource.url=jdbc:mysql://localhost/ddlutils
-datasource.username=root
-datasource.password=
+datasource.url=jdbc:mysql://192.168.55.129/ddlutils
+datasource.username=ddlutils
+datasource.password=ddlutils
 
 # We want to test against InnoDB tables (so that we get e.g. foreign keys)
 ddlutils.tableCreation.ENGINE=InnoDB
diff --git a/src/test/jdbc.properties.oracle10 b/src/test/jdbc.properties.oracle10
index d901d3f..75a6e98 100644
--- a/src/test/jdbc.properties.oracle10
+++ b/src/test/jdbc.properties.oracle10
@@ -27,21 +27,21 @@
 # Using the plain DBCP datasource
 #
 
-#datasource.class=org.apache.commons.dbcp.BasicDataSource
-#datasource.driverClassName=oracle.jdbc.driver.OracleDriver
-#datasource.url=jdbc:oracle:thin:@localhost:1521:test
-#datasource.username=ddlutils
-#datasource.password=ddlutils
+datasource.class=org.apache.commons.dbcp.BasicDataSource
+datasource.driverClassName=oracle.jdbc.driver.OracleDriver
+datasource.url=jdbc:oracle:thin:@192.168.55.129:1521:XE
+datasource.username=ddlutils
+datasource.password=ddlutils
 
 #
 # Or the Oracle datasource
 #
 
-datasource.class=oracle.jdbc.pool.OracleDataSource
-datasource.URL=jdbc:oracle:thin:@localhost:1521:test
-datasource.user=ddlutils
-datasource.password=ddlutils
-datasource.connectionCachingEnabled=true
+#datasource.class=oracle.jdbc.pool.OracleDataSource
+#datasource.URL=jdbc:oracle:thin:@192.168.55.129:1521:XE
+#datasource.user=ddlutils
+#datasource.password=ddlutils
+#datasource.connectionCachingEnabled=true
 
 
 # For oracle, we should limit the schema to the one of the user
diff --git a/src/test/jdbc.properties.postgresql b/src/test/jdbc.properties.postgresql
index 949e188..f6ed133 100644
--- a/src/test/jdbc.properties.postgresql
+++ b/src/test/jdbc.properties.postgresql
@@ -29,7 +29,7 @@
 
 datasource.class=org.apache.commons.dbcp.BasicDataSource
 datasource.driverClassName=org.postgresql.Driver
-datasource.url=jdbc:postgresql://localhost/ddlutils
+datasource.url=jdbc:postgresql://192.168.55.129/ddlutils
 datasource.username=ddlutils
 datasource.password=ddlutils
 
diff --git a/src/test/jdbc.properties.sqlserver2005 b/src/test/jdbc.properties.sqlserver2005
index 28c145c..abf5f76 100644
--- a/src/test/jdbc.properties.sqlserver2005
+++ b/src/test/jdbc.properties.sqlserver2005
@@ -26,7 +26,7 @@
 datasource.class=org.apache.commons.dbcp.BasicDataSource
 
 datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
-datasource.url=jdbc:sqlserver://localhost;databaseName=ddlutils;selectMethod=cursor
+datasource.url=jdbc:sqlserver://192.168.55.129;databaseName=ddlutils;selectMethod=cursor
 
 datasource.username=ddlutils
 datasource.password=ddlutils
diff --git a/src/test/org/apache/ddlutils/RunAllTests.java b/src/test/org/apache/ddlutils/RunAllTests.java
index 6aa179a..7437ac3 100644
--- a/src/test/org/apache/ddlutils/RunAllTests.java
+++ b/src/test/org/apache/ddlutils/RunAllTests.java
@@ -82,7 +82,7 @@
      * 
      * @param args The invocation arguments
      */
-    public static void main(String[] args)
+    public static void main(String[] args) throws Exception
     {
         junit.textui.TestRunner.run(suite());
     }
@@ -92,7 +92,7 @@
      * 
      * @return The test suite
      */
-    public static Test suite()
+    public static Test suite() throws Exception
     {
         TestSuite suite = new TestSuite("DdlUtils tests");
 
@@ -123,21 +123,16 @@
         suite.addTestSuite(TestSybasePlatform.class);
         suite.addTestSuite(TestModelComparison.class);
         suite.addTestSuite(TestAlterationAlgorithm.class);
-
-        // tests that need a live database
-        if (System.getProperty(TestDatabaseWriterBase.JDBC_PROPERTIES_PROPERTY) != null)
-        {
-            suite.addTestSuite(TestDynaSqlQueries.class);
-            suite.addTestSuite(TestDatatypes.class);
-            suite.addTestSuite(TestConstraints.class);
-            suite.addTestSuite(TestAlteration.class);
-            suite.addTestSuite(TestAddColumn.class);
-            suite.addTestSuite(TestChangeColumn.class);
-            suite.addTestSuite(TestDropColumn.class);
-            suite.addTestSuite(TestMisc.class);
-            suite.addTestSuite(TestDropTablesCommand.class);
-            suite.addTestSuite(TestWriteSchemaToFileCommand.class);
-        }
+        suite.addTest(TestDynaSqlQueries.suite());
+        suite.addTest(TestDatatypes.suite());
+        suite.addTest(TestConstraints.suite());
+        suite.addTest(TestAlteration.suite());
+        suite.addTest(TestAddColumn.suite());
+        suite.addTest(TestChangeColumn.suite());
+        suite.addTest(TestDropColumn.suite());
+        suite.addTest(TestMisc.suite());
+        suite.addTest(TestDropTablesCommand.suite());
+        suite.addTest(TestWriteSchemaToFileCommand.suite());
 
         return suite;
     }
diff --git a/src/test/org/apache/ddlutils/TestDatabaseWriterBase.java b/src/test/org/apache/ddlutils/TestAgainstLiveDatabaseBase.java
similarity index 73%
rename from src/test/org/apache/ddlutils/TestDatabaseWriterBase.java
rename to src/test/org/apache/ddlutils/TestAgainstLiveDatabaseBase.java
index 1852fd6..710ca5e 100644
--- a/src/test/org/apache/ddlutils/TestDatabaseWriterBase.java
+++ b/src/test/org/apache/ddlutils/TestAgainstLiveDatabaseBase.java
@@ -24,6 +24,8 @@
 import java.io.InputStream;
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.Statement;
@@ -37,11 +39,13 @@
 import javax.sql.DataSource;
 
 import junit.framework.AssertionFailedError;
+import junit.framework.TestSuite;
 
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.beanutils.DynaBean;
 import org.apache.commons.beanutils.DynaProperty;
 import org.apache.commons.dbcp.BasicDataSource;
+import org.apache.commons.logging.LogFactory;
 import org.apache.ddlutils.dynabean.SqlDynaBean;
 import org.apache.ddlutils.dynabean.SqlDynaClass;
 import org.apache.ddlutils.dynabean.SqlDynaProperty;
@@ -66,11 +70,11 @@
 import org.apache.ddlutils.util.StringUtilsExt;
 
 /**
- * Base class for database writer tests.
+ * Base class tests that are executed against a live database.
  * 
  * @version $Revision: 289996 $
  */
-public abstract class TestDatabaseWriterBase extends TestPlatformBase
+public abstract class TestAgainstLiveDatabaseBase extends TestPlatformBase
 {
     /** The name of the property that specifies properties file with the settings for the connection to test against. */
     public static final String JDBC_PROPERTIES_PROPERTY = "jdbc.properties.file";
@@ -87,97 +91,141 @@
     /** The prefix for table creation properties. */
     public static final String DDLUTILS_TABLE_CREATION_PREFIX = DDLUTILS_PROPERTY_PREFIX + "tableCreation.";
 
-    /** The test properties as defined by an external properties file. */
-    private static Properties _testProps;
-    /** The data source to test against. */
-    private static DataSource _dataSource;
-    /** The database name. */
-    private static String _databaseName;
-    /** The database model. */
-    private Database _model;
-
     /**
-     * Creates a new test case instance.
-     */
-    public TestDatabaseWriterBase()
-    {
-        super();
-        init();
-    }
-
-    /**
-     * Returns the test properties.
+     * Creates the test suite for the given test class which must be a sub class of
+     * {@link RoundtripTestBase}. If the platform supports it, it will be tested
+     * with both delimited and undelimited identifiers.
      * 
-     * @return The properties
+     * @param testedClass The tested class
+     * @return The tests
      */
-    protected Properties getTestProperties()
+    protected static TestSuite getTests(Class testedClass)
     {
-    	if (_testProps == null)
-    	{
-    		String propFile = System.getProperty(JDBC_PROPERTIES_PROPERTY);
-	
-	        if (propFile == null)
-	        {
-	        	throw new RuntimeException("Please specify the properties file via the jdbc.properties.file environment variable");
-	        }
-
-	        InputStream propStream = null;
-
-	        try
-	        {
-	            propStream = TestDatabaseWriterBase.class.getResourceAsStream(propFile);
-
-	            if (propStream == null)
-	            {
-	                propStream = new FileInputStream(propFile);
-	            }
-
-	            Properties props = new Properties();
-
-	            props.load(propStream);
-	            _testProps = props;
-	        }
-	        catch (Exception ex)
-	        {
-	        	throw new RuntimeException(ex);
-	        }
-	        finally
-	        {
-	            if (propStream != null)
-	            {
-	                try
-	                {
-	                    propStream.close();
-	                }
-	                catch (IOException ex)
-	                {
-	                    getLog().error("Could not close the stream used to read the test jdbc properties", ex);
-	                }
-	            }
-	        }
-    	}
-    	return _testProps;
-    }
-    
-    /**
-     * Initializes the test datasource and the platform.
-     */
-    private void init()
-    {
-        // the data source won't change during the tests, hence
-        // it is static and needs to be initialized only once
-        if (_dataSource != null)
+        if (!TestAgainstLiveDatabaseBase.class.isAssignableFrom(testedClass) ||
+            Modifier.isAbstract(testedClass.getModifiers()))
         {
-            return;
+            throw new DdlUtilsException("Cannot create parameterized tests for class "+testedClass.getName());
         }
 
-        Properties props = getTestProperties();
+        TestSuite  suite      = new TestSuite();
+        Properties props      = readTestProperties();
+
+        if (props == null)
+        {
+            return suite;
+        }
+
+        DataSource dataSource   = initDataSourceFromProperties(props);
+        String     databaseName = determineDatabaseName(props, dataSource);
 
         try
         {
-            String dataSourceClass = props.getProperty(DATASOURCE_PROPERTY_PREFIX + "class", BasicDataSource.class.getName());
+            Method[]               methods = testedClass.getMethods();
+            PlatformInfo           info    = null;
+            TestAgainstLiveDatabaseBase newTest;
+    
+            for (int idx = 0; (methods != null) && (idx < methods.length); idx++)
+            {
+                if (methods[idx].getName().startsWith("test") &&
+                    ((methods[idx].getParameterTypes() == null) || (methods[idx].getParameterTypes().length == 0)))
+                {
+                    newTest = (TestAgainstLiveDatabaseBase)testedClass.newInstance();
+                    newTest.setName(methods[idx].getName());
+                    newTest.setTestProperties(props);
+                    newTest.setDataSource(dataSource);
+                    newTest.setDatabaseName(databaseName);
+                    newTest.setUseDelimitedIdentifiers(false);
+                    suite.addTest(newTest);
 
-            _dataSource = (DataSource)Class.forName(dataSourceClass).newInstance();
+                    if (info == null)
+                    {
+                        info = PlatformFactory.createNewPlatformInstance(newTest.getDatabaseName()).getPlatformInfo();
+                    }
+                    if (info.isDelimitedIdentifiersSupported())
+                    {
+                        newTest = (TestAgainstLiveDatabaseBase)testedClass.newInstance();
+                        newTest.setName(methods[idx].getName());
+                        newTest.setTestProperties(props);
+                        newTest.setDataSource(dataSource);
+                        newTest.setDatabaseName(databaseName);
+                        newTest.setUseDelimitedIdentifiers(true);
+                        suite.addTest(newTest);
+                    }
+                }
+            }
+        }
+        catch (Exception ex)
+        {
+            throw new DdlUtilsException(ex);
+        }
+        
+        return suite;
+    }
+
+    /**
+     * Reads the test properties as specified by the property.
+     * 
+     * @return The properties or <code>null</code> if no properties have been specified
+     */
+    protected static Properties readTestProperties()
+    {
+        String propFile = System.getProperty(JDBC_PROPERTIES_PROPERTY);
+
+        if (propFile == null)
+        {
+            return null;
+        }
+
+        InputStream propStream = null;
+
+        try
+        {
+            propStream = TestAgainstLiveDatabaseBase.class.getResourceAsStream(propFile);
+
+            if (propStream == null)
+            {
+                propStream = new FileInputStream(propFile);
+            }
+
+            Properties props = new Properties();
+
+            props.load(propStream);
+            return props;
+        }
+        catch (Exception ex)
+        {
+            throw new RuntimeException(ex);
+        }
+        finally
+        {
+            if (propStream != null)
+            {
+                try
+                {
+                    propStream.close();
+                }
+                catch (IOException ex)
+                {
+                    LogFactory.getLog(TestAgainstLiveDatabaseBase.class).error("Could not close the stream used to read the test jdbc properties", ex);
+                }
+            }
+        }
+    }
+
+    /**
+     * Initializes the test datasource and the platform.
+     */
+    private static DataSource initDataSourceFromProperties(Properties props)
+    {
+        if (props == null)
+        {
+            return null;
+        }
+
+        try
+        {
+            String     dataSourceClass = props.getProperty(DATASOURCE_PROPERTY_PREFIX + "class", BasicDataSource.class.getName());
+            DataSource dataSource      = (DataSource)Class.forName(dataSourceClass).newInstance();
 
             for (Iterator it = props.entrySet().iterator(); it.hasNext();)
             {
@@ -186,27 +234,73 @@
 
                 if (propName.startsWith(DATASOURCE_PROPERTY_PREFIX) && !propName.equals(DATASOURCE_PROPERTY_PREFIX +"class"))
                 {
-                    BeanUtils.setProperty(_dataSource,
+                    BeanUtils.setProperty(dataSource,
                                           propName.substring(DATASOURCE_PROPERTY_PREFIX.length()),
                                           entry.getValue());
                 }
             }
+            return dataSource;
         }
         catch (Exception ex)
         {
             throw new DatabaseOperationException(ex);
         }
+    }
 
-        _databaseName = props.getProperty(DDLUTILS_PLATFORM_PROPERTY);
-        if (_databaseName == null)
+    /**
+     * Determines the name of the platform to use from the properties or the data source if no
+     * platform is specified in the properties.
+     * 
+     * @param props      The test properties
+     * @param dataSource The data source
+     * @return The name of the platform
+     */
+    private static String determineDatabaseName(Properties props, DataSource dataSource)
+    {
+        String platformName = props.getProperty(DDLUTILS_PLATFORM_PROPERTY);
+
+        if (platformName == null)
         {
             // property not set, then try to determine
-            _databaseName = new PlatformUtils().determineDatabaseType(_dataSource);
-            if (_databaseName == null)
+            platformName = new PlatformUtils().determineDatabaseType(dataSource);
+            if (platformName == null)
             {
                 throw new DatabaseOperationException("Could not determine platform from datasource, please specify it in the jdbc.properties via the ddlutils.platform property");
             }
         }
+        return platformName;
+    }
+
+
+    /** The test properties as defined by an external properties file. */
+    private Properties _testProps;
+    /** The data source to test against. */
+    private DataSource _dataSource;
+    /** The database name. */
+    private String _databaseName;
+    /** The database model. */
+    private Database _model;
+    /** Whether to use delimited identifiers for the test. */
+    private boolean _useDelimitedIdentifiers;
+
+    /**
+     * Returns the test properties.
+     * 
+     * @return The properties
+     */
+    protected Properties getTestProperties()
+    {
+        return _testProps;
+    }
+
+    /**
+     * Sets the test properties.
+     * 
+     * @param props The properties
+     */
+    private void setTestProperties(Properties props)
+    {
+        _testProps = props;
     }
 
     /**
@@ -238,6 +332,16 @@
     }
 
     /**
+     * Specifies whether the test shall use delimited identifiers.
+     * 
+     * @param useDelimitedIdentifiers Whether to use delimited identifiers
+     */
+    protected void setUseDelimitedIdentifiers(boolean useDelimitedIdentifiers)
+    {
+        _useDelimitedIdentifiers = useDelimitedIdentifiers;
+    }
+
+    /**
      * Returns the data source.
      * 
      * @return The data source
@@ -248,6 +352,16 @@
     }
 
     /**
+     * Sets the data source.
+     * 
+     * @param dataSource The data source
+     */
+    private void setDataSource(DataSource dataSource)
+    {
+        _dataSource = dataSource;
+    }
+
+    /**
      * {@inheritDoc}
      */
     protected String getDatabaseName()
@@ -256,6 +370,16 @@
     }
 
     /**
+     * Sets the database name.
+     * 
+     * @param databaseName The name of the database
+     */
+    private void setDatabaseName(String databaseName)
+    {
+        _databaseName = databaseName;
+    }
+
+    /**
      * Returns the database model.
      * 
      * @return The model
@@ -272,6 +396,7 @@
     {
         super.setUp();
         getPlatform().setDataSource(getDataSource());
+        getPlatform().setDelimitedIdentifierModeOn(_useDelimitedIdentifiers);
     }
 
     /**
@@ -302,10 +427,10 @@
      */
     protected Database createDatabase(String schemaXml) throws DatabaseOperationException
     {
-    	Database model = parseDatabaseFromString(schemaXml);
+        Database model = parseDatabaseFromString(schemaXml);
 
-    	createDatabase(model);
-    	return model;
+        createDatabase(model);
+        return model;
     }
 
     /**
@@ -399,6 +524,135 @@
     }
 
     /**
+     * Inserts a row into the designated table.
+     * 
+     * @param tableName    The name of the table (case insensitive)
+     * @param columnValues The values for the columns in order of definition
+     */
+    protected void insertRow(String tableName, Object[] columnValues)
+    {
+        Table    table = getModel().findTable(tableName);
+        DynaBean bean  = getModel().createDynaBeanFor(table);
+
+        for (int idx = 0; (idx < table.getColumnCount()) && (idx < columnValues.length); idx++)
+        {
+            Column column = table.getColumn(idx);
+
+            bean.set(column.getName(), columnValues[idx]);
+        }
+        getPlatform().insert(getModel(), bean);
+    }
+
+    /**
+     * Updates the row in the designated table.
+     * 
+     * @param tableName    The name of the table (case insensitive)
+     * @param oldBean      The bean representing the current row
+     * @param columnValues The values for the columns in order of definition
+     */
+    protected void updateRow(String tableName, DynaBean oldBean, Object[] columnValues)
+    {
+        Table    table = getModel().findTable(tableName);
+        DynaBean bean  = getModel().createDynaBeanFor(table);
+
+        for (int idx = 0; (idx < table.getColumnCount()) && (idx < columnValues.length); idx++)
+        {
+            Column column = table.getColumn(idx);
+
+            bean.set(column.getName(), columnValues[idx]);
+        }
+        getPlatform().update(getModel(), oldBean, bean);
+    }
+
+    /**
+     * Deletes the specified row from the table.
+     * 
+     * @param tableName      The name of the table (case insensitive)
+     * @param pkColumnValues The values for the pk columns in order of definition
+     */
+    protected void deleteRow(String tableName, Object[] pkColumnValues)
+    {
+        Table    table     = getModel().findTable(tableName);
+        DynaBean bean      = getModel().createDynaBeanFor(table);
+        Column[] pkColumns = table.getPrimaryKeyColumns();
+
+        for (int idx = 0; (idx < pkColumns.length) && (idx < pkColumnValues.length); idx++)
+        {
+            bean.set(pkColumns[idx].getName(), pkColumnValues[idx]);
+        }
+        getPlatform().delete(getModel(), bean);
+    }
+
+    /**
+     * Returns a "SELECT * FROM [table name]" statement. It also takes
+     * delimited identifier mode into account if enabled.
+     *  
+     * @param table       The table
+     * @param orderColumn The column to order the rows by (can be <code>null</code>)
+     * @return The statement
+     */
+    protected String getSelectQueryForAllString(Table table, String orderColumn)
+    {
+        StringBuffer query = new StringBuffer();
+
+        query.append("SELECT * FROM ");
+        if (getPlatform().isDelimitedIdentifierModeOn())
+        {
+            query.append(getPlatformInfo().getDelimiterToken());
+        }
+        query.append(table.getName());
+        if (getPlatform().isDelimitedIdentifierModeOn())
+        {
+            query.append(getPlatformInfo().getDelimiterToken());
+        }
+        if (orderColumn != null)
+        {
+            query.append(" ORDER BY ");
+            if (getPlatform().isDelimitedIdentifierModeOn())
+            {
+                query.append(getPlatformInfo().getDelimiterToken());
+            }
+            query.append(orderColumn);
+            if (getPlatform().isDelimitedIdentifierModeOn())
+            {
+                query.append(getPlatformInfo().getDelimiterToken());
+            }
+        }
+        return query.toString();
+    }
+
+    /**
+     * Retrieves all rows from the given table.
+     * 
+     * @param tableName The table
+     * @return The rows
+     */
+    protected List getRows(String tableName)
+    {
+        Table table = getModel().findTable(tableName, getPlatform().isDelimitedIdentifierModeOn());
+        
+        return getPlatform().fetch(getModel(),
+                                   getSelectQueryForAllString(table, null),
+                                   new Table[] { table });
+    }
+
+    /**
+     * Retrieves all rows from the given table.
+     * 
+     * @param tableName   The table
+     * @param orderColumn The column to order the rows by
+     * @return The rows
+     */
+    protected List getRows(String tableName, String orderColumn)
+    {
+        Table table = getModel().findTable(tableName, getPlatform().isDelimitedIdentifierModeOn());
+        
+        return getPlatform().fetch(getModel(),
+                                   getSelectQueryForAllString(table, orderColumn),
+                                   new Table[] { table });
+    }
+
+    /**
      * Checks that the database is clear, and if not clears it (no tables, sequences etc. left) and
      * throws an {@link AssertionFailedError}.
      */
@@ -721,6 +975,83 @@
         }
     }
 
+    /**
+     * Asserts that the two given database models are equal, and if not, writes both of them
+     * in XML form to <code>stderr</code>.
+     * 
+     * @param expected The expected model
+     * @param actual   The actual model
+     */
+    protected void assertEquals(Database expected, Database actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
+
+    /**
+     * Asserts that the two given database tables are equal.
+     * 
+     * @param expected The expected table
+     * @param actual   The actual table
+     */
+    protected void assertEquals(Table expected, Table actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
+
+    /**
+     * Asserts that the two given columns are equal.
+     * 
+     * @param expected The expected column
+     * @param actual   The actual column
+     */
+    protected void assertEquals(Column expected, Column actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
+
+    /**
+     * Asserts that the two given foreign keys are equal.
+     * 
+     * @param expected The expected foreign key
+     * @param actual   The actual foreign key
+     */
+    protected void assertEquals(ForeignKey expected, ForeignKey actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
+
+    /**
+     * Asserts that the two given references are equal.
+     * 
+     * @param expected The expected reference
+     * @param actual   The actual reference
+     */
+    protected void assertEquals(Reference expected, Reference actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
+
+    /**
+     * Asserts that the two given indices are equal.
+     * 
+     * @param expected The expected index
+     * @param actual   The actual index
+     */
+    protected void assertEquals(Index expected, Index actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
+
+    /**
+     * Asserts that the two given index columns are equal.
+     * 
+     * @param expected The expected index column
+     * @param actual   The actual index column
+     */
+    protected void assertEquals(IndexColumn expected, IndexColumn actual)
+    {
+        assertEquals(expected, actual, _useDelimitedIdentifiers);
+    }
 
     /**
      * Compares the specified attribute value of the given bean with the expected object.
diff --git a/src/test/org/apache/ddlutils/TestSummaryCreatorTask.java b/src/test/org/apache/ddlutils/TestSummaryCreatorTask.java
index ce31a50..f45f2b2 100644
--- a/src/test/org/apache/ddlutils/TestSummaryCreatorTask.java
+++ b/src/test/org/apache/ddlutils/TestSummaryCreatorTask.java
@@ -285,7 +285,7 @@
 
         try
         {
-            String     dataSourceClass = props.getProperty(TestDatabaseWriterBase.DATASOURCE_PROPERTY_PREFIX + "class", BasicDataSource.class.getName());
+            String     dataSourceClass = props.getProperty(TestAgainstLiveDatabaseBase.DATASOURCE_PROPERTY_PREFIX + "class", BasicDataSource.class.getName());
             DataSource dataSource      = (DataSource)Class.forName(dataSourceClass).newInstance();
     
             for (Iterator it = props.entrySet().iterator(); it.hasNext();)
@@ -293,15 +293,15 @@
                 Map.Entry entry    = (Map.Entry)it.next();
                 String    propName = (String)entry.getKey();
     
-                if (propName.startsWith(TestDatabaseWriterBase.DATASOURCE_PROPERTY_PREFIX) && !propName.equals(TestDatabaseWriterBase.DATASOURCE_PROPERTY_PREFIX +"class"))
+                if (propName.startsWith(TestAgainstLiveDatabaseBase.DATASOURCE_PROPERTY_PREFIX) && !propName.equals(TestAgainstLiveDatabaseBase.DATASOURCE_PROPERTY_PREFIX +"class"))
                 {
                     BeanUtils.setProperty(dataSource,
-                                          propName.substring(TestDatabaseWriterBase.DATASOURCE_PROPERTY_PREFIX.length()),
+                                          propName.substring(TestAgainstLiveDatabaseBase.DATASOURCE_PROPERTY_PREFIX.length()),
                                           entry.getValue());
                 }
             }
 
-            String platformName = props.getProperty(TestDatabaseWriterBase.DDLUTILS_PLATFORM_PROPERTY);
+            String platformName = props.getProperty(TestAgainstLiveDatabaseBase.DDLUTILS_PLATFORM_PROPERTY);
 
             if (platformName == null)
             {
diff --git a/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java b/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java
index d48d75a..39ab715 100644
--- a/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java
+++ b/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java
@@ -22,9 +22,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import junit.framework.Test;
+
 import org.apache.commons.beanutils.DynaBean;
-import org.apache.ddlutils.TestDatabaseWriterBase;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.io.DatabaseIO;
+import org.apache.ddlutils.io.TestAlteration;
 import org.apache.ddlutils.model.Table;
 import org.apache.ddlutils.platform.ModelBasedResultSetIterator;
 import org.apache.ddlutils.platform.sybase.SybasePlatform;
@@ -34,15 +37,34 @@
  * 
  * @version $Revision: 289996 $
  */
-public class TestDynaSqlQueries extends TestDatabaseWriterBase
+public class TestDynaSqlQueries extends TestAgainstLiveDatabaseBase
 {
     /**
-     * {@inheritDoc}
+     * Parameterized test case pattern.
+     * 
+     * @return The tests
      */
-    protected void setUp() throws Exception
+    public static Test suite() throws Exception
     {
-        super.setUp();
-        getPlatform().setDelimitedIdentifierModeOn(false);
+        return getTests(TestAlteration.class);
+    }
+
+    /**
+     * Returns the SQL to select all rows from the indicated table.
+     * 
+     * @param tableName The name of the table to query
+     * @return The SQL
+     */
+    private String asIdentifier(String name)
+    {
+        if (getPlatform().isDelimitedIdentifierModeOn())
+        {
+            return getPlatformInfo().getDelimiterToken() + name + getPlatformInfo().getDelimiterToken();
+        }
+        else
+        {
+            return name;
+        }
     }
 
     /**
@@ -68,7 +90,7 @@
             "</data>");
 
         ModelBasedResultSetIterator it = (ModelBasedResultSetIterator)getPlatform().query(getModel(),
-                                                                                          "SELECT * FROM TestTable",
+                                                                                          "SELECT * FROM " + asIdentifier("TestTable"),
                                                                                           new Table[] { getModel().getTable(0) });
 
         assertTrue(it.hasNext());
@@ -127,7 +149,7 @@
             "</data>");
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(3,
@@ -223,7 +245,7 @@
         }
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(3,
@@ -297,8 +319,23 @@
             "  <TestTable2 Id='3' Avalue='Text 3'/>"+
             "</data>");
 
+        StringBuffer sql = new StringBuffer();
+
+        sql.append("SELECT ");
+        sql.append(asIdentifier("Id1"));
+        sql.append(",");
+        sql.append(asIdentifier("Avalue"));
+        sql.append(" FROM ");
+        sql.append(asIdentifier("TestTable1"));
+        sql.append(",");
+        sql.append(asIdentifier("TestTable2"));
+        sql.append(" WHERE ");
+        sql.append(asIdentifier("Id2"));
+        sql.append("=");
+        sql.append(asIdentifier("Id"));
+
         ModelBasedResultSetIterator it = (ModelBasedResultSetIterator)getPlatform().query(getModel(),
-                                                                                          "SELECT Id1, Avalue FROM TestTable1, TestTable2 WHERE Id2 = Id",
+                                                                                          sql.toString(),
                                                                                           new Table[] { getModel().getTable(0), getModel().getTable(1) });
 
         assertTrue(it.hasNext());
@@ -337,7 +374,7 @@
         getPlatform().insert(getModel(), dynaBean);
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(1,
@@ -386,7 +423,7 @@
         getPlatform().insert(getModel(), dynaBeans);
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(3,
@@ -443,7 +480,7 @@
         getPlatform().update(getModel(), dynaBean);
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(1,
@@ -519,7 +556,7 @@
         getPlatform().store(getModel(), dynaBean);
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(1,
@@ -562,7 +599,7 @@
         getPlatform().store(getModel(), dynaBean);
 
         List beans = getPlatform().fetch(getModel(),
-                                         "SELECT * FROM TestTable",
+                                         "SELECT * FROM " + asIdentifier("TestTable"),
                                          new Table[] { getModel().getTable(0) });
 
         assertEquals(1,
diff --git a/src/test/org/apache/ddlutils/io/RoundtripTestBase.java b/src/test/org/apache/ddlutils/io/RoundtripTestBase.java
deleted file mode 100644
index 3b695b5..0000000
--- a/src/test/org/apache/ddlutils/io/RoundtripTestBase.java
+++ /dev/null
@@ -1,332 +0,0 @@
-package org.apache.ddlutils.io;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.List;
-
-import junit.framework.TestSuite;
-
-import org.apache.commons.beanutils.DynaBean;
-import org.apache.ddlutils.DdlUtilsException;
-import org.apache.ddlutils.PlatformFactory;
-import org.apache.ddlutils.PlatformInfo;
-import org.apache.ddlutils.TestDatabaseWriterBase;
-import org.apache.ddlutils.model.Column;
-import org.apache.ddlutils.model.Database;
-import org.apache.ddlutils.model.ForeignKey;
-import org.apache.ddlutils.model.Index;
-import org.apache.ddlutils.model.IndexColumn;
-import org.apache.ddlutils.model.Reference;
-import org.apache.ddlutils.model.Table;
-
-/**
- * Base class for database roundtrip (creation & reconstruction from the database).
- * 
- * @version $Revision: 289996 $
- */
-public abstract class RoundtripTestBase extends TestDatabaseWriterBase
-{
-    /**
-     * Creates the test suite for the given test class which must be a sub class of
-     * {@link RoundtripTestBase}. If the platform supports it, it will be tested
-     * with both delimited and undelimited identifiers.
-     * 
-     * @param testedClass The tested class
-     * @return The tests
-     */
-    protected static TestSuite getTests(Class testedClass)
-    {
-        if (!RoundtripTestBase.class.isAssignableFrom(testedClass) ||
-            Modifier.isAbstract(testedClass.getModifiers()))
-        {
-            throw new DdlUtilsException("Cannot create parameterized tests for class "+testedClass.getName());
-        }
-
-        TestSuite suite = new TestSuite();
-
-        try
-        {
-            Method[]          methods = testedClass.getMethods();
-            PlatformInfo      info    = null;
-            RoundtripTestBase newTest;
-    
-            for (int idx = 0; (methods != null) && (idx < methods.length); idx++)
-            {
-                if (methods[idx].getName().startsWith("test") &&
-                    ((methods[idx].getParameterTypes() == null) || (methods[idx].getParameterTypes().length == 0)))
-                {
-                    newTest = (RoundtripTestBase)testedClass.newInstance();
-                    newTest.setName(methods[idx].getName());
-                    newTest.setUseDelimitedIdentifiers(false);
-                    suite.addTest(newTest);
-
-                    if (info == null)
-                    {
-                        info = PlatformFactory.createNewPlatformInstance(newTest.getDatabaseName()).getPlatformInfo();
-                    }
-                    if (info.isDelimitedIdentifiersSupported())
-                    {
-                        newTest = (RoundtripTestBase)testedClass.newInstance();
-                        newTest.setName(methods[idx].getName());
-                        newTest.setUseDelimitedIdentifiers(true);
-                        suite.addTest(newTest);
-                    }
-                }
-            }
-        }
-        catch (Exception ex)
-        {
-            throw new DdlUtilsException(ex);
-        }
-        
-        return suite;
-    }
-
-    /** Whether to use delimited identifiers for the test. */
-    private boolean _useDelimitedIdentifiers;
-    
-    /**
-     * Specifies whether the test shall use delimited identifiers.
-     * 
-     * @param useDelimitedIdentifiers Whether to use delimited identifiers
-     */
-    protected void setUseDelimitedIdentifiers(boolean useDelimitedIdentifiers)
-    {
-        _useDelimitedIdentifiers = useDelimitedIdentifiers;
-    }
-    
-    /**
-     * {@inheritDoc}
-     */
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-        getPlatform().setDelimitedIdentifierModeOn(_useDelimitedIdentifiers);
-    }
-
-    /**
-     * Inserts a row into the designated table.
-     * 
-     * @param tableName    The name of the table (case insensitive)
-     * @param columnValues The values for the columns in order of definition
-     */
-    protected void insertRow(String tableName, Object[] columnValues)
-    {
-        Table    table = getModel().findTable(tableName);
-        DynaBean bean  = getModel().createDynaBeanFor(table);
-
-        for (int idx = 0; (idx < table.getColumnCount()) && (idx < columnValues.length); idx++)
-        {
-            Column column = table.getColumn(idx);
-
-            bean.set(column.getName(), columnValues[idx]);
-        }
-        getPlatform().insert(getModel(), bean);
-    }
-
-    /**
-     * Updates the row in the designated table.
-     * 
-     * @param tableName    The name of the table (case insensitive)
-     * @param oldBean      The bean representing the current row
-     * @param columnValues The values for the columns in order of definition
-     */
-    protected void updateRow(String tableName, DynaBean oldBean, Object[] columnValues)
-    {
-        Table    table = getModel().findTable(tableName);
-        DynaBean bean  = getModel().createDynaBeanFor(table);
-
-        for (int idx = 0; (idx < table.getColumnCount()) && (idx < columnValues.length); idx++)
-        {
-            Column column = table.getColumn(idx);
-
-            bean.set(column.getName(), columnValues[idx]);
-        }
-        getPlatform().update(getModel(), oldBean, bean);
-    }
-
-    /**
-     * Deletes the specified row from the table.
-     * 
-     * @param tableName      The name of the table (case insensitive)
-     * @param pkColumnValues The values for the pk columns in order of definition
-     */
-    protected void deleteRow(String tableName, Object[] pkColumnValues)
-    {
-        Table    table     = getModel().findTable(tableName);
-        DynaBean bean      = getModel().createDynaBeanFor(table);
-        Column[] pkColumns = table.getPrimaryKeyColumns();
-
-        for (int idx = 0; (idx < pkColumns.length) && (idx < pkColumnValues.length); idx++)
-        {
-            bean.set(pkColumns[idx].getName(), pkColumnValues[idx]);
-        }
-        getPlatform().delete(getModel(), bean);
-    }
-
-    /**
-     * Returns a "SELECT * FROM [table name]" statement. It also takes
-     * delimited identifier mode into account if enabled.
-     *  
-     * @param table       The table
-     * @param orderColumn The column to order the rows by (can be <code>null</code>)
-     * @return The statement
-     */
-    protected String getSelectQueryForAllString(Table table, String orderColumn)
-    {
-        StringBuffer query = new StringBuffer();
-
-        query.append("SELECT * FROM ");
-        if (getPlatform().isDelimitedIdentifierModeOn())
-        {
-            query.append(getPlatformInfo().getDelimiterToken());
-        }
-        query.append(table.getName());
-        if (getPlatform().isDelimitedIdentifierModeOn())
-        {
-            query.append(getPlatformInfo().getDelimiterToken());
-        }
-        if (orderColumn != null)
-        {
-            query.append(" ORDER BY ");
-            if (getPlatform().isDelimitedIdentifierModeOn())
-            {
-                query.append(getPlatformInfo().getDelimiterToken());
-            }
-            query.append(orderColumn);
-            if (getPlatform().isDelimitedIdentifierModeOn())
-            {
-                query.append(getPlatformInfo().getDelimiterToken());
-            }
-        }
-        return query.toString();
-    }
-
-    /**
-     * Retrieves all rows from the given table.
-     * 
-     * @param tableName The table
-     * @return The rows
-     */
-    protected List getRows(String tableName)
-    {
-        Table table = getModel().findTable(tableName, getPlatform().isDelimitedIdentifierModeOn());
-        
-        return getPlatform().fetch(getModel(),
-                                   getSelectQueryForAllString(table, null),
-                                   new Table[] { table });
-    }
-
-    /**
-     * Retrieves all rows from the given table.
-     * 
-     * @param tableName   The table
-     * @param orderColumn The column to order the rows by
-     * @return The rows
-     */
-    protected List getRows(String tableName, String orderColumn)
-    {
-        Table table = getModel().findTable(tableName, getPlatform().isDelimitedIdentifierModeOn());
-        
-        return getPlatform().fetch(getModel(),
-                                   getSelectQueryForAllString(table, orderColumn),
-                                   new Table[] { table });
-    }
-
-    /**
-     * Asserts that the two given database models are equal, and if not, writes both of them
-     * in XML form to <code>stderr</code>.
-     * 
-     * @param expected The expected model
-     * @param actual   The actual model
-     */
-    protected void assertEquals(Database expected, Database actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-
-    /**
-     * Asserts that the two given database tables are equal.
-     * 
-     * @param expected The expected table
-     * @param actual   The actual table
-     */
-    protected void assertEquals(Table expected, Table actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-
-    /**
-     * Asserts that the two given columns are equal.
-     * 
-     * @param expected The expected column
-     * @param actual   The actual column
-     */
-    protected void assertEquals(Column expected, Column actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-
-    /**
-     * Asserts that the two given foreign keys are equal.
-     * 
-     * @param expected The expected foreign key
-     * @param actual   The actual foreign key
-     */
-    protected void assertEquals(ForeignKey expected, ForeignKey actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-
-    /**
-     * Asserts that the two given references are equal.
-     * 
-     * @param expected The expected reference
-     * @param actual   The actual reference
-     */
-    protected void assertEquals(Reference expected, Reference actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-
-    /**
-     * Asserts that the two given indices are equal.
-     * 
-     * @param expected The expected index
-     * @param actual   The actual index
-     */
-    protected void assertEquals(Index expected, Index actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-
-    /**
-     * Asserts that the two given index columns are equal.
-     * 
-     * @param expected The expected index column
-     * @param actual   The actual index column
-     */
-    protected void assertEquals(IndexColumn expected, IndexColumn actual)
-    {
-        assertEquals(expected, actual, _useDelimitedIdentifiers);
-    }
-}
diff --git a/src/test/org/apache/ddlutils/io/TestAddColumn.java b/src/test/org/apache/ddlutils/io/TestAddColumn.java
index e338603..57e1f85 100644
--- a/src/test/org/apache/ddlutils/io/TestAddColumn.java
+++ b/src/test/org/apache/ddlutils/io/TestAddColumn.java
@@ -25,6 +25,7 @@
 import junit.framework.Test;
 
 import org.apache.commons.beanutils.DynaBean;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.platform.firebird.FirebirdPlatform;
 import org.apache.ddlutils.platform.hsqldb.HsqlDbPlatform;
 import org.apache.ddlutils.platform.interbase.InterbasePlatform;
@@ -38,7 +39,7 @@
  * 
  * @version $Revision: $
  */
-public class TestAddColumn extends RoundtripTestBase
+public class TestAddColumn extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/io/TestAlteration.java b/src/test/org/apache/ddlutils/io/TestAlteration.java
index fc9b786..7e18b12 100644
--- a/src/test/org/apache/ddlutils/io/TestAlteration.java
+++ b/src/test/org/apache/ddlutils/io/TestAlteration.java
@@ -24,6 +24,7 @@
 
 import junit.framework.Test;
 
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.model.Database;
 import org.apache.ddlutils.platform.firebird.FirebirdPlatform;
 import org.apache.ddlutils.platform.mckoi.MckoiPlatform;
@@ -42,7 +43,7 @@
  *       - ...
  * @version $Revision: $
  */
-public class TestAlteration extends RoundtripTestBase
+public class TestAlteration extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/io/TestChangeColumn.java b/src/test/org/apache/ddlutils/io/TestChangeColumn.java
index 02295d6..2d8e7c1 100644
--- a/src/test/org/apache/ddlutils/io/TestChangeColumn.java
+++ b/src/test/org/apache/ddlutils/io/TestChangeColumn.java
@@ -28,6 +28,7 @@
 import junit.framework.Test;
 
 import org.apache.commons.beanutils.DynaBean;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.platform.sybase.SybasePlatform;
 
 /**
@@ -39,7 +40,7 @@
  *  
  * @version $Revision: $
  */
-public class TestChangeColumn extends RoundtripTestBase
+public class TestChangeColumn extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/io/TestConstraints.java b/src/test/org/apache/ddlutils/io/TestConstraints.java
index ba1fb40..43a4f15 100644
--- a/src/test/org/apache/ddlutils/io/TestConstraints.java
+++ b/src/test/org/apache/ddlutils/io/TestConstraints.java
@@ -21,21 +21,22 @@
 
 import java.util.List;
 
+import junit.framework.Test;
+
 import org.apache.commons.beanutils.DynaBean;
 import org.apache.commons.lang.StringUtils;
 import org.apache.ddlutils.DdlUtilsException;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.model.Database;
 import org.apache.ddlutils.platform.derby.DerbyPlatform;
 import org.apache.ddlutils.platform.sybase.SybasePlatform;
 
-import junit.framework.Test;
-
 /**
  * Performs the constraint tests.
  * 
  * @version $Revision: 289996 $
  */
-public class TestConstraints extends RoundtripTestBase
+public class TestConstraints extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/io/TestDatatypes.java b/src/test/org/apache/ddlutils/io/TestDatatypes.java
index 1fb0846..6eae440 100644
--- a/src/test/org/apache/ddlutils/io/TestDatatypes.java
+++ b/src/test/org/apache/ddlutils/io/TestDatatypes.java
@@ -33,6 +33,7 @@
 
 import junit.framework.Test;
 
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.model.Database;
 import org.apache.ddlutils.platform.interbase.InterbasePlatform;
 
@@ -41,7 +42,7 @@
  * 
  * @version $Revision: $
  */
-public class TestDatatypes extends RoundtripTestBase
+public class TestDatatypes extends TestAgainstLiveDatabaseBase
 {
     // TODO: special columns (java_object, array, distinct, ...)
 
diff --git a/src/test/org/apache/ddlutils/io/TestDropColumn.java b/src/test/org/apache/ddlutils/io/TestDropColumn.java
index 09458a1..c225a68 100644
--- a/src/test/org/apache/ddlutils/io/TestDropColumn.java
+++ b/src/test/org/apache/ddlutils/io/TestDropColumn.java
@@ -25,12 +25,14 @@
 
 import junit.framework.Test;
 
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
+
 /**
  * Tests database alterations that drop columns.
  * 
  * @version $Revision: $
  */
-public class TestDropColumn extends RoundtripTestBase
+public class TestDropColumn extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/io/TestInsertColumn.java b/src/test/org/apache/ddlutils/io/TestInsertColumn.java
index 7cedcf1..734f573 100644
--- a/src/test/org/apache/ddlutils/io/TestInsertColumn.java
+++ b/src/test/org/apache/ddlutils/io/TestInsertColumn.java
@@ -25,6 +25,7 @@
 import junit.framework.Test;
 
 import org.apache.commons.beanutils.DynaBean;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.platform.sybase.SybasePlatform;
 
 /**
@@ -32,7 +33,7 @@
  * 
  * @version $Revision: $
  */
-public class TestInsertColumn extends RoundtripTestBase
+public class TestInsertColumn extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/io/TestMisc.java b/src/test/org/apache/ddlutils/io/TestMisc.java
index 0de8c0c..7c3da99 100644
--- a/src/test/org/apache/ddlutils/io/TestMisc.java
+++ b/src/test/org/apache/ddlutils/io/TestMisc.java
@@ -32,6 +32,7 @@
 import junit.framework.Test;
 
 import org.apache.commons.beanutils.DynaBean;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.ddlutils.model.Database;
 import org.apache.ddlutils.platform.hsqldb.HsqlDbPlatform;
 import org.apache.ddlutils.platform.sybase.SybasePlatform;
@@ -45,7 +46,7 @@
  * 
  * @version $Revision: $
  */
-public class TestMisc extends RoundtripTestBase
+public class TestMisc extends TestAgainstLiveDatabaseBase
 {
     /**
      * Parameterized test case pattern.
diff --git a/src/test/org/apache/ddlutils/task/TestDropTablesCommand.java b/src/test/org/apache/ddlutils/task/TestDropTablesCommand.java
index 56f84fb..f6708e9 100644
--- a/src/test/org/apache/ddlutils/task/TestDropTablesCommand.java
+++ b/src/test/org/apache/ddlutils/task/TestDropTablesCommand.java
@@ -19,6 +19,8 @@
  * under the License.
  */
 
+import junit.framework.Test;
+
 import org.apache.ddlutils.io.DatabaseIO;
 import org.apache.ddlutils.model.Database;
 
@@ -30,6 +32,16 @@
 public class TestDropTablesCommand extends TestTaskBase
 {
     /**
+     * Parameterized test case pattern.
+     * 
+     * @return The tests
+     */
+    public static Test suite() throws Exception
+    {
+        return getTests(TestDropTablesCommand.class);
+    }
+
+    /**
      * Tests the task against an empty database. 
      */
     public void testEmptyDatabase()
diff --git a/src/test/org/apache/ddlutils/task/TestTaskBase.java b/src/test/org/apache/ddlutils/task/TestTaskBase.java
index bebd1e3..c885d2c 100644
--- a/src/test/org/apache/ddlutils/task/TestTaskBase.java
+++ b/src/test/org/apache/ddlutils/task/TestTaskBase.java
@@ -24,7 +24,7 @@
 import javax.sql.DataSource;
 
 import org.apache.commons.dbcp.BasicDataSource;
-import org.apache.ddlutils.TestDatabaseWriterBase;
+import org.apache.ddlutils.TestAgainstLiveDatabaseBase;
 import org.apache.tools.ant.Project;
 
 /**
@@ -32,18 +32,9 @@
  * 
  * @version $Revision: $
  */
-public abstract class TestTaskBase extends TestDatabaseWriterBase
+public abstract class TestTaskBase extends TestAgainstLiveDatabaseBase
 {
     /**
-     * {@inheritDoc}
-     */
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-        getPlatform().setDelimitedIdentifierModeOn(false);
-    }
-
-    /**
      * Returns an instance of the {@link DatabaseToDdlTask}, already configured with
      * a project and the tested database.
      * 
@@ -65,6 +56,7 @@
         task.addConfiguredDatabase((BasicDataSource)getDataSource());
         task.setCatalogPattern(catalog);
         task.setSchemaPattern(schema);
+        task.setUseDelimitedSqlIdentifiers(getPlatform().isDelimitedIdentifierModeOn());
         return task;
     }
 }
diff --git a/src/test/org/apache/ddlutils/task/TestWriteSchemaToFileCommand.java b/src/test/org/apache/ddlutils/task/TestWriteSchemaToFileCommand.java
index 80a7b8b..18bd04d 100644
--- a/src/test/org/apache/ddlutils/task/TestWriteSchemaToFileCommand.java
+++ b/src/test/org/apache/ddlutils/task/TestWriteSchemaToFileCommand.java
@@ -22,6 +22,8 @@
 import java.io.File;
 import java.io.IOException;
 
+import junit.framework.Test;
+
 import org.apache.ddlutils.io.DatabaseIO;
 import org.apache.ddlutils.model.Database;
 import org.apache.tools.ant.BuildException;
@@ -34,6 +36,16 @@
 public class TestWriteSchemaToFileCommand extends TestTaskBase
 {
     /**
+     * Parameterized test case pattern.
+     * 
+     * @return The tests
+     */
+    public static Test suite() throws Exception
+    {
+        return getTests(TestWriteSchemaToFileCommand.class);
+    }
+
+    /**
      * Adds the writeSchemaToFile sub task to the given task, executes it, and checks its output.
      *
      * @param task                    The task
