You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2019/09/26 11:03:16 UTC

[cayenne] branch STABLE-4.1 updated: Datanode dbimport tab cleanup and minor fixes

This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
     new b14000c  Datanode dbimport tab cleanup and minor fixes
b14000c is described below

commit b14000c852f41aa53355b4d32d17a1f7b9853099
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Thu Sep 26 14:03:08 2019 +0300

    Datanode dbimport tab cleanup and minor fixes
---
 .../modeler/action/ReverseEngineeringAction.java   |  2 +-
 .../modeler/dialog/db/load/DbLoaderContext.java    | 10 +++++++--
 .../modeler/editor/dbimport/DbImportView.java      | 24 ++++++++++------------
 3 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index b5cba06..4f64536 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -109,7 +109,7 @@ public class ReverseEngineeringAction extends DBWizardAction<DbActionOptionsDial
             return;
         }
 
-        if(!context.buildConfig(connectionInfo, view)) {
+        if(!context.buildConfig(connectionInfo, view, true)) {
             try {
                 context.getConnection().close();
             } catch (SQLException ignored) {}
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
index e038483..896933b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
@@ -127,13 +127,19 @@ public class DbLoaderContext {
         reverseEngineering.setStripFromTableNames(view.getStripFromTableNames());
     }
 
-    public boolean buildConfig(DBConnectionInfo connectionInfo, DbImportView view) {
+    public boolean buildConfig(DBConnectionInfo connectionInfo, DbImportView view, boolean headless) {
         if (connectionInfo == null) {
             return false;
         }
         // Build reverse engineering from metadata and dialog values
         ReverseEngineering metaReverseEngineering = metaData.get(getProjectController().getCurrentDataMap(), ReverseEngineering.class);
-        fillReverseEngineeringFromView(metaReverseEngineering, view);
+        if(metaReverseEngineering == null) {
+            return false;
+        }
+        // skip this step for batch run from domain tab
+        if(!headless){
+            fillReverseEngineeringFromView(metaReverseEngineering, view);
+        }
         // Create copy of metaReverseEngineering
         ReverseEngineering reverseEngineering = new ReverseEngineering(metaReverseEngineering);
 
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
index 289c83a..d41af96 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportView.java
@@ -199,20 +199,18 @@ public class DbImportView extends JPanel {
             treeToolbar.unlockButtons();
             ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication()
                     .getMetaData().get(map, ReverseEngineering.class);
-            if (reverseEngineering != null) {
-                configPanel.fillCheckboxes(reverseEngineering);
-                configPanel.initializeTextFields(reverseEngineering);
-                configPanel.initStrategy(reverseEngineering);
-                String[] tableTypes = reverseEngineering.getTableTypes();
-                if(tableTypes.length != 0) {
-                    configPanel.getTableTypes().setText(String.join(",", tableTypes));
-                } else {
-                    configPanel.getTableTypes().setText("TABLE, VIEW");
-                    configPanel.getTableTypes().updateModel();
-                }
+            if(reverseEngineering == null) {
+                // create config with default values, but not store it into metadata
+                // config will be stored on change only, this is for not making project dirty on just selecting dbimport tab
+                reverseEngineering = new ReverseEngineering();
+            }
+            configPanel.fillCheckboxes(reverseEngineering);
+            configPanel.initializeTextFields(reverseEngineering);
+            configPanel.initStrategy(reverseEngineering);
+            String[] tableTypes = reverseEngineering.getTableTypes();
+            if(tableTypes.length != 0) {
+                configPanel.getTableTypes().setText(String.join(",", tableTypes));
             } else {
-                // default values
-                configPanel.getUsePrimitives().setSelected(true);
                 configPanel.getTableTypes().setText("TABLE, VIEW");
                 configPanel.getTableTypes().updateModel();
             }