/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2004-2010, 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.referencing.crs;
import java.util.Set;
import org.geotools.factory.AbstractFactory;
import org.geotools.metadata.iso.citation.CitationImpl;
import org.geotools.metadata.iso.citation.Citations;
import org.opengis.metadata.citation.Citation;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.IdentifiedObject;
import org.opengis.referencing.NoSuchAuthorityCodeException;
import org.opengis.referencing.crs.CRSAuthorityFactory;
import org.opengis.referencing.crs.CompoundCRS;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.crs.DerivedCRS;
import org.opengis.referencing.crs.EngineeringCRS;
import org.opengis.referencing.crs.GeocentricCRS;
import org.opengis.referencing.crs.GeographicCRS;
import org.opengis.referencing.crs.ImageCRS;
import org.opengis.referencing.crs.ProjectedCRS;
import org.opengis.referencing.crs.TemporalCRS;
import org.opengis.referencing.crs.VerticalCRS;
import org.opengis.util.InternationalString;
/**
* A disabled version of {@link EPSGCRSAuthorityFactory} that exists solely as a workaround for
* Eclipse capture of transitive dependencies. The real implementation in gt-epsg-wkt; Maven does
* the right thing and does not include the provider at test time, but Eclipse captures it as a
* transitive dependency, causing the wrong provider to be used for srsName encoding. The presence
* of this class allows gt-xsd-gml3 unit tests to pass in Eclipse.
*
* @author Ben Caradoc-Davies, CSIRO Earth Science and Resource Engineering
* @see <a href="http://jira.codehaus.org/browse/GEOT-3112">GEOT-3112</a>
*
* @source $URL$
*/
public class EPSGCRSAuthorityFactory extends AbstractFactory implements CRSAuthorityFactory {
private static final String EXCEPTION_MESSAGE = "Factory disabled for gt-xsd-gml3 testing (see GEOT-3112)";
public EPSGCRSAuthorityFactory() {
super(MINIMUM_PRIORITY);
}
public Citation getAuthority() {
CitationImpl c = new CitationImpl(EXCEPTION_MESSAGE);
c.freeze();
return c;
}
public Set<String> getAuthorityCodes(Class<? extends IdentifiedObject> type)
throws FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public InternationalString getDescriptionText(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public IdentifiedObject createObject(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public Citation getVendor() {
return Citations.GEOTOOLS;
}
public CoordinateReferenceSystem createCoordinateReferenceSystem(String code)
throws NoSuchAuthorityCodeException, FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public CompoundCRS createCompoundCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public DerivedCRS createDerivedCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public EngineeringCRS createEngineeringCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public GeographicCRS createGeographicCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public GeocentricCRS createGeocentricCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public ImageCRS createImageCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public ProjectedCRS createProjectedCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public TemporalCRS createTemporalCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
public VerticalCRS createVerticalCRS(String code) throws NoSuchAuthorityCodeException,
FactoryException {
throw new FactoryException(EXCEPTION_MESSAGE);
}
}