package org.geotools.data.oracle;
import org.geotools.jdbc.JDBCViewTestSetup;
public class OracleViewTestSetup extends JDBCViewTestSetup {
protected OracleViewTestSetup() {
super(new OracleTestSetup());
}
protected void createLakesTable() throws Exception {
//set up table
run("CREATE TABLE lakes (fid int primary key, id int, "
+ "geom MDSYS.SDO_GEOMETRY, name varchar(255))");
run("INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)"
+ " VALUES ('lakes','geom',MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.5), "
+ "MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.5)), 4326)");
run("CREATE INDEX LAKES_GEOM_IDX ON lakes(GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX" //
+ " PARAMETERS ('SDO_INDX_DIMS=2 LAYER_GTYPE=\"POLYGON\"')");
//insert data
run("INSERT INTO lakes (fid,id,geom,name) VALUES (0, 0,"
+ "MDSYS.SDO_GEOMETRY( 2003, 4326, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), "
+ "SDO_ORDINATE_ARRAY(12,6, 14,8, 16,6, 16,4, 14,4, 12,6)), 'muddy')");
}
@Override
protected void dropLakesTable() throws Exception {
runSafe( "DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = 'LAKES'" );
runSafe( "DROP TABLE lakes PURGE");
}
@Override
protected void createLakesView() throws Exception {
run("CREATE VIEW LAKESVIEW AS SELECT * FROM LAKES");
run("INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)"
+ " VALUES ('LAKESVIEW','geom',MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.5), "
+ "MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.5)), 4326)");
}
@Override
protected void dropLakesView() throws Exception {
runSafe( "DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = 'LAKESVIEW'" );
runSafe( "DROP VIEW LAKESVIEW");
}
@Override
protected void createLakesViewPk() throws Exception {
run("CREATE VIEW LAKESVIEWPK (FID, ID, GEOM, NAME UNIQUE RELY DISABLE NOVALIDATE, " +
"PRIMARY KEY (FID) RELY DISABLE NOVALIDATE) AS SELECT * FROM LAKES");
run("INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)"
+ " VALUES ('lakesviewpk','geom',MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-180,180,0.5), "
+ "MDSYS.SDO_DIM_ELEMENT('Y',-90,90,0.5)), 4326)");
}
@Override
protected void dropLakesViewPk() throws Exception {
runSafe( "DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = 'LAKESVIEWPK'" );
runSafe( "DROP VIEW LAKESVIEWPK");
}
}