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 2018/11/05 13:29:03 UTC
[06/10] cayenne git commit: Fixed ruin tree on expand after tree
refresh.
Fixed ruin tree on expand after tree refresh.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/ea120536
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/ea120536
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/ea120536
Branch: refs/heads/master
Commit: ea120536fccc0e84fdc3f97a84d7a47b7cbadcde
Parents: aa62c10
Author: kkomyak <co...@gmail.com>
Authored: Mon Nov 5 15:52:59 2018 +0300
Committer: kkomyak <co...@gmail.com>
Committed: Mon Nov 5 15:52:59 2018 +0300
----------------------------------------------------------------------
.../modeler/editor/dbimport/DbImportTree.java | 7 +++--
.../dbimport/ReverseEngineeringTreePanel.java | 31 ++++++++++++++++----
2 files changed, 30 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ea120536/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportTree.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportTree.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportTree.java
index 109049f..68656a4 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportTree.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/DbImportTree.java
@@ -52,6 +52,7 @@ public class DbImportTree extends JTree {
public DbImportTree(TreeNode node) {
super(node);
+ createTreeExpandListener();
}
public void translateReverseEngineeringToTree(ReverseEngineering reverseEngineering, boolean isTransferable) {
@@ -69,7 +70,6 @@ public class DbImportTree extends JTree {
printParams(reverseEngineering.getExcludeColumns(), root);
printParams(reverseEngineering.getIncludeProcedures(), root);
printParams(reverseEngineering.getExcludeProcedures(), root);
- createTreeExpandListener();
model.reload();
}
@@ -89,11 +89,14 @@ public class DbImportTree extends JTree {
if (table == null) {
return;
}
- table.removeAllChildren();
+ if (table.getChildCount() != 0) {
+ table.removeAllChildren();
+ }
newTable.getIncludeColumns().forEach(column ->
table.add(new DbImportTreeNode(column)));
table.setLoaded(true);
model.reload(table);
+ System.out.println(table.getChildCount());
});
});
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ea120536/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
index 5f4e081..877bd0f 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbimport/ReverseEngineeringTreePanel.java
@@ -127,12 +127,31 @@ class ReverseEngineeringTreePanel extends JScrollPane {
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
} else if (reverseEngineeringTree.getSelectionPath() != null) {
- DbImportTreeNode findedNode = dbSchemaTree.findNode(
- dbSchemaTree.getRootNode(), reverseEngineeringTree.getSelectedNode(), 0
- );
- if (findedNode != null) {
- dbSchemaTree.expandPath(new TreePath(((DbImportTreeNode) findedNode.getParent()).getPath()));
- scrollToNode(dbSchemaTree, findedNode);
+ DbImportTreeNode selectedNode = reverseEngineeringTree.getSelectedNode();
+
+ if( selectedNode.isExcludeColumn() || selectedNode.isIncludeColumn()) {
+ DbImportTreeNode expandNode = (DbImportTreeNode) selectedNode.getParent();
+
+ DbImportTreeNode parentPath = dbSchemaTree.findNode(
+ dbSchemaTree.getRootNode(), expandNode, 0
+ );
+
+ if (parentPath != null) {
+ dbSchemaTree.expandPath(new TreePath((parentPath).getPath()));
+ scrollToNode(dbSchemaTree, parentPath);
+ }
+
+ } else {
+
+ DbImportTreeNode findNode = dbSchemaTree.findNode(
+ dbSchemaTree.getRootNode(), selectedNode, 0
+ );
+
+
+ if (findNode != null) {
+ dbSchemaTree.expandPath(new TreePath(((DbImportTreeNode) findNode.getParent()).getPath()));
+ scrollToNode(dbSchemaTree, findNode);
+ }
}
}
}