public <T> InputStream getTileStream (String basePath, TileSerializer<T> serializer, TileIndex tile) throws IOException { return getSourceTileStream(basePath, tile); }
public String readMetaData (String basePath) throws IOException { InputStream stream = getSourceMetaDataStream(basePath); if (stream == null) { return null; } BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); String rawMetaData = ""; String line; while (null != (line = reader.readLine())) { rawMetaData = rawMetaData + line; } reader.close(); return rawMetaData; }
public <T> List<TileData<T>> readTiles (String basePath, TileSerializer<T> serializer, Iterable<TileIndex> tiles) throws IOException { List<TileData<T>> results = new LinkedList<TileData<T>>(); for (TileIndex tile: tiles) { InputStream stream = getSourceTileStream(basePath, tile); //stream will be null if the tile cannot be found if(stream==null){ LOGGER.info("no tile data found for " + tile.toString() ); continue; } TileData<T> data = serializer.deserialize(tile, stream); results.add(data); stream.close(); } return results; }