Author: desruisseaux
Date: Mon Sep 29 22:30:41 2025
New Revision: 1928850
Log:
Add a test using EPSG database embedded in a JAR file.
Added:
sis/release-test/maven/with-epsg-embedded/ (props changed)
sis/release-test/maven/with-epsg-embedded/pom.xml
- copied, changed from r1928849, sis/release-test/maven/with-epsg/pom.xml
sis/release-test/maven/with-epsg-embedded/src/
sis/release-test/maven/with-epsg-embedded/src/main/
sis/release-test/maven/with-epsg-embedded/src/main/java/
sis/release-test/maven/with-epsg-embedded/src/main/java/org/
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/sis/
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/sis/test/
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/sis/test/referencing/
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/sis/test/referencing/package-info.java
- copied, changed from r1928849,
sis/release-test/maven/with-epsg/src/main/java/org/apache/sis/test/referencing/package-info.java
sis/release-test/maven/with-epsg-embedded/src/test/
sis/release-test/maven/with-epsg-embedded/src/test/java/
sis/release-test/maven/with-epsg-embedded/src/test/java/org/
sis/release-test/maven/with-epsg-embedded/src/test/java/org/apache/
sis/release-test/maven/with-epsg-embedded/src/test/java/org/apache/sis/
sis/release-test/maven/with-epsg-embedded/src/test/java/org/apache/sis/test/
sis/release-test/maven/with-epsg-embedded/src/test/java/org/apache/sis/test/ConnectionTest.java
- copied, changed from r1928849,
sis/release-test/maven/with-epsg/src/test/java/org/apache/sis/test/SelfConsistencyTest.java
Copied and modified: sis/release-test/maven/with-epsg-embedded/pom.xml (from
r1928849, sis/release-test/maven/with-epsg/pom.xml)
==============================================================================
--- sis/release-test/maven/with-epsg/pom.xml Mon Sep 29 21:31:25 2025
(r1928849, copy source)
+++ sis/release-test/maven/with-epsg-embedded/pom.xml Mon Sep 29 22:30:41
2025 (r1928850)
@@ -31,91 +31,25 @@
</parent>
<groupId>org.apache.sis.test</groupId>
- <artifactId>with-epsg</artifactId>
+ <artifactId>with-epsg-embedded</artifactId>
<packaging>jar</packaging>
- <name>Test SIS with EPSG installation script</name>
+ <name>Test SIS with EPSG embedded databaset</name>
<description>
- A project with almost all Apache SIS dependencies, for testing the
integrity of downloaded files.
- The connection to the EPSG database is done by `sis-epsg`, which installs
a local copy of the database.
+ A project using EPSG geodetic dataset as an embedded Derby database.
</description>
<dependencies>
<dependency>
<groupId>org.apache.sis.core</groupId>
- <artifactId>sis-utility</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.core</groupId>
- <artifactId>sis-metadata</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.core</groupId>
<artifactId>sis-referencing</artifactId>
<version>${sis.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.sis.core</groupId>
- <artifactId>sis-referencing-by-identifiers</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.core</groupId>
- <artifactId>sis-feature</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.storage</groupId>
- <artifactId>sis-storage</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.storage</groupId>
- <artifactId>sis-netcdf</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.storage</groupId>
- <artifactId>sis-xmlstore</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.storage</groupId>
- <artifactId>sis-geotiff</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.storage</groupId>
- <artifactId>sis-earth-observation</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.storage</groupId>
- <artifactId>sis-sqlstore</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.profiles</groupId>
- <artifactId>sis-french-profile</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sis.profiles</groupId>
- <artifactId>sis-japan-profile</artifactId>
- <version>${sis.version}</version>
- </dependency>
- <dependency>
<groupId>org.apache.sis.non-free</groupId>
- <artifactId>sis-epsg</artifactId>
+ <artifactId>sis-embedded-data</artifactId>
<version>${sis.version}</version>
<scope>runtime</scope>
</dependency>
- <dependency>
- <groupId>org.apache.sis.application</groupId>
- <artifactId>sis-console</artifactId>
- <version>${sis.version}</version>
- </dependency>
</dependencies>
</project>
Copied and modified:
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/sis/test/referencing/package-info.java
(from r1928849,
sis/release-test/maven/with-epsg/src/main/java/org/apache/sis/test/referencing/package-info.java)
==============================================================================
---
sis/release-test/maven/with-epsg/src/main/java/org/apache/sis/test/referencing/package-info.java
Mon Sep 29 21:31:25 2025 (r1928849, copy source)
+++
sis/release-test/maven/with-epsg-embedded/src/main/java/org/apache/sis/test/referencing/package-info.java
Mon Sep 29 22:30:41 2025 (r1928850)
@@ -17,11 +17,6 @@
/**
* Various operations for testing the Coordinate Reference Systems support.
- * Includes:
- *
- * <ul>
- * <li>Comparisons of Apache <abbr>SIS</abbr> with other map projection
libraries.</li>
- * </ul>
*
* @author Martin Desruisseaux (Geomatys)
*/
Copied and modified:
sis/release-test/maven/with-epsg-embedded/src/test/java/org/apache/sis/test/ConnectionTest.java
(from r1928849,
sis/release-test/maven/with-epsg/src/test/java/org/apache/sis/test/SelfConsistencyTest.java)
==============================================================================
---
sis/release-test/maven/with-epsg/src/test/java/org/apache/sis/test/SelfConsistencyTest.java
Mon Sep 29 21:31:25 2025 (r1928849, copy source)
+++
sis/release-test/maven/with-epsg-embedded/src/test/java/org/apache/sis/test/ConnectionTest.java
Mon Sep 29 22:30:41 2025 (r1928850)
@@ -16,6 +16,11 @@
*/
package org.apache.sis.test;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.SQLException;
+import org.apache.derby.jdbc.EmbeddedDataSource;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.util.FactoryException;
import org.apache.sis.referencing.CRS;
@@ -23,12 +28,42 @@ import org.apache.sis.util.Utilities;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
- * Applies a few self-consistency check.
+ * Tests the connection to the embedded database.
*/
-public class SelfConsistencyTest {
+public class ConnectionTest {
+ /**
+ * Verifies that the embedded resource is reachable.
+ *
+ * @throws IOException if an error occurred while checking the file
content.
+ */
+ @Test
+ public void verifyResource() throws IOException {
+ String file =
"META-INF/SIS_DATA/Databases/spatial-metadata/service.properties";
+ try (InputStream stream =
ClassLoader.getSystemClassLoader().getResourceAsStream(file)) {
+ assertNotNull(stream, "File not found: " + file);
+ assertEquals('#', stream.read());
+ }
+ }
+
+ /**
+ * Tries a connection to the embedded database.
+ *
+ * @throws SQLException if an error occurred while connecting to the
database.
+ */
+ @Test
+ public void verifyConnection() throws SQLException {
+ var ds = new EmbeddedDataSource();
+ ds.setDatabaseName("classpath:SIS_DATA/Databases/spatial-metadata");
+ try (Connection c = ds.getConnection()) {
+ c.setSchema("EPSG");
+ }
+ }
+
/**
* Tests fetching a CRS from an EPSG code, formatting to WKT, then parsing
the WKT.
*
@@ -36,7 +71,7 @@ public class SelfConsistencyTest {
*/
@Test
public void testParseWKT() throws FactoryException {
- CoordinateReferenceSystem crs = CRS.forCode("EPSG::3395");
+ CoordinateReferenceSystem crs = CRS.forCode("EPSG::6676");
CoordinateReferenceSystem roundTrip = CRS.fromWKT(crs.toWKT());
assertTrue(Utilities.equalsIgnoreMetadata(crs, roundTrip));
}