/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.catalog.impl.util;
import java.io.File;
import javax.xml.namespace.QName;
import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.FeatureTypeInfo;
import org.geoserver.catalog.impl.CatalogImpl;
import org.geoserver.catalog.util.LegacyCatalogImporter;
import org.geoserver.config.GeoServerLoader;
import org.geoserver.data.test.MockData;
import org.geoserver.data.test.TestData;
import org.geoserver.test.GeoServerAbstractTestSupport;
public class LegacyCatalogImporterTest extends GeoServerAbstractTestSupport {
private static final QName typeName = MockData.BASIC_POLYGONS;
@Override
protected void tearDownInternal() throws Exception {
super.tearDownInternal();
// reset the legacy flag so that other tests are not getting affected by it
GeoServerLoader.setLegacy(false);
}
@Override
protected TestData buildTestData() throws Exception {
// create the data directory
MockData dataDirectory = new MockData();
dataDirectory.addWellKnownTypes(new QName[]{typeName});
return dataDirectory;
}
public void testMissingFeatureTypes() throws Exception {
MockData mockData = (MockData)getTestData();
mockData.getFeatureTypesDirectory().delete();
LegacyCatalogImporter importer = new LegacyCatalogImporter(new CatalogImpl());
importer.imprt(mockData.getDataDirectoryRoot());
}
public void testMissingCoverages() throws Exception {
MockData mockData = (MockData)getTestData();
mockData.getCoveragesDirectory().delete();
LegacyCatalogImporter importer = new LegacyCatalogImporter(new CatalogImpl());
importer.imprt(mockData.getDataDirectoryRoot());
}
/**
* As per GEOS-3513, make sure the old SRS codes are imported by adding the EPSG: prefix where
* needed
*/
public void testCRSPrefix() throws Exception {
MockData mockData = (MockData)getTestData();
mockData.getCoveragesDirectory().delete();
Catalog catalog = new CatalogImpl();
LegacyCatalogImporter importer = new LegacyCatalogImporter(catalog);
File dataDirectoryRoot = mockData.getDataDirectoryRoot();
importer.imprt(dataDirectoryRoot);
FeatureTypeInfo typeInfo = catalog.getFeatureTypeByName(typeName.getNamespaceURI(), typeName.getLocalPart());
assertEquals("EPSG:4326", typeInfo.getSRS());
}
}