# IGNITE-32: Fixed renaming.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/616e48c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/616e48c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/616e48c1

Branch: refs/heads/ignite-160
Commit: 616e48c1b649c164e38e5685c000c3f16487215b
Parents: b48db27
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Thu Feb 5 13:19:08 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Thu Feb 5 13:19:08 2015 +0700

----------------------------------------------------------------------
 .../apache/ignite/schema/ui/SchemaLoadApp.java  | 53 ++++++++++++++++++--
 1 file changed, 48 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/616e48c1/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
index cd08f4d..44fbfd3 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
@@ -145,6 +145,12 @@ public class SchemaLoadApp extends Application {
     private TableView<PojoDescriptor> pojosTbl;
 
     /** */
+    private TableView<PojoField> fieldsTbl;
+
+    /** */
+    private Node curTbl;
+
+    /** */
     private TextField outFolderTf;
 
     /** */
@@ -289,6 +295,10 @@ public class SchemaLoadApp extends Application {
                 if (!pojos.isEmpty())
                     pojosTbl.getSelectionModel().select(pojos.get(0));
 
+                curTbl = pojosTbl;
+
+                pojosTbl.requestFocus();
+
                 unlockUI(connLayerPnl, connPnl, nextBtn);
 
                 hdrPane.setLeft(genIcon);
@@ -782,7 +792,7 @@ public class SchemaLoadApp extends Application {
         TableColumn<PojoField, String> javaTypeNameCol = customColumn("Java 
Type", "javaTypeName",
             "Field java type in POJO class", JavaTypeCell.cellFactory());
 
-        final TableView<PojoField> fieldsTbl = tableView("Select table to see 
table columns",
+        fieldsTbl = tableView("Select table to see table columns",
             useFldCol, keyCol, akCol, dbNameCol, dbTypeNameCol, javaNameCol, 
javaTypeNameCol);
 
         genPnl.add(splitPane(pojosTbl, fieldsTbl, 0.6), 3);
@@ -850,13 +860,15 @@ public class SchemaLoadApp extends Application {
 
                         String sel = 
replaceCb.getSelectionModel().getSelectedItem();
 
-                        boolean renFields = "Java names".equals(sel);
+                        boolean isFields = "Java names".equals(sel) && curTbl 
== fieldsTbl;
 
-                        String src = (renFields ? "fields" : "tables");
+                        String src = isFields ? "fields" : "tables";
 
                         String target = "\"" + sel + "\"";
 
-                        Collection<PojoDescriptor> selPojos = 
pojosTbl.getSelectionModel().getSelectedItems();
+                        Collection<PojoDescriptor> selPojos = isFields
+                            ? Collections.singleton(curPojo)
+                            : pojosTbl.getSelectionModel().getSelectedItems();
 
                         if (selPojos.isEmpty()) {
                             MessageBox.warningDialog(owner, "Please select " + 
src + " to rename " + target + "!");
@@ -897,7 +909,7 @@ public class SchemaLoadApp extends Application {
 
                     boolean renFields = "Java names".equals(sel);
 
-                    String src = (renFields ? "fields" : "tables");
+                    String src = (renFields && curTbl == fieldsTbl ? "fields" 
: "tables");
 
                     String target = "\"" + sel + "\"";
 
@@ -949,6 +961,37 @@ public class SchemaLoadApp extends Application {
             }
         });
 
+        pojosTbl.focusedProperty().addListener(new ChangeListener<Boolean>() {
+            @Override public void changed(ObservableValue<? extends Boolean> 
val, Boolean oldVal, Boolean newVal) {
+                if (newVal)
+                    curTbl = pojosTbl;
+            }
+        });
+
+        fieldsTbl.getSelectionModel().selectedIndexProperty().addListener(new 
ChangeListener<Number>() {
+            @Override public void changed(ObservableValue<? extends Number> 
val, Number oldVal, Number newVal) {
+                if (curPojo != null) {
+                    TableView.TableViewSelectionModel<PojoDescriptor> selMdl = 
pojosTbl.getSelectionModel();
+
+                    List<Integer> idxs = new 
ArrayList<>(selMdl.getSelectedIndices());
+
+                    if (idxs.size() > 1) {
+                        for (Integer idx : idxs) {
+                            if (pojos.get(idx) != curPojo)
+                                selMdl.clearSelection(idx);
+                        }
+                    }
+                }
+            }
+        });
+
+        fieldsTbl.focusedProperty().addListener(new ChangeListener<Boolean>() {
+            @Override public void changed(ObservableValue<? extends Boolean> 
val, Boolean oldVal, Boolean newVal) {
+                if (newVal)
+                    curTbl = fieldsTbl;
+            }
+        });
+
         genPnl.add(titledPane("Rename \"Key class name\", \"Value class name\" 
or  \"Java name\" for selected tables",
             regexPnl), 3);
 

Reply via email to