Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 28 additions & 95 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -680,9 +680,13 @@
<source>${compileSource}</source>
<target>${compileSource}</target>
<release>8</release>
<compilerVersion>${compileSource}</compilerVersion>
<debug>true</debug>
<fork>true</fork>
<compilerArgs>
<!-- Java 8 bytecode target is intentional, for consumer compatibility; silence the
resulting "source/target value 8 is obsolete" advisory noise. -->
<arg>-Xlint:-options</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
Expand Down Expand Up @@ -756,48 +760,18 @@
<version>${failsafePluginVersion}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<systemProperties>
<property>
<name>derby.stream.error.file</name>
<value>${project.build.directory}/derby.log</value>
</property>
<property>
<name>dbunit.profile</name>
<value>${dbunit.profile}</value>
</property>
<property>
<name>dbunit.profile.driverClass</name>
<value>${dbunit.profile.driverClass}</value>
</property>
<property>
<name>dbunit.profile.url</name>
<value>${dbunit.profile.url}</value>
</property>
<property>
<name>dbunit.profile.schema</name>
<value>${dbunit.profile.schema}</value>
</property>
<property>
<name>dbunit.profile.user</name>
<value>${dbunit.profile.user}</value>
</property>
<property>
<name>dbunit.profile.password</name>
<value>${dbunit.profile.password}</value>
</property>
<property>
<name>dbunit.profile.unsupportedFeatures</name>
<value>${dbunit.profile.unsupportedFeatures}</value>
</property>
<property>
<name>dbunit.profile.ddl</name>
<value>${dbunit.profile.ddl}</value>
</property>
<property>
<name>dbunit.profile.multiLineSupport</name>
<value>${dbunit.profile.multiLineSupport}</value>
</property>
</systemProperties>
<systemPropertyVariables>
<derby.stream.error.file>${project.build.directory}/derby.log</derby.stream.error.file>
<dbunit.profile>${dbunit.profile}</dbunit.profile>
<dbunit.profile.driverClass>${dbunit.profile.driverClass}</dbunit.profile.driverClass>
<dbunit.profile.url>${dbunit.profile.url}</dbunit.profile.url>
<dbunit.profile.schema>${dbunit.profile.schema}</dbunit.profile.schema>
<dbunit.profile.user>${dbunit.profile.user}</dbunit.profile.user>
<dbunit.profile.password>${dbunit.profile.password}</dbunit.profile.password>
<dbunit.profile.unsupportedFeatures>${dbunit.profile.unsupportedFeatures}</dbunit.profile.unsupportedFeatures>
<dbunit.profile.ddl>${dbunit.profile.ddl}</dbunit.profile.ddl>
<dbunit.profile.multiLineSupport>${dbunit.profile.multiLineSupport}</dbunit.profile.multiLineSupport>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
Expand Down Expand Up @@ -861,14 +835,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadocPluginVersion}</version>
<!--
see https://sourceforge.net/p/dbunit/code.git/merge-requests/25/
FIXME remove -Xdoclint:none after JavaDoc cleanup.
-->
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<doclint>none</doclint>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down Expand Up @@ -1044,44 +1010,17 @@
<includes>
<include>**/*Test.java</include>
</includes>
<systemProperties>
<property>
<name>dbunit.profile</name>
<value>${dbunit.profile}</value>
</property>
<property>
<name>dbunit.profile.driverClass</name>
<value>${dbunit.profile.driverClass}</value>
</property>
<property>
<name>dbunit.profile.url</name>
<value>${dbunit.profile.url}</value>
</property>
<property>
<name>dbunit.profile.schema</name>
<value>${dbunit.profile.schema}</value>
</property>
<property>
<name>dbunit.profile.user</name>
<value>${dbunit.profile.user}</value>
</property>
<property>
<name>dbunit.profile.password</name>
<value>${dbunit.profile.password}</value>
</property>
<property>
<name>dbunit.profile.unsupportedFeatures</name>
<value>${dbunit.profile.unsupportedFeatures}</value>
</property>
<property>
<name>dbunit.profile.ddl</name>
<value>${dbunit.profile.ddl}</value>
</property>
<property>
<name>dbunit.profile.multiLineSupport</name>
<value>${dbunit.profile.multiLineSupport}</value>
</property>
</systemProperties>
<systemPropertyVariables>
<dbunit.profile>${dbunit.profile}</dbunit.profile>
<dbunit.profile.driverClass>${dbunit.profile.driverClass}</dbunit.profile.driverClass>
<dbunit.profile.url>${dbunit.profile.url}</dbunit.profile.url>
<dbunit.profile.schema>${dbunit.profile.schema}</dbunit.profile.schema>
<dbunit.profile.user>${dbunit.profile.user}</dbunit.profile.user>
<dbunit.profile.password>${dbunit.profile.password}</dbunit.profile.password>
<dbunit.profile.unsupportedFeatures>${dbunit.profile.unsupportedFeatures}</dbunit.profile.unsupportedFeatures>
<dbunit.profile.ddl>${dbunit.profile.ddl}</dbunit.profile.ddl>
<dbunit.profile.multiLineSupport>${dbunit.profile.multiLineSupport}</dbunit.profile.multiLineSupport>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
Expand Down Expand Up @@ -1709,12 +1648,6 @@
<head>To do:</head>
</tag>
</tags>
<!--
see https://sourceforge.net/p/dbunit/code.git/merge-requests/25/
FIXME remove -Xdoclint:none after JavaDoc cleanup.
-->
<additionalparam>-Xdoclint:none</additionalparam>
<doclint>none</doclint>
</configuration>
</plugin>
<plugin>
Expand Down
8 changes: 7 additions & 1 deletion src/changes/changes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
</properties>

<body>
<release version="3.4.1-SNAPSHOT" date="TBD" description="A documentation-site overhaul (new tutorials, 9 database vendor guides, a class-by-class Core Components reference, consolidated Filters/Datasets/Operations pages, and a new Developing DbUnit contributor section covering coding standards, commit/changelog requirements, and the GitHub workflow); an opt-in all-column sort for tables without a primary key; MultiSchemaMySqlMetadataHandler for multi-schema MySQL connections; and multiple bug fixes including escape-pattern handling, primary-key filter fallback, empty-dataset DTD export, DatabaseDataSet initialization order, and a Javadoc correctness sweep across the public API">
<release version="3.4.1-SNAPSHOT" date="TBD" description="A documentation-site overhaul (new tutorials, 9 database vendor guides, a class-by-class Core Components reference, consolidated Filters/Datasets/Operations pages, and a new Developing DbUnit contributor section covering coding standards, commit/changelog requirements, and the GitHub workflow); an opt-in all-column sort for tables without a primary key; MultiSchemaMySqlMetadataHandler for multi-schema MySQL connections; and multiple bug fixes including escape-pattern handling, primary-key filter fallback, empty-dataset DTD export, DatabaseDataSet initialization order, and a from-scratch clean-build pass across Javadoc doclint, Checkstyle, and compiler warnings">
<action dev="jeffjensen" type="add" issue="840" system="github" due-to="jeffjensen">
Add repo-root README.adoc, rendered natively by GitHub via Asciidoctor, so the repository landing page shows a pitch, build/reproducible-build badges, a pointer to the "dbUnit in 5 Minutes" tutorial, and links to the documentation site, Maven coordinates, GitHub Discussions, and CONTRIBUTING.md instead of nothing.
</action>
Expand Down Expand Up @@ -207,6 +207,12 @@
<action dev="jeffjensen" type="fix" issue="886" system="github" due-to="jeffjensen">
Fix all Javadoc warnings and errors reported by "mvnw site" (maven-javadoc-plugin's javadoc and test-javadoc reports), across 17 main and 5 test source files: @param tags left mismatched by earlier signature or rename changes (DataFileLoader#load, the fileloader constructors, DefaultPrepAndExpectedTestCase#makeAdditionalColumnInfo, FlatXmlWriter/XmlDataSetWriter's Charset constructors), stale @see/@link references to renamed test methods and to classes not visible from the main sourcepath (test-only DefaultPrepAndExpectedTestCase siblings, an ant-testutils class, a decades-old dead reference in DbUnitTaskIT), an unresolvable cross-package @throws type in IDataSet, unescaped angle brackets and ampersands in Semaphore/Sync/FlatXmlDataSet code samples, mistyped @Author/@Since tags in UniqueIdentifierType, an invalid standalone @inheritDoc, and two placeholder "@since &lt;dbunit-version&gt;" tags backfilled from git history (2.4.8, 2.4.7).
</action>
<action dev="jeffjensen" type="fix" issue="902" system="github" due-to="jeffjensen">
Run a full "mvnw clean install site" and fix everything it flagged. Removed the long-standing "FIXME remove -Xdoclint:none after JavaDoc cleanup" suppression from maven-javadoc-plugin's build and reporting configuration now that issue 886's cleanup is done, then fixed every doclint warning and error the removal surfaced across the main source tree: missing one-sentence class/interface/field summaries, including on the framework's core public API (IDatabaseConnection, IDatabaseTester, IDataSet, ITableMetaData, DataType, DatabaseOperation) whose methods were also missing @param/@return/@throws tags entirely; invalid HTML (unclosed and self-closing &lt;p&gt; tags, &lt;code&gt;&lt;pre&gt; nesting, &lt;xmp&gt;/&lt;tt&gt; tags unsupported in HTML5, an unescaped "&lt;null&gt;" literal, a table missing &lt;caption&gt;) throughout Doug Lea's vendored util.concurrent classes and elsewhere; an unresolvable {@link ITable} reference from a missing import; a typo'd &lt;/cde&gt; closing tag and out-of-sequence heading in RelativeDateTimeParser; @see tags illegally wrapping {@link}; and stale @throws Exception tags left over from ISearchCallback/ISearchAlgorithm's narrowing to SearchException. Also fixed the compiler warnings the same build surfaced: a dead compilerVersion parameter, 21 non-varargs calls to varargs methods with an inexact array argument type (several of which were silently mis-formatting SLF4J debug messages by spreading an array's elements across a single "{}" placeholder instead of logging the array itself), and Surefire/Failsafe's deprecated systemProperties style. Finally, fixed all 54 Checkstyle violations the pinned checkstyle 13.3.0 engine reported once its (previously flaky-cached) dependency resolved correctly: missing @author/@version Javadoc tags on 3.x-era classes that predate the project's tag convention, and two wildcard imports expanded to explicit ones.
</action>
<action dev="jeffjensen" type="fix" issue="902" system="github" due-to="jeffjensen">
Fix all Asciidoctor warnings and errors reported by "mvnw site" rendering the doc site: two anttask.adoc/canoo-webtest-example.adoc heading levels jumping straight from the document title to level 2 instead of level 1; a numbered list in anttask.adoc splitting into a second, incorrectly-restarted list because its source-code block wasn't attached with a `+` list continuation; five anttask.adoc tables mistakenly using `!` as the cell separator instead of `|`, which Asciidoctor doesn't recognize without a matching `separator` attribute; and four literal "[...]" elision markers in intro.adoc being misparsed as (invalid, empty) AsciiDoc block attribute lists, now backslash-escaped. Confirmed the remaining "Fallback behaviour for node: admonition/open" notices (verified present for every NOTE:/TIP:/etc. admonition and every "--" open block sitewide, not specific to any one page) are an architectural limitation of the Doxia Sink interface itself per Asciidoctor's own Maven Tools docs, not fixable via content changes or a newer asciidoctor-parser-doxia-module version.
</action>
</release>
<release version="3.4.0" date="Jul 28, 2026" description="Test-suite hardening (un-skip and strengthen dozens of disabled/no-op tests); add CachingConnectionProvider and reduce DefaultPrepAndExpectedTestCase's per-test connection churn; pin identifier case-folding to Locale.ENGLISH for Turkish-locale correctness; and a broad set of correctness fixes across export formats (XML, YAML, CSV, XLS, Ant), TimestampDataType timezone handling, InsertOperation/TransactionOperation, and resource-leak cleanups">
<action dev="jeffjensen" type="fix" issue="797" system="github" due-to="jeffjensen">
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/org/dbunit/AbstractDatabaseTester.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,17 @@ public String toString()
private DatabaseOperation tearDownOperation = DatabaseOperation.NONE;
private IOperationListener operationListener;

/**
* Creates a tester with no schema.
*/
public AbstractDatabaseTester()
{
this(null);
}

/**
* Creates a tester for the given schema.
*
* @param schema
* The schema to be tested. Can be <code>null</code>
* @since 2.4.3
Expand Down Expand Up @@ -146,6 +151,8 @@ public void setTearDownOperation(DatabaseOperation tearDownOperation)

/**
* Returns the schema value.
*
* @return the schema value, or {@code null} if none is set.
*/
protected String getSchema()
{
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/dbunit/DatabaseUnitException.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@


/**
* Base checked exception for errors raised by the DbUnit framework.
*
* @author Manuel Laflamme
* @version $Revision$
*/
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/dbunit/DatabaseUnitRuntimeException.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@


/**
* Base unchecked exception for errors raised by the DbUnit framework.
*
* @author Manuel Laflamme
* @author Last changed by: $Author$
* @version $Revision$ $Date$
Expand Down
20 changes: 10 additions & 10 deletions src/main/java/org/dbunit/DefaultPrepAndExpectedTestCase.java
Original file line number Diff line number Diff line change
Expand Up @@ -1107,7 +1107,7 @@ public IDataSet getExpectedDataset()
/**
* Get the databaseTester.
*
* @see {@link #databaseTester}.
* @see #databaseTester
*
* @return The databaseTester.
*/
Expand All @@ -1120,7 +1120,7 @@ public IDatabaseTester getDatabaseTester()
/**
* Set the databaseTester.
*
* @see {@link #databaseTester}.
* @see #databaseTester
*
* @param databaseTester
* The databaseTester to set.
Expand All @@ -1134,7 +1134,7 @@ public void setDatabaseTester(final IDatabaseTester databaseTester)
* Get whether the connection lookupFeatureValue() and cleanupData() are
* done with is closed.
*
* @see {@link #closeConnectionAfterTest}.
* @see #closeConnectionAfterTest
*
* @return True if it is closed, false if not.
* @since 3.4.0
Expand All @@ -1151,7 +1151,7 @@ public boolean isCloseConnectionAfterTest()
* test methods, so this instance does not close a connection other tests
* still expect to reuse.
*
* @see {@link #closeConnectionAfterTest}.
* @see #closeConnectionAfterTest
*
* @param closeConnectionAfterTest
* True to close it, false to leave it open.
Expand All @@ -1166,7 +1166,7 @@ public void setCloseConnectionAfterTest(
/**
* Get the dataFileLoader.
*
* @see {@link #dataFileLoader}.
* @see #dataFileLoader
*
* @return The dataFileLoader.
*/
Expand All @@ -1178,7 +1178,7 @@ public DataFileLoader getDataFileLoader()
/**
* Set the dataFileLoader.
*
* @see {@link #dataFileLoader}.
* @see #dataFileLoader
*
* @param dataFileLoader
* The dataFileLoader to set.
Expand All @@ -1191,7 +1191,7 @@ public void setDataFileLoader(final DataFileLoader dataFileLoader)
/**
* Set the prepDs.
*
* @see {@link #prepDataSet}.
* @see #prepDataSet
*
* @param prepDataSet
* The prepDs to set.
Expand All @@ -1204,7 +1204,7 @@ public void setPrepDs(final IDataSet prepDataSet)
/**
* Set the expectedDs.
*
* @see {@link #expectedDataSet}.
* @see #expectedDataSet
*
* @param expectedDataSet
* The expectedDs to set.
Expand All @@ -1217,7 +1217,7 @@ public void setExpectedDs(final IDataSet expectedDataSet)
/**
* Get the tableDefs.
*
* @see {@link #verifyTableDefs}.
* @see #verifyTableDefs
*
* @return The tableDefs.
*/
Expand All @@ -1229,7 +1229,7 @@ public VerifyTableDefinition[] getVerifyTableDefs()
/**
* Set the tableDefs.
*
* @see {@link #verifyTableDefs}.
* @see #verifyTableDefs
*
* @param verifyTableDefs
* The tableDefs to set.
Expand Down
Loading
Loading