diff --git a/ebean-net-postgis-types/src/test/resources/application-test.yml b/ebean-net-postgis-types/src/test/resources/application-test.yml index f41c758cd..10c18ffa0 100644 --- a/ebean-net-postgis-types/src/test/resources/application-test.yml +++ b/ebean-net-postgis-types/src/test/resources/application-test.yml @@ -5,12 +5,12 @@ ebean: test: # useDocker: false # shutdown: stop # stop | remove - platform: netpostgis + platform: postgis ddlMode: dropCreate # none | dropCreate | create | migration | createOnly | migrationDropCreate dbName: mynetgisapp - netpostgis: - containerName: ebeanbuild_postgisnet + postgis: + containerName: ebeanbuild_postgis2 port: 9433 image: ghcr.io/baosystems/postgis:15 # extensions: postgis diff --git a/ebean-test/src/main/java/io/ebean/test/config/platform/NetPostgisSetup.java b/ebean-test/src/main/java/io/ebean/test/config/platform/NetPostgisSetup.java deleted file mode 100644 index 6b7437413..000000000 --- a/ebean-test/src/main/java/io/ebean/test/config/platform/NetPostgisSetup.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.ebean.test.config.platform; - -import java.util.Properties; - -/** - * A variation of Postgres that expected Postgis extension support. - * - * Uses postgis/postgis image by default. - */ -class NetPostgisSetup implements PlatformSetup { - - @Override - public Properties setup(Config config) { - int defaultPort = config.isUseDocker() ? 7432 : 5432; - config.setDockerPlatform("postgis"); - config.ddlMode("dropCreate"); - config.setDefaultPort(defaultPort); - config.setUsernameDefault(); - config.setPasswordDefault(); - config.setDriver("net.postgis.jdbc.DriverWrapperLW"); - config.setUrl("jdbc:postgresql_lwgis://${host}:${port}/${databaseName}"); - - String schema = config.getSchema(); - if (schema != null && !schema.equals(config.getUsername())) { - config.urlAppend("?currentSchema=" + schema); - } - config.datasourceDefaults(); - return dockerProperties(config); - } - - private Properties dockerProperties(Config config) { - if (!config.isUseDocker()) { - return new Properties(); - } - config.setExtensions("hstore,pgcrypto,postgis"); - config.setDockerContainerName("ut_postgis"); - config.setDockerVersion("14-3.2"); - return config.getDockerProperties(); - } - - @Override - public void setupExtraDbDataSource(Config config) { - int defaultPort = config.isUseDocker() ? 7432 : 5432; - config.setDefaultPort(defaultPort); - config.setExtraUsernameDefault(); - config.setExtraDbPasswordDefault(); - config.setExtraUrl("jdbc:postgresql_lwgis://${host}:${port}/${databaseName}"); - config.extraDatasourceDefaults(); - } - - @Override - public boolean isLocal() { - return false; - } - -} diff --git a/ebean-test/src/main/java/io/ebean/test/config/platform/PlatformAutoConfig.java b/ebean-test/src/main/java/io/ebean/test/config/platform/PlatformAutoConfig.java index e3afc43c4..8ef841025 100644 --- a/ebean-test/src/main/java/io/ebean/test/config/platform/PlatformAutoConfig.java +++ b/ebean-test/src/main/java/io/ebean/test/config/platform/PlatformAutoConfig.java @@ -26,7 +26,6 @@ public class PlatformAutoConfig { KNOWN_PLATFORMS.put("sqlite", new SqliteSetup()); KNOWN_PLATFORMS.put("postgres", new PostgresSetup()); KNOWN_PLATFORMS.put("postgis", new PostgisSetup()); - KNOWN_PLATFORMS.put("netpostgis", new NetPostgisSetup()); KNOWN_PLATFORMS.put("nuodb", new NuoDBSetup()); KNOWN_PLATFORMS.put("mysql", new MySqlSetup()); KNOWN_PLATFORMS.put("mariadb", new MariaDBSetup()); diff --git a/ebean-test/src/main/java/io/ebean/test/config/platform/PostgisSetup.java b/ebean-test/src/main/java/io/ebean/test/config/platform/PostgisSetup.java index b254aad60..661a50384 100644 --- a/ebean-test/src/main/java/io/ebean/test/config/platform/PostgisSetup.java +++ b/ebean-test/src/main/java/io/ebean/test/config/platform/PostgisSetup.java @@ -9,6 +9,9 @@ import java.util.Properties; */ class PostgisSetup implements PlatformSetup { + private static final String NET_POSTGIS_DRIVER = "net.postgis.jdbc.DriverWrapperLW"; + private static final String ORG_POSTGIS_DRIVER = "org.postgis.DriverWrapperLW"; + @Override public Properties setup(Config config) { int defaultPort = config.isUseDocker() ? 7432 : 5432; @@ -17,9 +20,8 @@ class PostgisSetup implements PlatformSetup { config.setDefaultPort(defaultPort); config.setUsernameDefault(); config.setPasswordDefault(); - config.setDriver("org.postgis.DriverWrapperLW"); + config.setDriver(driver(config)); config.setUrl("jdbc:postgresql_lwgis://${host}:${port}/${databaseName}"); - String schema = config.getSchema(); if (schema != null && !schema.equals(config.getUsername())) { config.urlAppend("?currentSchema=" + schema); @@ -28,6 +30,19 @@ class PostgisSetup implements PlatformSetup { return dockerProperties(config); } + private String driver(Config config) { + String driver = config.getPlatformKey("driver", ""); + if (!driver.isEmpty()) { + return driver; + } + try { + Class.forName(NET_POSTGIS_DRIVER); + return NET_POSTGIS_DRIVER; + } catch (ClassNotFoundException e){ + return ORG_POSTGIS_DRIVER; + } + } + private Properties dockerProperties(Config config) { if (!config.isUseDocker()) { return new Properties();