refactor: PbfTileDataSource -> UrlTileDataSource
This commit is contained in:
parent
77088b84ad
commit
9ed4bb6ec5
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
12
vtm/src/org/oscim/tiling/source/ITileDecoder.java
Normal file
12
vtm/src/org/oscim/tiling/source/ITileDecoder.java
Normal 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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user