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));
     }

Reply via email to