You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2016/02/09 13:39:21 UTC

metamodel git commit: METAMODEL-228: Fixed

Repository: metamodel
Updated Branches:
  refs/heads/master 4f4cefdbb -> 67a0c96c8


METAMODEL-228: Fixed

Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/67a0c96c
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/67a0c96c
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/67a0c96c

Branch: refs/heads/master
Commit: 67a0c96c8f849e112b57ce0cc3e99667e0145384
Parents: 4f4cefd
Author: Kasper Sørensen <i....@gmail.com>
Authored: Tue Feb 9 13:39:15 2016 +0100
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Tue Feb 9 13:39:15 2016 +0100

----------------------------------------------------------------------
 CHANGES.md                                      |  1 +
 .../apache/metamodel/schema/ColumnTypeImpl.java |  4 +-
 .../metamodel/schema/ColumnTypeImplTest.java    | 95 ++++++++++++++++++++
 .../apache/metamodel/schema/ColumnTypeTest.java | 92 -------------------
 .../couchdb/CouchDbDataContextTest.java         | 16 ++--
 .../mongodb/mongo2/MongoDbDataContextTest.java  |  2 +-
 .../mongodb/mongo3/MongoDbDataContextTest.java  |  2 +-
 .../pojo/ObjectTableDataProviderTest.java       |  2 +-
 8 files changed, 110 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/CHANGES.md
----------------------------------------------------------------------
diff --git a/CHANGES.md b/CHANGES.md
index 13f1694..39aa75e 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -3,6 +3,7 @@
  * [METAMODEL-227] - Fix for respecting CSV escape character also when no quote character is set.
  * [METAMODEL-183] - MongoDB module split into three: common, Mongo2 and Mongo3 to allow use of either old or new MongoDB API.
  * [METAMODEL-231] - Fixed a bug causing the Neo4j to represent the same table multiple times within a schema.
+ * [METAMODEL-228] - Fixed a bug causing Number.class to not be converted to ColumnType.NUMBER.
 
 ### Apache MetaModel 4.5.0
 

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/core/src/main/java/org/apache/metamodel/schema/ColumnTypeImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/schema/ColumnTypeImpl.java b/core/src/main/java/org/apache/metamodel/schema/ColumnTypeImpl.java
index 856321e..dbca861 100644
--- a/core/src/main/java/org/apache/metamodel/schema/ColumnTypeImpl.java
+++ b/core/src/main/java/org/apache/metamodel/schema/ColumnTypeImpl.java
@@ -198,7 +198,7 @@ public class ColumnTypeImpl implements ColumnType {
 
         final ColumnType type;
         if (cls == String.class) {
-            type = ColumnType.VARCHAR;
+            type = ColumnType.STRING;
         } else if (cls == Boolean.class || cls == boolean.class) {
             type = ColumnType.BOOLEAN;
         } else if (cls == Character.class || cls == char.class || cls == Character[].class || cls == char[].class) {
@@ -217,6 +217,8 @@ public class ColumnTypeImpl implements ColumnType {
             type = ColumnType.DOUBLE;
         } else if (cls == BigDecimal.class) {
             type = ColumnType.DECIMAL;
+        } else if (Number.class.isAssignableFrom(cls)) {
+            type = ColumnType.NUMBER;
         } else if (Map.class.isAssignableFrom(cls)) {
             type = ColumnType.MAP;
         } else if (List.class.isAssignableFrom(cls)) {

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/core/src/test/java/org/apache/metamodel/schema/ColumnTypeImplTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/metamodel/schema/ColumnTypeImplTest.java b/core/src/test/java/org/apache/metamodel/schema/ColumnTypeImplTest.java
new file mode 100644
index 0000000..fbff3dc
--- /dev/null
+++ b/core/src/test/java/org/apache/metamodel/schema/ColumnTypeImplTest.java
@@ -0,0 +1,95 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.metamodel.schema;
+
+import java.sql.Time;
+import java.sql.Timestamp;
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import junit.framework.TestCase;
+
+public class ColumnTypeImplTest extends TestCase {
+
+	public void testConvertColumnTypeFromJdbcTypes() throws Exception {
+		ColumnType type = ColumnTypeImpl.convertColumnType(Types.VARCHAR);
+		assertEquals(ColumnType.VARCHAR, type);
+		
+		type = ColumnTypeImpl.convertColumnType(Types.DATE);
+        assertEquals(ColumnType.DATE, type);
+
+		type = ColumnTypeImpl.convertColumnType(Types.TIME);
+		assertEquals(ColumnType.TIME, type);
+
+		type = ColumnTypeImpl.convertColumnType(Types.TIMESTAMP);
+		assertEquals(ColumnType.TIMESTAMP, type);
+
+		type = ColumnTypeImpl.convertColumnType(42397443);
+		assertEquals(ColumnType.OTHER, type);
+		
+		type = ColumnTypeImpl.convertColumnType(-42397443);
+		assertEquals(ColumnType.OTHER, type);
+	}
+	
+	public void testConvertColumnTypeFromJavaClass() throws Exception {
+		ColumnType type = ColumnTypeImpl.convertColumnType(String.class);
+		assertEquals(ColumnType.STRING, type);
+
+        type = ColumnTypeImpl.convertColumnType(Number.class);
+        assertEquals(ColumnType.NUMBER, type);
+
+		type = ColumnTypeImpl.convertColumnType(Time.class);
+		assertEquals(ColumnType.TIME, type);
+
+		type = ColumnTypeImpl.convertColumnType(Timestamp.class);
+		assertEquals(ColumnType.TIMESTAMP, type);
+		
+		type = ColumnTypeImpl.convertColumnType(java.sql.Date.class);
+		assertEquals(ColumnType.DATE, type);
+
+		type = ColumnTypeImpl.convertColumnType(Date.class);
+		assertEquals(ColumnType.TIMESTAMP, type);
+		
+		type = ColumnTypeImpl.convertColumnType(Integer.class);
+		assertEquals(ColumnType.INTEGER, type);
+		
+		type = ColumnTypeImpl.convertColumnType(Object.class);
+		assertEquals(ColumnType.OTHER, type);
+		
+		type = ColumnTypeImpl.convertColumnType(Map.class);
+		assertEquals(ColumnType.MAP, type);
+		type = ColumnTypeImpl.convertColumnType(HashMap.class);
+		assertEquals(ColumnType.MAP, type);
+		type = ColumnTypeImpl.convertColumnType(TreeMap.class);
+		assertEquals(ColumnType.MAP, type);
+		
+		type = ColumnTypeImpl.convertColumnType(List.class);
+		assertEquals(ColumnType.LIST, type);
+		type = ColumnTypeImpl.convertColumnType(ArrayList.class);
+		assertEquals(ColumnType.LIST, type);
+		type = ColumnTypeImpl.convertColumnType(LinkedList.class);
+		assertEquals(ColumnType.LIST, type);
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/core/src/test/java/org/apache/metamodel/schema/ColumnTypeTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/metamodel/schema/ColumnTypeTest.java b/core/src/test/java/org/apache/metamodel/schema/ColumnTypeTest.java
deleted file mode 100644
index 58b843a..0000000
--- a/core/src/test/java/org/apache/metamodel/schema/ColumnTypeTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.metamodel.schema;
-
-import java.sql.Time;
-import java.sql.Timestamp;
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import junit.framework.TestCase;
-
-public class ColumnTypeTest extends TestCase {
-
-	public void testConvertColumnTypeFromJdbcTypes() throws Exception {
-		ColumnType type = ColumnTypeImpl.convertColumnType(Types.VARCHAR);
-		assertEquals(ColumnType.VARCHAR, type);
-		
-		type = ColumnTypeImpl.convertColumnType(Types.DATE);
-        assertEquals(ColumnType.DATE, type);
-
-		type = ColumnTypeImpl.convertColumnType(Types.TIME);
-		assertEquals(ColumnType.TIME, type);
-
-		type = ColumnTypeImpl.convertColumnType(Types.TIMESTAMP);
-		assertEquals(ColumnType.TIMESTAMP, type);
-
-		type = ColumnTypeImpl.convertColumnType(42397443);
-		assertEquals(ColumnType.OTHER, type);
-		
-		type = ColumnTypeImpl.convertColumnType(-42397443);
-		assertEquals(ColumnType.OTHER, type);
-	}
-	
-	public void testConvertColumnTypeFromJavaClass() throws Exception {
-		ColumnType type = ColumnTypeImpl.convertColumnType(String.class);
-		assertEquals(ColumnType.VARCHAR, type);
-
-		type = ColumnTypeImpl.convertColumnType(Time.class);
-		assertEquals(ColumnType.TIME, type);
-
-		type = ColumnTypeImpl.convertColumnType(Timestamp.class);
-		assertEquals(ColumnType.TIMESTAMP, type);
-		
-		type = ColumnTypeImpl.convertColumnType(java.sql.Date.class);
-		assertEquals(ColumnType.DATE, type);
-
-		type = ColumnTypeImpl.convertColumnType(Date.class);
-		assertEquals(ColumnType.TIMESTAMP, type);
-		
-		type = ColumnTypeImpl.convertColumnType(Integer.class);
-		assertEquals(ColumnType.INTEGER, type);
-		
-		type = ColumnTypeImpl.convertColumnType(Object.class);
-		assertEquals(ColumnType.OTHER, type);
-		
-		type = ColumnTypeImpl.convertColumnType(Map.class);
-		assertEquals(ColumnType.MAP, type);
-		type = ColumnTypeImpl.convertColumnType(HashMap.class);
-		assertEquals(ColumnType.MAP, type);
-		type = ColumnTypeImpl.convertColumnType(TreeMap.class);
-		assertEquals(ColumnType.MAP, type);
-		
-		type = ColumnTypeImpl.convertColumnType(List.class);
-		assertEquals(ColumnType.LIST, type);
-		type = ColumnTypeImpl.convertColumnType(ArrayList.class);
-		assertEquals(ColumnType.LIST, type);
-		type = ColumnTypeImpl.convertColumnType(LinkedList.class);
-		assertEquals(ColumnType.LIST, type);
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/couchdb/src/test/java/org/apache/metamodel/couchdb/CouchDbDataContextTest.java
----------------------------------------------------------------------
diff --git a/couchdb/src/test/java/org/apache/metamodel/couchdb/CouchDbDataContextTest.java b/couchdb/src/test/java/org/apache/metamodel/couchdb/CouchDbDataContextTest.java
index dd637fd..9e1f5fe 100644
--- a/couchdb/src/test/java/org/apache/metamodel/couchdb/CouchDbDataContextTest.java
+++ b/couchdb/src/test/java/org/apache/metamodel/couchdb/CouchDbDataContextTest.java
@@ -65,7 +65,7 @@ public class CouchDbDataContextTest extends CouchDbTestCase {
             connector = couchDbInstance.createConnector(databaseName, true);
 
             final String[] columnNames = new String[] { "name", "gender", "age" };
-            final ColumnType[] columnTypes = new ColumnType[] { ColumnType.VARCHAR, ColumnType.CHAR, ColumnType.INTEGER };
+            final ColumnType[] columnTypes = new ColumnType[] { ColumnType.STRING, ColumnType.CHAR, ColumnType.INTEGER };
             predefinedTableDef = new SimpleTableDef(databaseName, columnNames, columnTypes);
         }
 
@@ -160,11 +160,11 @@ public class CouchDbDataContextTest extends CouchDbTestCase {
         final CouchDbDataContext dc = new CouchDbDataContext(couchDbInstance);
         Table table = dc.getDefaultSchema().getTableByName(databaseName);
         assertNotNull(table);
-        assertEquals("[Column[name=_id,columnNumber=0,type=VARCHAR,nullable=false,nativeType=null,columnSize=null], "
-                + "Column[name=_rev,columnNumber=1,type=VARCHAR,nullable=false,nativeType=null,columnSize=null], "
-                + "Column[name=bar,columnNumber=2,type=VARCHAR,nullable=null,nativeType=null,columnSize=null], "
+        assertEquals("[Column[name=_id,columnNumber=0,type=STRING,nullable=false,nativeType=null,columnSize=null], "
+                + "Column[name=_rev,columnNumber=1,type=STRING,nullable=false,nativeType=null,columnSize=null], "
+                + "Column[name=bar,columnNumber=2,type=STRING,nullable=null,nativeType=null,columnSize=null], "
                 + "Column[name=baz,columnNumber=3,type=INTEGER,nullable=null,nativeType=null,columnSize=null], "
-                + "Column[name=foo,columnNumber=4,type=VARCHAR,nullable=null,nativeType=null,columnSize=null]]",
+                + "Column[name=foo,columnNumber=4,type=STRING,nullable=null,nativeType=null,columnSize=null]]",
                 Arrays.toString(table.getColumns()));
 
         // first delete the manually created database!
@@ -182,7 +182,7 @@ public class CouchDbDataContextTest extends CouchDbTestCase {
             @Override
             public void run(UpdateCallback callback) {
                 Table table = callback.createTable(dc.getDefaultSchema(), databaseName).withColumn("foo")
-                        .ofType(ColumnType.VARCHAR).withColumn("greeting").ofType(ColumnType.VARCHAR).execute();
+                        .ofType(ColumnType.STRING).withColumn("greeting").ofType(ColumnType.STRING).execute();
                 assertEquals("[_id, _rev, foo, greeting]", Arrays.toString(table.getColumnNames()));
             }
         });
@@ -260,11 +260,11 @@ public class CouchDbDataContextTest extends CouchDbTestCase {
         assertEquals("[_id, _rev, age, gender, name]",
                 Arrays.toString(schema.getTableByName(getDatabaseName()).getColumnNames()));
         Column idColumn = schema.getTableByName(getDatabaseName()).getColumnByName("_id");
-        assertEquals("Column[name=_id,columnNumber=0,type=VARCHAR,nullable=false,nativeType=null,columnSize=null]",
+        assertEquals("Column[name=_id,columnNumber=0,type=STRING,nullable=false,nativeType=null,columnSize=null]",
                 idColumn.toString());
         assertTrue(idColumn.isPrimaryKey());
 
-        assertEquals("Column[name=_rev,columnNumber=1,type=VARCHAR,nullable=false,nativeType=null,columnSize=null]",
+        assertEquals("Column[name=_rev,columnNumber=1,type=STRING,nullable=false,nativeType=null,columnSize=null]",
                 schema.getTableByName(getDatabaseName()).getColumnByName("_rev").toString());
 
         DataSet ds;

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/mongodb/mongo2/src/test/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataContextTest.java
----------------------------------------------------------------------
diff --git a/mongodb/mongo2/src/test/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataContextTest.java b/mongodb/mongo2/src/test/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataContextTest.java
index d777e5e..a03585a 100644
--- a/mongodb/mongo2/src/test/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataContextTest.java
+++ b/mongodb/mongo2/src/test/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataContextTest.java
@@ -283,7 +283,7 @@ public class MongoDbDataContextTest extends MongoDbTestCase {
         assertEquals("[_id, baz, foo, id, list, name]", Arrays.toString(table.getColumnNames()));
 
         assertEquals(ColumnType.MAP, table.getColumnByName("baz").getType());
-        assertEquals(ColumnType.VARCHAR, table.getColumnByName("foo").getType());
+        assertEquals(ColumnType.STRING, table.getColumnByName("foo").getType());
         assertEquals(ColumnType.LIST, table.getColumnByName("list").getType());
         assertEquals(ColumnType.INTEGER, table.getColumnByName("id").getType());
         assertEquals(ColumnType.ROWID, table.getColumnByName("_id").getType());

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/mongodb/mongo3/src/test/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataContextTest.java
----------------------------------------------------------------------
diff --git a/mongodb/mongo3/src/test/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataContextTest.java b/mongodb/mongo3/src/test/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataContextTest.java
index 1952640..d16e47c 100644
--- a/mongodb/mongo3/src/test/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataContextTest.java
+++ b/mongodb/mongo3/src/test/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataContextTest.java
@@ -266,7 +266,7 @@ public class MongoDbDataContextTest extends MongoDbTestCase {
         assertEquals("[_id, baz, foo, id, list, name]", Arrays.toString(table.getColumnNames()));
 
         assertEquals(ColumnType.MAP, table.getColumnByName("baz").getType());
-        assertEquals(ColumnType.VARCHAR, table.getColumnByName("foo").getType());
+        assertEquals(ColumnType.STRING, table.getColumnByName("foo").getType());
         assertEquals(ColumnType.LIST, table.getColumnByName("list").getType());
         assertEquals(ColumnType.INTEGER, table.getColumnByName("id").getType());
         assertEquals(ColumnType.ROWID, table.getColumnByName("_id").getType());

http://git-wip-us.apache.org/repos/asf/metamodel/blob/67a0c96c/pojo/src/test/java/org/apache/metamodel/pojo/ObjectTableDataProviderTest.java
----------------------------------------------------------------------
diff --git a/pojo/src/test/java/org/apache/metamodel/pojo/ObjectTableDataProviderTest.java b/pojo/src/test/java/org/apache/metamodel/pojo/ObjectTableDataProviderTest.java
index bdffc2a..ecf89fb 100644
--- a/pojo/src/test/java/org/apache/metamodel/pojo/ObjectTableDataProviderTest.java
+++ b/pojo/src/test/java/org/apache/metamodel/pojo/ObjectTableDataProviderTest.java
@@ -30,7 +30,7 @@ public class ObjectTableDataProviderTest extends TestCase {
 
         SimpleTableDef tableDef = tableDataProvider.getTableDef();
         assertEquals(
-                "SimpleTableDef[name=FoobarBean,columnNames=[col1, col2, col3],columnTypes=[VARCHAR, INTEGER, BOOLEAN]]",
+                "SimpleTableDef[name=FoobarBean,columnNames=[col1, col2, col3],columnTypes=[STRING, INTEGER, BOOLEAN]]",
                 tableDef.toString());
     }
 }