From: <svn...@os...> - 2012-04-26 12:25:29
|
Author: jdeolive Date: 2012-04-26 05:25:19 -0700 (Thu, 26 Apr 2012) New Revision: 38690 Modified: trunk/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java trunk/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java Log: GEOT-4120, registring typename mapping for geography Modified: trunk/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java =================================================================== --- trunk/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java 2012-04-26 12:17:35 UTC (rev 38689) +++ trunk/modules/library/jdbc/src/test/java/org/geotools/jdbc/JDBCGeographyTest.java 2012-04-26 12:25:19 UTC (rev 38690) @@ -264,4 +264,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: trunk/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java =================================================================== --- trunk/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java 2012-04-26 12:17:35 UTC (rev 38689) +++ trunk/modules/plugin/jdbc/jdbc-postgis/src/main/java/org/geotools/data/postgis/PostGISDialect.java 2012-04-26 12:25:19 UTC (rev 38690) @@ -68,6 +68,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); @@ -564,6 +565,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); |