|
From: <svn...@os...> - 2012-01-21 11:12:58
|
Author: aaime
Date: 2012-01-21 03:12:52 -0800 (Sat, 21 Jan 2012)
New Revision: 38506
Added:
trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTest.java
trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTestSetup.java
Modified:
trunk/modules/plugin/jdbc/jdbc-sqlserver/src/main/java/org/geotools/data/sqlserver/SQLServerDialect.java
Log:
[GEOT-4023] Add support for uuid type in sql server
Modified: trunk/modules/plugin/jdbc/jdbc-sqlserver/src/main/java/org/geotools/data/sqlserver/SQLServerDialect.java
===================================================================
--- trunk/modules/plugin/jdbc/jdbc-sqlserver/src/main/java/org/geotools/data/sqlserver/SQLServerDialect.java 2012-01-21 11:11:39 UTC (rev 38505)
+++ trunk/modules/plugin/jdbc/jdbc-sqlserver/src/main/java/org/geotools/data/sqlserver/SQLServerDialect.java 2012-01-21 11:12:52 UTC (rev 38506)
@@ -25,6 +25,7 @@
import java.sql.Time;
import java.sql.Types;
import java.util.Map;
+import java.util.UUID;
import org.geotools.data.jdbc.FilterToSQL;
import org.geotools.geometry.jts.ReferencedEnvelope;
@@ -35,7 +36,6 @@
import org.opengis.feature.type.AttributeDescriptor;
import org.opengis.feature.type.GeometryDescriptor;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.opengis.referencing.crs.ProjectedCRS;
import org.opengis.referencing.cs.CoordinateSystem;
import com.vividsolutions.jts.geom.Envelope;
@@ -88,6 +88,7 @@
mappings.put( "geometry", Geometry.class );
+ mappings.put( "uniqueidentifier", UUID.class );
}
@Override
@@ -172,7 +173,8 @@
if ( rs.next() ) {
return rs.getInt( 1 );
}
- return -1;
+ // the default sql server srid
+ return 0;
}
finally {
dataStore.closeSafe( rs );
Added: trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTest.java
===================================================================
--- trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTest.java (rev 0)
+++ trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTest.java 2012-01-21 11:12:52 UTC (rev 38506)
@@ -0,0 +1,13 @@
+package org.geotools.data.sqlserver;
+
+import org.geotools.jdbc.JDBCUuidTest;
+import org.geotools.jdbc.JDBCUuidTestSetup;
+
+public class SQLServerUuidTest extends JDBCUuidTest {
+
+ @Override
+ protected JDBCUuidTestSetup createTestSetup() {
+ return new SQLServerUuidTestSetup();
+ }
+
+}
Added: trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTestSetup.java
===================================================================
--- trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTestSetup.java (rev 0)
+++ trunk/modules/plugin/jdbc/jdbc-sqlserver/src/test/java/org/geotools/data/sqlserver/SQLServerUuidTestSetup.java 2012-01-21 11:12:52 UTC (rev 38506)
@@ -0,0 +1,28 @@
+package org.geotools.data.sqlserver;
+
+import org.geotools.jdbc.JDBCUuidTestSetup;
+
+public class SQLServerUuidTestSetup extends JDBCUuidTestSetup {
+
+ protected SQLServerUuidTestSetup() {
+ super(new SQLServerTestSetup());
+ }
+
+ @Override
+ protected void createUuidTable() throws Exception {
+ run( "CREATE TABLE \"guid\" ( \"id\" int identity(0, 1) PRIMARY KEY, \"uuidProperty\" uniqueidentifier)" );
+ run( "INSERT INTO \"guid\" (\"uuidProperty\") VALUES ('" + uuid1 + "')");
+ run( "INSERT INTO \"guid\" (\"uuidProperty\") VALUES ('" + uuid2 + "')");
+
+ /*
+ * A table with UUID as primary key
+ */
+ run( "CREATE TABLE \"uuidt\" ( \"id\" uniqueidentifier PRIMARY KEY, \"the_geom\" geometry)" );
+ }
+
+ @Override
+ protected void dropUuidTable() throws Exception {
+ run("DROP TABLE \"guid\"");
+ run("DROP TABLE \"uuidt\"");
+ }
+}
|