ArcSDEDataStore implements DataStore { public void dispose() { LOGGER.fine("Disposing " + connectionPool); this.typeInfoCache.dispose(); if (!connectionPool.isClosed()) { this.connectionPool.close(); } LOGGER.fine("Session pool disposed"); } ArcSDEDataStore(final ISessionPool connPool);  ArcSDEDataStore(final ISessionPool connPool, final String namespaceUri,
            final String versionName, final boolean allowNonSpatialTables); ISession getSession(Transaction transaction); void createSchema(final SimpleFeatureType featureType); SimpleFeatureType getSchema(final String typeName); String[] getTypeNames(); ServiceInfo getInfo(); void dispose(); FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader(final Query query,
            final Transaction transaction); FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader(final Query query,
            final Transaction transaction, final SimpleFeatureType featureType); SimpleFeatureType getQueryType(Query query); SimpleFeatureSource getFeatureSource(final String typeName); ArcSdeFeatureWriter getFeatureWriter(final String typeName, final Transaction transaction); ArcSdeFeatureWriter getFeatureWriter(final String typeName, final Filter filter,
            final Transaction transaction); ArcSdeFeatureWriter getFeatureWriterAppend(final String typeName,
            final Transaction transaction); LockingManager getLockingManager(); void updateSchema(final String typeName, final SimpleFeatureType featureType); SimpleFeatureSource getFeatureSource(Name typeName); List<Name> getNames(); SimpleFeatureType getSchema(Name name); void updateSchema(Name typeName, SimpleFeatureType featureType); void createSchema(final SimpleFeatureType featureType, final Map<String, String> hints); @Override void removeSchema(Name typeName); @Override void removeSchema(String typeName);  }
@Test public void testDispose() throws IOException { store.dispose(); try { ((ArcSDEDataStore) store).getSession(Transaction.AUTO_COMMIT); fail("Expected IllegalStateException when the datastore has been disposed"); } catch (IllegalStateException e) { assertTrue(true); } finally { testData.tearDown(false, true); testData = null; } }