From: <svn...@os...> - 2012-04-26 12:17:46
|
Author: jdeolive Date: 2012-04-26 05:17:35 -0700 (Thu, 26 Apr 2012) New Revision: 38689 Modified: branches/2.7.x/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java branches/2.7.x/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java Log: GEOT-4120, registring typename mapping for geography Modified: branches/2.7.x/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java =================================================================== --- branches/2.7.x/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java 2012-04-24 06:36:40 UTC (rev 38688) +++ branches/2.7.x/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java 2012-04-26 12:17:35 UTC (rev 38689) @@ -259,4 +259,18 @@ assertEquals("Reykjavik", feature.getAttribute("name")); fi.close(); } + + public void testVirtualTable() throws Exception { + //geopoint( id:Integer; name:String; geo:Geography(Point) ) + StringBuffer sb = new StringBuffer(); + sb.append("select * from "); + dialect.encodeTableName(tname("geopoint"), sb); + + VirtualTable vt = new VirtualTable("geopoint_vt", sb.toString()); + dataStore.addVirtualTable(vt); + + SimpleFeatureType featureType = dataStore.getSchema("geopoint_vt"); + assertNotNull(featureType); + assertNotNull(featureType.getGeometryDescriptor()); + } } Modified: branches/2.7.x/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java =================================================================== --- branches/2.7.x/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java 2012-04-24 06:36:40 UTC (rev 38688) +++ branches/2.7.x/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java 2012-04-26 12:17:35 UTC (rev 38689) @@ -63,6 +63,7 @@ final static Map<String, Class> TYPE_TO_CLASS_MAP = new HashMap<String, Class>() { { put("GEOMETRY", Geometry.class); + put("GEOGRAPHY", Geometry.class); put("POINT", Point.class); put("POINTM", Point.class); put("LINESTRING", LineString.class); @@ -546,6 +547,7 @@ super.registerSqlTypeNameToClassMappings(mappings); mappings.put("geometry", Geometry.class); + mappings.put("geography", Geometry.class); mappings.put("text", String.class); mappings.put("int8", Long.class); mappings.put("int4", Integer.class); |