This is an automated email from the ASF dual-hosted git repository. ntimofeev pushed a commit to branch STABLE-4.2 in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.2 by this push: new 8bcc7fc1f CAY-2885 Modeler: DbImport fails to load DB schema view 8bcc7fc1f is described below commit 8bcc7fc1fd4b42a0df5ea922419fa7fd5ea61423 Author: Nikita Timofeev <stari...@gmail.com> AuthorDate: Mon Apr 14 14:31:04 2025 +0400 CAY-2885 Modeler: DbImport fails to load DB schema view --- RELEASE-NOTES.txt | 1 + .../org/apache/cayenne/modeler/action/LoadDbSchemaAction.java | 2 +- .../cayenne/modeler/editor/dbimport/DatabaseSchemaLoader.java | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 0add80420..fa56a29ce 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -18,6 +18,7 @@ CAY-2884 Upgrade gradle to 8.13 Bug Fixes: CAY-2883 License and notice templates are not processed by the Gradle build +CAY-2885 Modeler: DbImport fails to load DB schema view ---------------------------------- Release: 4.2.2 diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LoadDbSchemaAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LoadDbSchemaAction.java index 9f7b0155f..9f934f396 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LoadDbSchemaAction.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/LoadDbSchemaAction.java @@ -128,7 +128,7 @@ public class LoadDbSchemaAction extends DBConnectionAwareAction { private void loadTables(DBConnectionInfo connectionInfo, TreePath tablePath, - DbImportView rootParent) throws SQLException { + DbImportView rootParent) throws Exception { ReverseEngineering databaseReverseEngineering = new DatabaseSchemaLoader() .loadTables(connectionInfo, getApplication().getClassLoadingService(), diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DatabaseSchemaLoader.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DatabaseSchemaLoader.java index 476c62d40..bb2d406c6 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DatabaseSchemaLoader.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DatabaseSchemaLoader.java @@ -125,9 +125,10 @@ public class DatabaseSchemaLoader { public ReverseEngineering loadTables(DBConnectionInfo connectionInfo, ClassLoadingService loadingService, TreePath path, - String[] tableTypesFromConfig) throws SQLException { + String[] tableTypesFromConfig) throws Exception { int pathIndex = 1; String catalogName = null, schemaName = null; + DbAdapter adapter = connectionInfo.makeAdapter(loadingService); Object userObject = getUserObjectOrNull(path, pathIndex); if (userObject != null) { @@ -158,7 +159,10 @@ public class DatabaseSchemaLoader { String table = resultSet.getString("TABLE_NAME"); String schema = resultSet.getString("TABLE_SCHEM"); String catalog = resultSet.getString("TABLE_CAT"); - packTable(table, catalog == null ? catalogName : catalog, schema, null); + String realCatalogName = catalog == null || !adapter.supportsCatalogsOnReverseEngineering() + ? catalogName + : catalog; + packTable(table, realCatalogName, schema, null); } if (!hasTables && (catalogName != null || schemaName != null)) { packFilterContainer(catalogName, schemaName);