Revision 900
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/provider/tile/FileTileServer.java | ||
---|---|---|
37 | 37 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
38 | 38 |
*/ |
39 | 39 |
public class FileTileServer implements TileServer { |
40 |
private CacheStruct struct = null; |
|
41 |
private Downloader downloader = null; |
|
42 |
private DefaultRasterProvider provider = null; |
|
43 |
private String suffix = "tif"; |
|
40 |
private CacheStruct struct = null; |
|
41 |
private Downloader downloader = null; |
|
42 |
private DefaultRasterProvider provider = null; |
|
43 |
private String suffix = "tif"; |
|
44 |
private boolean externalStruct = false; |
|
44 | 45 |
|
45 | 46 |
public FileTileServer(DefaultRasterProvider prov) { |
46 | 47 |
this.provider = prov; |
... | ... | |
51 | 52 |
* @see org.gvsig.raster.cache.tile.provider.TileServer#getDownloader() |
52 | 53 |
*/ |
53 | 54 |
public Downloader getDownloader() { |
54 |
//The downloader is built the first time or if the tile size has changed |
|
55 |
if(downloader == null || |
|
56 |
((TileDownloaderForFiles)downloader).getTileSize()[0] != TileCacheLibrary.DEFAULT_TILEWIDTH || |
|
57 |
((TileDownloaderForFiles)downloader).getTileSize()[1] != TileCacheLibrary.DEFAULT_TILEHEIGHT) { |
|
58 |
downloader = new TileDownloaderForFiles(provider, getStruct(), TileCacheLibrary.DEFAULT_TILEWIDTH, TileCacheLibrary.DEFAULT_TILEHEIGHT, getFileSuffix()); |
|
55 |
//The downloader is built the first time or if the structure is assigned from the client. |
|
56 |
boolean firstLoad = (downloader == null); |
|
57 |
|
|
58 |
if(firstLoad || externalStruct) { |
|
59 |
downloader = new TileDownloaderForFiles(provider, getStruct(), |
|
60 |
getStruct().getTileSizeByLevel(0)[0], |
|
61 |
getStruct().getTileSizeByLevel(0)[1], |
|
62 |
getFileSuffix()); |
|
63 |
externalStruct = false; |
|
64 |
return downloader; |
|
59 | 65 |
} |
66 |
|
|
67 |
//If the tile size has changed. |
|
68 |
if(((TileDownloaderForFiles)downloader).getTileSize()[0] != TileCacheLibrary.DEFAULT_TILEWIDTH || |
|
69 |
((TileDownloaderForFiles)downloader).getTileSize()[1] != TileCacheLibrary.DEFAULT_TILEHEIGHT) { |
|
70 |
downloader = new TileDownloaderForFiles(provider, getStruct(), |
|
71 |
TileCacheLibrary.DEFAULT_TILEWIDTH, |
|
72 |
TileCacheLibrary.DEFAULT_TILEHEIGHT, |
|
73 |
getFileSuffix()); |
|
74 |
} |
|
60 | 75 |
return downloader; |
61 | 76 |
} |
62 | 77 |
|
... | ... | |
109 | 124 |
struct.getTileSizeByLevel(0)[0], |
110 | 125 |
struct.getTileSizeByLevel(0)[1], |
111 | 126 |
getFileSuffix()); |
127 |
externalStruct = true; |
|
112 | 128 |
} |
113 | 129 |
} |
114 | 130 |
} |
Also available in: Unified diff