/* * 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.jdbc; import java.sql.SQLException; import java.util.Arrays; import java.util.LinkedList; import java.util.List; public abstract class JDBCTypeNamesTestSetup extends JDBCDelegatingTestSetup { protected JDBCTypeNamesTestSetup(JDBCTestSetup delegate) { super(delegate); } protected final void setUpData() throws Exception { delegate.setUpData(); // kill all the data try { dropTypes(); } catch (SQLException e) { } // create all the data createTypes(); } /** * Creates a table with the following schema: * <p> * <code>ftntable( id:Integer; name:String; geom:POLYGON )</code> * </p> * Creates a view with the following schema: * <p> * <code>create view ftnview as select id, geom from ft_table</code> * </p> * In Addition to that, there should be some database specific type * structures like synonyms or aliases, if available. (should be ) */ protected abstract void createTypes() throws Exception; protected abstract void dropTypes() throws Exception; /** * Returns expected type names as created in {@link #createTypes()}. At * least <code>ftntable</code> and <code>ftnview</code>. * * @return */ protected List<String> getExpectedTypeNames(){ List<String> expectedTypeNames = new LinkedList<String>(); expectedTypeNames.add("ftntable"); expectedTypeNames.add("ftnview"); return expectedTypeNames; } }