Skip to content

Replace deprecated Date.toGMTString() with SimpleDateFormat#295

Merged
rvosa merged 2 commits intomasterfrom
copilot/fix-auxdata-test-failure
Dec 21, 2025
Merged

Replace deprecated Date.toGMTString() with SimpleDateFormat#295
rvosa merged 2 commits intomasterfrom
copilot/fix-auxdata-test-failure

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 21, 2025

The testGetCreationDate() test was using the deprecated Date.toGMTString() method (deprecated since Java 1.1). Additionally, the AuxData.getCreationDate() method parsed dates without specifying a timezone, causing test failures in non-EST environments.

Changes

AuxDataTest.java

  • Replaced toGMTString() with SimpleDateFormat using pattern "dd MMM yyyy HH:mm:ss zzz"
  • Fixed format pattern from hh (12-hour) to HH (24-hour) to correctly format 19:14:16
  • Added imports: DateFormat, SimpleDateFormat, TimeZone

AuxData.java

  • Added explicit EST timezone to date parser: ds.setTimeZone(TimeZone.getTimeZone("EST"))
  • Ensures consistent parsing of legacy TreeBASE timestamps (1996 EST) across all environments
// Before
assertEquals("28 Jan 1996 19:14:16 GMT", d.toGMTString());

// After  
DateFormat df = new SimpleDateFormat("dd MMM yyyy HH:mm:ss zzz");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
assertEquals("28 Jan 1996 19:14:16 GMT", df.format(d));

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • download.osgeo.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher test -Dtest=AuxDataTest#testGetCreationDate (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher dependency:build-classpath -q -DincludeScope=test (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher test-compile -DskipTests (dns block)
  • repository.gbif.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher test -Dtest=AuxDataTest#testGetCreationDate (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher dependency:build-classpath -q -DincludeScope=test (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher test-compile -DskipTests (dns block)
  • repository.jboss.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher test -Dtest=AuxDataTest#testGetCreationDate (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher dependency:build-classpath -q -DincludeScope=test (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/treebase/treebase/treebase-core org.codehaus.plexus.classworlds.launcher.Launcher test-compile -DskipTests (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

The JUnit test below, from treebase-core/src/test/java/org/cipres/treebase/auxdata/AuxDataTest.java, is failing. What is going on and how do we fix it?

		Date d = aux.getCreationDate();
//		DateFormat df = new SimpleDateFormat("dd MMM yyyy hh:mm:ss zzz");
//		df.setTimeZone(TimeZone.getTimeZone("GMT"));
//		assertEquals("28 Jan 1996 19:14:16 GMT", df.format(d));
		assertEquals("28 Jan 1996 19:14:16 GMT", d.toGMTString());
	}

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix failing test for getCreationDate method Replace deprecated Date.toGMTString() with SimpleDateFormat Dec 21, 2025
Copilot AI requested a review from rvosa December 21, 2025 15:09
@rvosa rvosa marked this pull request as ready for review December 21, 2025 15:10
@rvosa rvosa merged commit 54d9255 into master Dec 21, 2025
0 of 2 checks passed
@rvosa rvosa deleted the copilot/fix-auxdata-test-failure branch December 21, 2025 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants