/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2002-2011, 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.oracle; import org.geotools.jdbc.JDBCJoinTestSetup; public class OracleJoinTestSetup extends JDBCJoinTestSetup { public OracleJoinTestSetup() { super(new OracleTestSetup()); } @Override protected void createJoinTable() throws Exception { String sql = "CREATE TABLE ftjoin (" + "id INT, name VARCHAR(255), geom MDSYS.SDO_GEOMETRY)"; run(sql); sql = "INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID ) " + "VALUES ('ftjoin','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(sql); sql = "CREATE INDEX ftjoin_GEOMETRY_IDX ON FTJOIN(GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX" // + " PARAMETERS ('SDO_INDX_DIMS=2 LAYER_GTYPE=\"POLYGON\"')"; run(sql); sql = "INSERT INTO ftjoin VALUES (0, 'zero', MDSYS.SDO_GEOMETRY(2003, 4326, NULL," + " MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), " + " MDSYS.SDO_ORDINATE_ARRAY(-0.1,-0.1, -0.1,0.1, 0.1,0.1, 0.1,-0.1, -0.1,-0.1)))"; run(sql); sql = "INSERT INTO ftjoin VALUES (1, 'one', MDSYS.SDO_GEOMETRY(2003, 4326, NULL," + " MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), " + " MDSYS.SDO_ORDINATE_ARRAY(-1.1,-1.1, -1.1,1.1, 1.1,1.1, 1.1,-1.1, -1.1,-1.1)))"; run(sql); sql = "INSERT INTO ftjoin VALUES (2, 'two', MDSYS.SDO_GEOMETRY(2003, 4326, NULL," + " MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), " + " MDSYS.SDO_ORDINATE_ARRAY(-10,-10, -10,10, 10,10, 10,-10, -10,-10)))"; run(sql); sql = "INSERT INTO ftjoin VALUES (3, 'three', NULL)"; run(sql); } @Override protected void dropJoinTable() throws Exception { runSafe("DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = 'FTJOIN'"); runSafe("DROP TABLE ftjoin purge"); } }