# IGNITE-32 Minor changes of GUI: fixed selected fields renaming and update 
value for text editable columns on focus lost for special case (click on other 
row in same table).


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

Branch: refs/heads/ignite-189
Commit: 90c4e110dc5093bbec3fc3b3359fec5b44082006
Parents: c0f872e
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Thu Feb 12 11:20:54 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Thu Feb 12 11:20:54 2015 +0700

----------------------------------------------------------------------
 .../apache/ignite/schema/model/PojoField.java   |  6 +-
 .../apache/ignite/schema/ui/SchemaLoadApp.java  | 86 +++++++++++++++-----
 2 files changed, 71 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90c4e110/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
index 66b3e67..f9a5837 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
@@ -165,7 +165,11 @@ public class PojoField {
 
         keyProp.addListener(new ChangeListener<Boolean>() {
             @Override public void changed(ObservableValue<? extends Boolean> 
val, Boolean oldVal, Boolean newVal) {
-                if (!newVal)
+                if (newVal) {
+                    if (!use())
+                        useProp.set(true);
+                }
+                else
                     akProp.set(false);
             }
         });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90c4e110/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 91ac24f..9c88624 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
@@ -786,14 +786,24 @@ public class SchemaLoadApp extends Application {
         TableColumn<PojoDescriptor, String> keyClsCol = textColumn("Key Class 
Name", "keyClassName", "Key class name",
             new TextColumnValidator<PojoDescriptor>() {
                 @Override public boolean valid(PojoDescriptor rowVal, String 
newVal) {
-                    return checkClassName(rowVal, newVal, true);
+                    boolean valid = checkClassName(rowVal, newVal, true);
+
+                    if (valid)
+                        rowVal.keyClassName(newVal);
+
+                    return valid;
                 }
             });
 
         TableColumn<PojoDescriptor, String> valClsCol = textColumn("Value 
Class Name", "valueClassName", "Value class name",
             new TextColumnValidator<PojoDescriptor>() {
                 @Override public boolean valid(PojoDescriptor rowVal, String 
newVal) {
-                    return checkClassName(rowVal, newVal, false);
+                    boolean valid = checkClassName(rowVal, newVal, true);
+
+                    if (valid)
+                        rowVal.valueClassName(newVal);
+
+                    return valid;
                 }
             });
 
@@ -826,6 +836,8 @@ public class SchemaLoadApp extends Application {
                             return false;
                         }
 
+                    rowVal.javaName(newVal);
+
                     return true;
                 }
             });
@@ -907,11 +919,13 @@ public class SchemaLoadApp extends Application {
 
                         String target = "\"" + sel + "\"";
 
-                        Collection<PojoDescriptor> selPojos = isFields
-                            ? Collections.singleton(curPojo)
-                            : pojosTbl.getSelectionModel().getSelectedItems();
+                        Collection<PojoDescriptor> selPojos = 
pojosTbl.getSelectionModel().getSelectedItems();
+
+                        Collection<PojoField> selFields = 
fieldsTbl.getSelectionModel().getSelectedItems();
 
-                        if (selPojos.isEmpty()) {
+                        boolean isEmpty = isFields ? selFields.isEmpty() : 
selPojos.isEmpty();
+
+                        if (isEmpty) {
                             MessageBox.warningDialog(owner, "Please select " + 
src + " to rename " + target + "!");
 
                             return;
@@ -936,7 +950,10 @@ public class SchemaLoadApp extends Application {
                                     break;
 
                                 default:
-                                    renameJavaNames(selPojos, regex, replace);
+                                    if (isFields)
+                                        renameFieldsJavaNames(selFields, 
regex, replace);
+                                    else
+                                        renamePojosJavaNames(selPojos, regex, 
replace);
                             }
                         }
                         catch (Exception e) {
@@ -948,15 +965,19 @@ public class SchemaLoadApp extends Application {
                 @Override public void handle(ActionEvent evt) {
                     String sel = 
replaceCb.getSelectionModel().getSelectedItem();
 
-                    boolean renFields = "Java names".equals(sel);
+                    boolean isFields = "Java names".equals(sel) && curTbl == 
fieldsTbl;
 
-                    String src = (renFields && curTbl == fieldsTbl ? "fields" 
: "tables");
+                    String src = isFields ? "fields" : "tables";
 
                     String target = "\"" + sel + "\"";
 
                     Collection<PojoDescriptor> selPojos = 
pojosTbl.getSelectionModel().getSelectedItems();
 
-                    if (selPojos.isEmpty()) {
+                    Collection<PojoField> selFields = 
fieldsTbl.getSelectionModel().getSelectedItems();
+
+                    boolean isEmpty = isFields ? selFields.isEmpty() : 
selPojos.isEmpty();
+
+                    if (isEmpty) {
                         MessageBox.warningDialog(owner, "Please select " + src 
+ "to revert " + target + "!");
 
                         return;
@@ -976,7 +997,10 @@ public class SchemaLoadApp extends Application {
                             break;
 
                         default:
-                            revertJavaNames(selPojos);
+                            if (isFields)
+                                revertFieldsJavaNames(selFields);
+                            else
+                                revertPojosJavaNames(selPojos);
                     }
                 }
             })
@@ -1040,7 +1064,7 @@ public class SchemaLoadApp extends Application {
     }
 
     /**
-     * Rename key class name for selected tables.
+     * Rename key class name for selected POJOs.
      *
      * @param selPojos Selected POJOs to rename.
      * @param regex Regex to search.
@@ -1052,7 +1076,7 @@ public class SchemaLoadApp extends Application {
     }
 
     /**
-     * Rename value class name for selected tables.
+     * Rename value class name for selected POJOs.
      *
      * @param selPojos Selected POJOs to rename.
      * @param regex Regex to search.
@@ -1064,20 +1088,32 @@ public class SchemaLoadApp extends Application {
     }
 
     /**
-     * Rename fields java name for current or selected tables.
+     * Rename fields java name for selected POJOs.
      *
      * @param selPojos Selected POJOs to rename.
      * @param regex Regex to search.
      * @param replace Text for replacement.
      */
-    private void renameJavaNames(Collection<PojoDescriptor> selPojos, String 
regex, String replace) {
+    private void renamePojosJavaNames(Collection<PojoDescriptor> selPojos, 
String regex, String replace) {
         for (PojoDescriptor pojo : selPojos)
             for (PojoField field : pojo.fields())
                 field.javaName(field.javaName().replaceAll(regex, replace));
     }
 
     /**
-     * Revert key class name for selected tables to initial value.
+     * Rename fields java name for current POJO.
+     *
+     * @param selFields Selected fields for current POJO to rename.
+     * @param regex Regex to search.
+     * @param replace Text for replacement.
+     */
+    private void renameFieldsJavaNames(Collection<PojoField> selFields, String 
regex, String replace) {
+        for (PojoField field : selFields)
+            field.javaName(field.javaName().replaceAll(regex, replace));
+    }
+
+    /**
+     * Revert key class name for selected POJOs to initial value.
      *
      * @param selPojos Selected POJOs to revert.
      */
@@ -1087,7 +1123,7 @@ public class SchemaLoadApp extends Application {
     }
 
     /**
-     * Revert value class name for selected tables to initial value.
+     * Revert value class name for selected POJOs to initial value.
      *
      * @param selPojos Selected POJOs to revert.
      */
@@ -1097,16 +1133,26 @@ public class SchemaLoadApp extends Application {
     }
 
     /**
-     * Revert fields java name for selected or current table to initial value.
+     * Revert fields java name for selected POJOs to initial value.
      *
      * @param selPojos Selected POJOs to revert.
      */
-    private void revertJavaNames(Collection<PojoDescriptor> selPojos) {
+    private void revertPojosJavaNames(Collection<PojoDescriptor> selPojos) {
         for (PojoDescriptor pojo : selPojos)
             pojo.revertJavaNames();
     }
 
     /**
+     * Revert fields java name for current POJO to initial value.
+     *
+     * @param selFields Selected POJO fields to revert.
+     */
+    private void revertFieldsJavaNames(Collection<PojoField> selFields) {
+        for (PojoField field : selFields)
+            field.resetJavaName();
+    }
+
+    /**
      * @return POJOs checked in table-tree-view.
      */
     private Collection<PojoDescriptor> checkedPojos() {
@@ -1157,7 +1203,7 @@ public class SchemaLoadApp extends Application {
             try {
                 return Integer.parseInt(val);
             }
-            catch (NumberFormatException e) {
+            catch (NumberFormatException ignored) {
                 return dflt;
             }
 

Reply via email to