refactor: PbfTileDataSource -> UrlTileDataSource

This commit is contained in:
Hannes Janetzek 2014-01-19 23:23:16 +01:00
parent 77088b84ad
commit 9ed4bb6ec5
9 changed files with 34 additions and 24 deletions

View File

@ -76,9 +76,9 @@ public class LwHttp {
mHttpRequest.abort();
}
private PbfTileDataSource mDataSource;
private UrlTileDataSource mDataSource;
public boolean sendRequest(Tile tile, PbfTileDataSource dataSource) throws IOException {
public boolean sendRequest(Tile tile, UrlTileDataSource dataSource) throws IOException {
mDataSource = dataSource;
byte[] request = mRequestBuffer;

View File

@ -21,6 +21,7 @@ import org.oscim.tiling.MapTile;
import org.oscim.tiling.source.ITileCache;
import org.oscim.tiling.source.ITileDataSink;
import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.ITileDecoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -28,13 +29,13 @@ import org.slf4j.LoggerFactory;
*
*
*/
public abstract class PbfTileDataSource implements ITileDataSource {
static final Logger log = LoggerFactory.getLogger(PbfTileDataSource.class);
public abstract class UrlTileDataSource implements ITileDataSource {
static final Logger log = LoggerFactory.getLogger(UrlTileDataSource.class);
protected LwHttp mConn;
protected final PbfDecoder mTileDecoder;
protected final ITileDecoder mTileDecoder;
public PbfTileDataSource(PbfDecoder tileDecoder, ITileCache cache) {
public UrlTileDataSource(ITileDecoder tileDecoder, ITileCache cache) {
mTileDecoder = tileDecoder;
}

View File

@ -0,0 +1,12 @@
package org.oscim.tiling.source;
import java.io.IOException;
import java.io.InputStream;
import org.oscim.core.Tile;
public interface ITileDecoder {
boolean decode(Tile tile, ITileDataSink sink, InputStream is, int contentLength)
throws IOException;
}

View File

@ -19,13 +19,12 @@ package org.oscim.tiling.source.common;
import java.io.IOException;
import java.io.InputStream;
import org.oscim.core.Tile;
import org.oscim.tiling.source.ITileDataSink;
import org.oscim.tiling.source.ITileDecoder;
import org.oscim.utils.UTF8Decoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class PbfDecoder {
public abstract class PbfDecoder implements ITileDecoder {
static final Logger log = LoggerFactory.getLogger(PbfDecoder.class);
private final static int S1 = 7;
@ -87,9 +86,6 @@ public abstract class PbfDecoder {
mStringDecoder = new UTF8Decoder();
}
public abstract boolean decode(Tile tile, ITileDataSink sink,
InputStream is, int contentLength) throws IOException;
public void setInputStream(InputStream is, int contentLength) {
mInputStream = is;

View File

@ -26,18 +26,19 @@ import org.oscim.tiling.MapTile;
import org.oscim.tiling.source.ITileCache;
import org.oscim.tiling.source.ITileDataSink;
import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.ITileDecoder;
import org.oscim.utils.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class PbfTileDataSource implements ITileDataSource {
static final Logger log = LoggerFactory.getLogger(PbfTileDataSource.class);
public abstract class UrlTileDataSource implements ITileDataSource {
static final Logger log = LoggerFactory.getLogger(UrlTileDataSource.class);
protected LwHttp mConn;
protected final PbfDecoder mTileDecoder;
protected final ITileDecoder mTileDecoder;
protected final ITileCache mTileCache;
public PbfTileDataSource(PbfDecoder tileDecoder, ITileCache tileCache) {
public UrlTileDataSource(ITileDecoder tileDecoder, ITileCache tileCache) {
mTileDecoder = tileDecoder;
mTileCache = tileCache;
}

View File

@ -22,7 +22,7 @@ import org.oscim.core.Tile;
import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp;
import org.oscim.tiling.source.common.PbfTileDataSource;
import org.oscim.tiling.source.common.UrlTileDataSource;
import org.oscim.tiling.source.common.UrlTileSource;
public class MapnikVectorTileSource extends UrlTileSource {
@ -32,7 +32,7 @@ public class MapnikVectorTileSource extends UrlTileSource {
return new TileDataSource(this, mUrl);
}
static class TileDataSource extends PbfTileDataSource {
static class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache);

View File

@ -21,7 +21,7 @@ import java.net.URL;
import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp;
import org.oscim.tiling.source.common.PbfTileDataSource;
import org.oscim.tiling.source.common.UrlTileDataSource;
import org.oscim.tiling.source.common.UrlTileSource;
/**
@ -35,7 +35,7 @@ public class OSciMap1TileSource extends UrlTileSource {
return new TileDataSource(this, mUrl);
}
class TileDataSource extends PbfTileDataSource {
class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache);
mConn = new LwHttp(url, "application/osmtile", "osmtile", false);

View File

@ -31,7 +31,7 @@ import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp;
import org.oscim.tiling.source.common.PbfDecoder;
import org.oscim.tiling.source.common.PbfTileDataSource;
import org.oscim.tiling.source.common.UrlTileDataSource;
import org.oscim.tiling.source.common.UrlTileSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -43,7 +43,7 @@ public class OSciMap2TileSource extends UrlTileSource {
return new TileDataSource(this, mUrl);
}
class TileDataSource extends PbfTileDataSource {
class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache);
mConn = new LwHttp(url, "application/osmtile", "osmtile", false);

View File

@ -21,7 +21,7 @@ import java.net.URL;
import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp;
import org.oscim.tiling.source.common.PbfTileDataSource;
import org.oscim.tiling.source.common.UrlTileDataSource;
import org.oscim.tiling.source.common.UrlTileSource;
public class OSciMap4TileSource extends UrlTileSource {
@ -31,7 +31,7 @@ public class OSciMap4TileSource extends UrlTileSource {
return new TileDataSource(this, mUrl);
}
class TileDataSource extends PbfTileDataSource {
class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache);
//mConn = new LwHttp(url, "application/x-protobuf", "vtm", false);