/* * 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.postgis; import java.io.IOException; import org.geotools.data.DataStore; import org.geotools.feature.IllegalAttributeException; public class TransparentVersionedOnlineTest extends PostgisDataStoreAPIOnlineTest { public TransparentVersionedOnlineTest(String test) { super(test); } protected void setupDbTables() throws Exception { super.setupDbTables(); // make sure versioned metadata is not in the way SqlTestUtils.dropTable(pool, VersionedPostgisDataStore.TBL_TABLESCHANGED, false); SqlTestUtils.dropTable(pool, VersionedPostgisDataStore.TBL_VERSIONEDTABLES, false); SqlTestUtils .dropTable(pool, VersionedPostgisDataStore.TBL_CHANGESETS, true); } public String getFixtureFile() { return "versioned.properties"; } protected DataStore newDataStore() throws IOException { VersionedPostgisDataStore ds = new VersionedPostgisDataStore(pool, f.schema, getName(), PostgisDataStore.OPTIMIZE_SQL); ds.setWKBEnabled(true); ds.setVersioned("road", true, "gimbo", "hallabaloola"); ds.setVersioned("river", true, "gimbo", "hallabaloola"); return ds; } /** * Return true if the datastore is capable of computing the road bounds * given a query * * @return */ protected boolean isEnvelopeComputingEnabled() { return true; } public void testOidFidMapper() throws IOException, IllegalAttributeException { // we have to override this one since versioned does not support oid // mapper } public void testLockFeatures() throws IOException { // disable this test, we don't support locking at the moment } public void testUnLockFeatures() throws IOException { // disable this test, we don't support locking at the moment } public void testLockFeatureInteraction() throws IOException { // disable this test, we don't support locking at the moment } public void testGetFeatureLockingExpire() throws Exception { // disable this test, we don't support locking at the moment } public void testGetFeatureWriterTransaction() throws Exception { // disable this test, the datastore does not support concurrent transactions // from the same thread, one will lock the changesets and the second will // wait indefinitely. Mind, this does not prevent really concurrent transactions // from executing, it prevents the single thread to mix two transactions } @Override public void testGetFeatureWriterConcurrency() throws Exception { // see above } }