Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-32 61080bdef -> 42881f68c


# IGNITE-32 WIP: Minor UI tweaks.


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

Branch: refs/heads/ignite-32
Commit: 42881f68cd21e4e71aa961bd897c31c0a3e6bf26
Parents: 61080bd
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Mon Jan 12 15:03:55 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Mon Jan 12 15:03:55 2015 +0700

----------------------------------------------------------------------
 .../java/org/apache/ignite/schema/ui/Field.java | 106 +++++++++++++++++++
 .../apache/ignite/schema/ui/SchemaLoadApp.java  |  17 +--
 2 files changed, 117 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/42881f68/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/Field.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/Field.java 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/Field.java
index 2273dd3..10ea3c7 100644
--- a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/Field.java
+++ b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/Field.java
@@ -3,6 +3,8 @@ package org.apache.ignite.schema.ui;
 import javafx.beans.property.*;
 import org.gridgain.grid.cache.query.*;
 
+import static java.sql.Types.*;
+
 /**
  * Field descriptor with properties for JavaFX GUI bindings.
  */
@@ -13,9 +15,15 @@ public class Field {
     /** Field name for POJO. */
     private final StringProperty javaName;
 
+    /** Field type for POJO. */
+    private final StringProperty javaTypeName;
+
     /** Field name in database. */
     private final StringProperty dbName;
 
+    /** Field type in database. */
+    private final StringProperty dbTypeName;
+
     /** Field type descriptor. */
     private final GridCacheQueryTypeDescriptor desc;
 
@@ -27,7 +35,91 @@ public class Field {
         this.desc = desc;
         this.key = new SimpleBooleanProperty(key);
         javaName = new SimpleStringProperty(desc.getJavaName());
+        javaTypeName = new SimpleStringProperty(desc.getJavaType().getName());
         dbName = new SimpleStringProperty(desc.getDbName());
+        dbTypeName = new SimpleStringProperty(jdbcTypeName(desc.getDbType()));
+    }
+
+    /**
+     * @param jdbcType String name for JDBC type.
+     */
+    private static String jdbcTypeName(int jdbcType) {
+        switch (jdbcType) {
+            case BIT:
+                return "BIT";
+            case TINYINT:
+                return "TINYINT";
+            case SMALLINT:
+                return "SMALLINT";
+            case INTEGER:
+                return "INTEGER";
+            case BIGINT:
+                return "BIGINT";
+            case FLOAT:
+                return "FLOAT";
+            case REAL:
+                return "REAL";
+            case DOUBLE:
+                return "DOUBLE";
+            case NUMERIC:
+                return "NUMERIC";
+            case DECIMAL:
+                return "DECIMAL";
+            case CHAR:
+                return "CHAR";
+            case VARCHAR:
+                return "VARCHAR";
+            case LONGVARCHAR:
+                return "LONGVARCHAR";
+            case DATE:
+                return "DATE";
+            case TIME:
+                return "TIME";
+            case TIMESTAMP:
+                return "TIMESTAMP";
+            case BINARY:
+                return "BINARY";
+            case VARBINARY:
+                return "VARBINARY";
+            case LONGVARBINARY:
+                return "LONGVARBINARY";
+            case NULL:
+                return "NULL";
+            case OTHER:
+                return "OTHER";
+            case JAVA_OBJECT:
+                return "JAVA_OBJECT";
+            case DISTINCT:
+                return "DISTINCT";
+            case STRUCT:
+                return "STRUCT";
+            case ARRAY:
+                return "ARRAY";
+            case BLOB:
+                return "BLOB";
+            case CLOB:
+                return "CLOB";
+            case REF:
+                return "REF";
+            case DATALINK:
+                return "DATALINK";
+            case BOOLEAN:
+                return "BOOLEAN";
+            case ROWID:
+                return "ROWID";
+            case NCHAR:
+                return "NCHAR";
+            case NVARCHAR:
+                return "NVARCHAR";
+            case LONGNVARCHAR:
+                return "LONGNVARCHAR";
+            case NCLOB:
+                return "NCLOB";
+            case SQLXML:
+                return "SQLXML";
+            default:
+                return "Unknown";
+        }
     }
 
     /**
@@ -61,9 +153,23 @@ public class Field {
     }
 
     /**
+     * @return String property support for {@code javaTypeName} property.
+     */
+    public StringProperty javaTypeNameProperty() {
+        return javaTypeName;
+    }
+
+    /**
      * @return String property support for {@code dbName} property.
      */
     public StringProperty dbNameProperty() {
         return dbName;
     }
+
+    /**
+     * @return String property support for {@code dbName} property.
+     */
+    public StringProperty dbTypeNameProperty() {
+        return dbTypeName;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/42881f68/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 54c9238..a1f7ada 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
@@ -633,18 +633,23 @@ public class SchemaLoadApp extends Application {
 
         keyCol.setEditable(true);
 
-        TableColumn<Field, String> dbNameCol = tableColumn("DB Name", 
"dbName", "Name of field in database" , 100, 0);
+        TableColumn<Field, String> dbNameCol = tableColumn("DB Name", 
"dbName", "Field name in database" , 100, 0);
+
+        TableColumn<Field, String> dbTypeNameCol = tableColumn("DB Type", 
"dbTypeName", "Field type in database" , 100, 0);
 
         TableColumn<Field, String> javaNameCol = tableColumn("Ignite Name", 
"javaName",
-            "Name of field in POJO class", 100, 0);
+            "Field name in POJO class", 100, 0);
         javaNameCol.setCellFactory(TextFieldTableCell.<Field>forTableColumn());
         javaNameCol.setEditable(true);
 
+        TableColumn<Field, String> javaTypeNameCol = tableColumn("Java Type", 
"javaTypeName",
+            "Field java type in POJO class", 100, 0);
+
         final TableView<Field> tbl = new TableView<>();
 
         tbl.setMinHeight(50);
         tbl.setPlaceholder(text("Select table to see table columns", 0));
-        tbl.getColumns().addAll(keyCol, dbNameCol, javaNameCol);
+        tbl.getColumns().addAll(keyCol, dbNameCol, dbTypeNameCol, javaNameCol, 
javaTypeNameCol);
         tbl.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
         tbl.setEditable(true);
 
@@ -799,8 +804,8 @@ public class SchemaLoadApp extends Application {
 
         primaryStage.setScene(scene(rootPane));
 
-        primaryStage.setWidth(500);
-        primaryStage.setMinWidth(400);
+        primaryStage.setWidth(600);
+        primaryStage.setMinWidth(600);
 
         primaryStage.setHeight(600);
         primaryStage.setMinHeight(600);
@@ -813,7 +818,7 @@ public class SchemaLoadApp extends Application {
         if (userPrefs.get("window.x", null) != null) {
             double x = userPrefs.getDouble("window.x", 100);
             double y = userPrefs.getDouble("window.y", 100);
-            double w = userPrefs.getDouble("window.width", 500);
+            double w = userPrefs.getDouble("window.width", 600);
             double h = userPrefs.getDouble("window.height", 600);
 
             // Ensure that window fit any available screen.

Reply via email to