import java.io.File;
import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
-import java.net.HttpURLConnection;
import java.util.HashMap;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
-import tim.prune.GpsPrune;
import tim.prune.I18nManager;
public class SrtmViewfinderSource extends SrtmSource {
throws SrtmSourceException
{
URL tileUrl = buildUrl(inTile);
- System.out.println("Download: Need to download: " + tileUrl);
- try
- {
- HttpURLConnection conn = (HttpURLConnection) tileUrl.openConnection();
-
- // Define streams
- InputStream inStream = null;
-
- conn.setRequestProperty("User-Agent", "GpsPrune v" + GpsPrune.VERSION_NUMBER);
-
- int status = conn.getResponseCode();
- if (status == 200)
- {
- inStream = conn.getInputStream();
- }
- else if (status == 404)
- {
- throw new SrtmSourceException("Tile not found: "+conn.getURL());
- }
- else
- {
- throw new SrtmSourceException("Invalid response from server: " +status+conn.getContent());
- }
-
- return downloadToFile(inStream, getCacheFileName(inTile));
- }
- catch (IOException e)
- {
- throw new SrtmSourceException("Error while downloading tile "+inTile.getTileName()+": "+e.getMessage());
- }
+ InputStream inStream = getStreamToUrl(tileUrl);
+ return readToFile(inStream, getCacheFileName(inTile));
}
private ZipEntry advanceToEntry(ZipInputStream inStream, SrtmTile inTile)