/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.data.spatialite;
import org.geotools.jdbc.JDBCDataStoreAPITestSetup;
public class SpatiaLiteDataStoreAPITestSetup extends JDBCDataStoreAPITestSetup {
protected SpatiaLiteDataStoreAPITestSetup() {
super(new SpatiaLiteTestSetup());
}
@Override
protected int getInitialPrimaryKeyValue() {
return 0;
}
@Override
protected void createLakeTable() throws Exception {
run( "CREATE TABLE lake (fid INTEGER PRIMARY KEY, id INTEGER)");
run( "SELECT AddGeometryColumn('lake','geom',4326,'POLYGON',2)");
run( "ALTER TABLE lake add name VARCHAR" );
run( "INSERT INTO lake VALUES (0, 0," +
"GeomFromText('POLYGON((12 6, 14 8, 16 6, 16 4, 14 4, 12 6))',4326),"
+ "'muddy')");
}
@Override
protected void dropLakeTable() throws Exception {
run( "DROP TABLE lake");
run( "DELETE FROM geometry_columns WHERE f_table_name = 'lake'");
}
@Override
protected void createRiverTable() throws Exception {
run( "CREATE TABLE river (fid INTEGER PRIMARY KEY, id INTEGER)");
run( "SELECT AddGeometryColumn('river','geom',4326,'MULTILINESTRING',2)");
run( "ALTER TABLE river add river VARCHAR" );
run( "ALTER TABLE river add flow FLOAT" );
run("INSERT INTO river VALUES (0, 0,"
+ "GeomFromText('MULTILINESTRING((5 5, 7 4),(7 5, 9 7, 13 7),(7 5, 9 3, 11 3))',4326),"
+ "'rv1', 4.5)");
run("INSERT INTO river VALUES (1, 1,"
+ "GeomFromText('MULTILINESTRING((4 6, 4 8, 6 10))',4326),"
+ "'rv2', 3.0)");
}
@Override
protected void dropRiverTable() throws Exception {
run( "DROP TABLE river");
run( "DELETE FROM geometry_columns WHERE f_table_name = 'river'");
}
@Override
protected void createRoadTable() throws Exception {
run( "CREATE TABLE road (fid INTEGER PRIMARY KEY, id INTEGER)");
run( "SELECT AddGeometryColumn('road','geom',4326,'LINESTRING',2)");
run( "ALTER TABLE road add name VARCHAR" );
run("INSERT INTO road VALUES (0, 0,"
+ "GeomFromText('LINESTRING(1 1, 2 2, 4 2, 5 1)',4326),"
+ "'r1')");
run("INSERT INTO road VALUES (1, 1,"
+ "GeomFromText('LINESTRING(3 0, 3 2, 3 3, 3 4)',4326),"
+ "'r2')");
run("INSERT INTO road VALUES (2, 2,"
+ "GeomFromText('LINESTRING(3 2, 4 2, 5 3)',4326)," + "'r3')");
}
@Override
protected void dropRoadTable() throws Exception {
run( "DROP TABLE road");
run( "DELETE FROM geometry_columns WHERE f_table_name = 'road'");
}
@Override
protected void dropBuildingTable() throws Exception {
run( "DROP TABLE building");
run( "DELETE FROM geometry_columns WHERE f_table_name = 'building'");
}
}