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());
}
}