This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits 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 f0ca368d4 CAT-2938 Modeler: prettier DB Import - part 1
f0ca368d4 is described below
commit f0ca368d4735aa32ce78700ec791533034f23999
Author: Andrus Adamchik <[email protected]>
AuthorDate: Fri May 8 20:08:40 2026 -0400
CAT-2938 Modeler: prettier DB Import - part 1
cleanup...
* remove left toolbar lock that creates weird flickering (will this result
in race conditions on slow DB loads?)
* align panel grey font colors
---
.../editor/datamap/dbimport/ConfigToolbar.java | 5 +---
.../datamap/dbimport/DbImportTreeCellRenderer.java | 1 +
.../editor/datamap/dbimport/DbImportView.java | 30 +++++++++++-----------
.../editor/datamap/dbimport/DbSchemaToolbar.java | 5 +---
.../dbimport/action/LoadDbSchemaAction.java | 2 --
5 files changed, 18 insertions(+), 25 deletions(-)
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ConfigToolbar.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ConfigToolbar.java
index 54affc1c3..3a0d935c1 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ConfigToolbar.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ConfigToolbar.java
@@ -26,9 +26,7 @@ import org.apache.cayenne.dbsync.reverse.dbimport.Schema;
import
org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.DbImportActions;
import
org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.tree.DbImportTreeNode;
-import javax.swing.JButton;
-import javax.swing.JToolBar;
-import javax.swing.border.EmptyBorder;
+import javax.swing.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -66,7 +64,6 @@ class ConfigToolbar extends JToolBar {
this.levels = initLevels();
addButtons();
- this.setBorder(new EmptyBorder(0, 0, 0, 0));
}
void unlockButtons() {
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportTreeCellRenderer.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportTreeCellRenderer.java
index f575e8c07..5a00cf3c4 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportTreeCellRenderer.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportTreeCellRenderer.java
@@ -96,6 +96,7 @@ public class DbImportTreeCellRenderer extends
DefaultTreeCellRenderer {
}
if (node.getUserObject() instanceof String) {
setIcon(null);
+ setEnabled(true);
if (!sel) {
Color disabled =
UIManager.getColor("Label.disabledForeground");
setForeground(disabled != null ? disabled : Color.GRAY);
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
index 740b545b1..99345b1cd 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbImportView.java
@@ -58,33 +58,33 @@ public class DbImportView extends ProjectPanel {
DbImportTreeNode configRoot = new DbImportTreeNode(new
ReverseEngineering());
DbImportTree configTree = new DbImportTree(configRoot);
- DbImportTreeModel configModel = new DbImportTreeModel(configRoot,
true, "Configuration is empty.");
+ DbImportTreeModel configModel = new DbImportTreeModel(configRoot,
true, "Create DB Import Rules");
configTree.setRootVisible(false);
configTree.setModel(configModel);
configTree.setShowsRootHandles(true);
- DbImportTreeNode dbRoot = new DbImportTreeNode(new
ReverseEngineering());
- DbImportTree dbTree = new DbImportTree(new TransferableNode(dbRoot));
- DbImportTreeModel dbModel = new DbImportTreeModel(dbRoot, false,
"Click 'Refresh DB Schema' above to load the schema.");
- dbTree.setRootVisible(false);
- dbTree.setShowsRootHandles(true);
- dbTree.setModel(dbModel);
+ DbImportTreeNode dbSchemaRootNode = new DbImportTreeNode(new
ReverseEngineering());
+ DbImportTree dbSchemaTree = new DbImportTree(new
TransferableNode(dbSchemaRootNode));
+ DbImportTreeModel dbSchemaModel = new
DbImportTreeModel(dbSchemaRootNode, false, "Click 'Refresh DB Schema' to load
the schema.");
+ dbSchemaTree.setRootVisible(false);
+ dbSchemaTree.setShowsRootHandles(true);
+ dbSchemaTree.setModel(dbSchemaModel);
- DbImportActions actions = new DbImportActions(app, this, configTree,
dbTree);
- this.dbSchemaPanel = new DBSchemaPanel(dbTree, configTree, actions);
+ DbImportActions actions = new DbImportActions(app, this, configTree,
dbSchemaTree);
+ this.dbSchemaPanel = new DBSchemaPanel(dbSchemaTree, configTree,
actions);
this.dbSchemaToolbar = new DbSchemaToolbar(actions);
- dbTree.setLoadDbSchemaAction(actions.getLoadDbSchemaAction());
+ dbSchemaTree.setLoadDbSchemaAction(actions.getLoadDbSchemaAction());
this.configToolbar = new ConfigToolbar(configTree, actions);
- this.configTree = new ReverseEngineeringTreePanel(session, configTree,
dbTree, this.dbSchemaPanel, actions);
+ this.configTree = new ReverseEngineeringTreePanel(session, configTree,
dbSchemaTree, this.dbSchemaPanel, actions);
this.configTree.setTreeToolbar(configToolbar);
// repaint the db schema tree whenever the config tree changes so
ColorTreeRenderer refreshes
configModel.addTreeModelListener(new TreeModelListener() {
- public void treeNodesChanged(TreeModelEvent e) { dbTree.repaint();
}
- public void treeNodesInserted(TreeModelEvent e) {
dbTree.repaint(); }
- public void treeNodesRemoved(TreeModelEvent e) { dbTree.repaint();
}
- public void treeStructureChanged(TreeModelEvent e) {
dbTree.repaint(); }
+ public void treeNodesChanged(TreeModelEvent e) {
dbSchemaTree.repaint(); }
+ public void treeNodesInserted(TreeModelEvent e) {
dbSchemaTree.repaint(); }
+ public void treeNodesRemoved(TreeModelEvent e) {
dbSchemaTree.repaint(); }
+ public void treeStructureChanged(TreeModelEvent e) {
dbSchemaTree.repaint(); }
});
((ColorTreeRenderer)
dbSchemaPanel.getSourceTree().getCellRenderer()).setReverseEngineeringTree(configTree);
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbSchemaToolbar.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbSchemaToolbar.java
index e1423e009..6559d2d46 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbSchemaToolbar.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DbSchemaToolbar.java
@@ -22,9 +22,7 @@ package
org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport;
import org.apache.cayenne.modeler.toolkit.AppAction;
import
org.apache.cayenne.modeler.ui.project.editor.datamap.dbimport.action.DbImportActions;
-import javax.swing.JButton;
-import javax.swing.JToolBar;
-import javax.swing.border.EmptyBorder;
+import javax.swing.*;
class DbSchemaToolbar extends JToolBar {
@@ -43,7 +41,6 @@ class DbSchemaToolbar extends JToolBar {
reverseEngineeringButton.setText("Run Import");
setFloatable(false);
- setBorder(new EmptyBorder(0, 0, 0, 0));
add(configureButton);
add(loadDbSchemaButton);
add(reverseEngineeringButton);
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
index 5d228a998..fc690bbde 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
@@ -70,7 +70,6 @@ public class LoadDbSchemaAction extends
DBConnectionAwareAction {
view.getLoadDbSchemaButton().setEnabled(false);
Thread thread = new Thread(() -> {
LoadDbSchemaAction.this.setEnabled(false);
- view.lockToolbarButtons();
sourceTargetPanel.getMoveButton().setEnabled(false);
sourceTargetPanel.getMoveInvertButton().setEnabled(false);
try {
@@ -110,7 +109,6 @@ public class LoadDbSchemaAction extends
DBConnectionAwareAction {
} finally {
view.getLoadDbSchemaButton().setEnabled(true);
view.getLoadDbSchemaProgress().setVisible(false);
- view.unlockToolbarButtons();
}
});
thread.start();