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(); 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; mDataSource = dataSource;
byte[] request = mRequestBuffer; 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.ITileCache;
import org.oscim.tiling.source.ITileDataSink; import org.oscim.tiling.source.ITileDataSink;
import org.oscim.tiling.source.ITileDataSource; import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.ITileDecoder;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -28,13 +29,13 @@ import org.slf4j.LoggerFactory;
* *
* *
*/ */
public abstract class PbfTileDataSource implements ITileDataSource { public abstract class UrlTileDataSource implements ITileDataSource {
static final Logger log = LoggerFactory.getLogger(PbfTileDataSource.class); static final Logger log = LoggerFactory.getLogger(UrlTileDataSource.class);
protected LwHttp mConn; 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; 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.IOException;
import java.io.InputStream; import java.io.InputStream;
import org.oscim.core.Tile; import org.oscim.tiling.source.ITileDecoder;
import org.oscim.tiling.source.ITileDataSink;
import org.oscim.utils.UTF8Decoder; import org.oscim.utils.UTF8Decoder;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public abstract class PbfDecoder { public abstract class PbfDecoder implements ITileDecoder {
static final Logger log = LoggerFactory.getLogger(PbfDecoder.class); static final Logger log = LoggerFactory.getLogger(PbfDecoder.class);
private final static int S1 = 7; private final static int S1 = 7;
@ -87,9 +86,6 @@ public abstract class PbfDecoder {
mStringDecoder = new UTF8Decoder(); mStringDecoder = new UTF8Decoder();
} }
public abstract boolean decode(Tile tile, ITileDataSink sink,
InputStream is, int contentLength) throws IOException;
public void setInputStream(InputStream is, int contentLength) { public void setInputStream(InputStream is, int contentLength) {
mInputStream = is; mInputStream = is;

View File

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

View File

@ -22,7 +22,7 @@ import org.oscim.core.Tile;
import org.oscim.tiling.source.ITileDataSource; import org.oscim.tiling.source.ITileDataSource;
import org.oscim.tiling.source.TileSource; import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp; 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; import org.oscim.tiling.source.common.UrlTileSource;
public class MapnikVectorTileSource extends UrlTileSource { public class MapnikVectorTileSource extends UrlTileSource {
@ -32,7 +32,7 @@ public class MapnikVectorTileSource extends UrlTileSource {
return new TileDataSource(this, mUrl); return new TileDataSource(this, mUrl);
} }
static class TileDataSource extends PbfTileDataSource { static class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) { public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache); 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.ITileDataSource;
import org.oscim.tiling.source.TileSource; import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp; 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; import org.oscim.tiling.source.common.UrlTileSource;
/** /**
@ -35,7 +35,7 @@ public class OSciMap1TileSource extends UrlTileSource {
return new TileDataSource(this, mUrl); return new TileDataSource(this, mUrl);
} }
class TileDataSource extends PbfTileDataSource { class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) { public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache); super(new TileDecoder(), tileSource.tileCache);
mConn = new LwHttp(url, "application/osmtile", "osmtile", false); 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.TileSource;
import org.oscim.tiling.source.common.LwHttp; import org.oscim.tiling.source.common.LwHttp;
import org.oscim.tiling.source.common.PbfDecoder; 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.oscim.tiling.source.common.UrlTileSource;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -43,7 +43,7 @@ public class OSciMap2TileSource extends UrlTileSource {
return new TileDataSource(this, mUrl); return new TileDataSource(this, mUrl);
} }
class TileDataSource extends PbfTileDataSource { class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) { public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache); super(new TileDecoder(), tileSource.tileCache);
mConn = new LwHttp(url, "application/osmtile", "osmtile", false); 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.ITileDataSource;
import org.oscim.tiling.source.TileSource; import org.oscim.tiling.source.TileSource;
import org.oscim.tiling.source.common.LwHttp; 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; import org.oscim.tiling.source.common.UrlTileSource;
public class OSciMap4TileSource extends UrlTileSource { public class OSciMap4TileSource extends UrlTileSource {
@ -31,7 +31,7 @@ public class OSciMap4TileSource extends UrlTileSource {
return new TileDataSource(this, mUrl); return new TileDataSource(this, mUrl);
} }
class TileDataSource extends PbfTileDataSource { class TileDataSource extends UrlTileDataSource {
public TileDataSource(TileSource tileSource, URL url) { public TileDataSource(TileSource tileSource, URL url) {
super(new TileDecoder(), tileSource.tileCache); super(new TileDecoder(), tileSource.tileCache);
//mConn = new LwHttp(url, "application/x-protobuf", "vtm", false); //mConn = new LwHttp(url, "application/x-protobuf", "vtm", false);