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.