package org.geotools.tile.osgeo; import java.io.IOException; import java.net.URL; import java.net.URLConnection; import org.geotools.tile.TileProtocol; import org.geotools.tile.TileProtocolFactory; import org.geotools.tile.nasa.LayerSetParser; import org.geotools.util.SimpleInternationalString; import org.jdom.Document; import org.jdom.input.SAXBuilder; import org.opengis.util.InternationalString; /** * Allows connection to servers following OSGeo WMS Tile specification. * * @author Jody Garnett, Refractions Research Inc. */ public class OSGeoTileProtocolFactory implements TileProtocolFactory { public boolean canTile(URL url) { try { SAXBuilder builder = new SAXBuilder(false); URLConnection connection = url.openConnection(); Document dom = builder.build(connection.getInputStream()); return "Services".equals( dom.getRootElement().getName() ); } catch( Throwable t ){ return false; } } public TileProtocol createTileStratagy(URL url) throws IOException { return new OSGeoTileProtocol( url ); } public InternationalString getDescription() { return new SimpleInternationalString( "Allows connection to WMS Tile Servers, as defined by the OSGeo foundation." ); } public InternationalString getName() { return new SimpleInternationalString("WMS Tile"); } }