package org.geotools.tile.nasa;
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.util.SimpleInternationalString;
import org.jdom.Document;
import org.jdom.input.SAXBuilder;
import org.opengis.util.InternationalString;
public class WorldWindTileProtocolFactory implements TileProtocolFactory {
public boolean canTile(URL url) {
try {
SAXBuilder builder = new SAXBuilder(false);
URLConnection connection = url.openConnection();
Document dom = builder.build(connection.getInputStream());
return "LayerSet".equals( dom.getRootElement().getName());
}
catch( Throwable t ){
return false;
}
}
public TileProtocol createTileStratagy(URL url) throws IOException {
return new WorldWindTileProtocol(url);
}
public InternationalString getDescription() {
return new SimpleInternationalString("WorldWind LayerSet File");
}
public InternationalString getName() {
return new SimpleInternationalString(
"Used to connect to a world wind layerset file (for example"+
"http://worldwind25.arc.nasa.gov/layerConfig/earthimages.xml)."+
"Currently QuadTileMap layers are supported using the ImageTile"+
"accessor.");
}
}