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/10/23 14:05:03 UTC

[cayenne] branch master updated: Datanode dbimport tab cleanup and minor fixes - pick from b14000c8

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9b53464  Datanode dbimport tab cleanup and minor fixes   - pick from b14000c8
9b53464 is described below

commit 9b534645e91c34b71a423744b468ee4ea23450ec
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Wed Oct 23 17:04:54 2019 +0300

    Datanode dbimport tab cleanup and minor fixes
      - pick from b14000c8
---
 .../modeler/action/ReverseEngineeringAction.java       |  2 +-
 .../modeler/dialog/db/load/DbLoaderContext.java        | 10 ++++++++--
 .../cayenne/modeler/editor/dbimport/DbImportView.java  | 18 +++++++++---------
 3 files changed, 18 insertions(+), 12 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 28d28ec..f4f04d6 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 ba9a436..2654e23 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 ac51d65..fc18fc2 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,14 @@ public class DbImportView extends JPanel {
             treeToolbar.unlockButtons();
             ReverseEngineering reverseEngineering = DbImportView.this.projectController.getApplication()
                     .getMetaData().get(map, ReverseEngineering.class);
-            if (reverseEngineering == null) {
+            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();
-                DbImportView.this.projectController.getApplication().getMetaData().add(map, reverseEngineering);
-                projectController.setDirty(true);
             }
             configPanel.fillCheckboxes(reverseEngineering);
             configPanel.initializeTextFields(reverseEngineering);
             configPanel.initStrategy(reverseEngineering);
-            treePanel.updateTree();
-            DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
-            root.removeAllChildren();
-            draggableTreePanel.updateTree(projectController.getCurrentDataMap());
-            draggableTreePanel.getMoveButton().setEnabled(false);
-            draggableTreePanel.getMoveInvertButton().setEnabled(false);
             String[] tableTypes = reverseEngineering.getTableTypes();
             if(tableTypes.length != 0) {
                 configPanel.getTableTypes().setText(String.join(",", tableTypes));
@@ -220,6 +214,12 @@ public class DbImportView extends JPanel {
                 configPanel.getTableTypes().setText("TABLE, VIEW");
                 configPanel.getTableTypes().updateModel();
             }
+            treePanel.updateTree();
+            DbImportTreeNode root = draggableTreePanel.getSourceTree().getRootNode();
+            root.removeAllChildren();
+            draggableTreePanel.updateTree(projectController.getCurrentDataMap());
+            draggableTreePanel.getMoveButton().setEnabled(false);
+            draggableTreePanel.getMoveInvertButton().setEnabled(false);
         }
         initFromModel = false;
     }