Revision 6520 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.provider/src/main/java/org/gvsig/raster/tilecache/provider/TileCacheStoreProvider.java

View differences:

TileCacheStoreProvider.java
68 68
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
69 69
import org.gvsig.tools.ToolsLocator;
70 70
import org.gvsig.tools.dispose.DisposeUtils;
71
import org.gvsig.tools.dispose.impl.AbstractDisposable;
71 72
import org.gvsig.tools.dynobject.DynObject;
72 73
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
73 74
import org.gvsig.tools.exception.BaseException;
......
93 94
    private ResourceProvider resource;
94 95
    private final SimpleTaskStatus taskStatus;
95 96

  
96
    private TileCacheStructImage tileCacheStructImage = null;
97
    private TileCacheStructImage fileTileCacheStructImage = null;
97 98

  
98 99
    private Envelope envelope = null;
99 100
    private IProjection projection = null;
......
184 185
        bandDataTypes = new int[bandsNumber];
185 186
        bandNoData = new NoData[bandsNumber];
186 187

  
187
        int zoomLevel = tileCacheStructImage.getZoomLvlForPixelSize(rasterQuery.getPixelSize());
188
        int zoomLevel = fileTileCacheStructImage.getZoomLvlForPixelSize(rasterQuery.getPixelSize());
188 189
        List<PageManager> pageManagersInZoom;
189 190
        int[] tileStructDataTypes;
190 191
        try {
191 192
            pageManagersInZoom = getPageManagersInZoom(zoomLevel);
192
            tileStructDataTypes = tileCacheStructImage.getDataTypes();
193
            tileStructDataTypes = fileTileCacheStructImage.getDataTypes();
193 194
        } catch (ValidateDataParametersException | CreateEnvelopeException | DataException | CloneNotSupportedException e) {
194 195
            throw new BufferException(e);
195 196
        }
196 197
        try {
197
            for(int i = 0; i<tileCacheStructImage.getBandNumber(); i++){
198
            for(int i = 0; i<fileTileCacheStructImage.getBandNumber(); i++){
198 199
                bandDataTypes[i] = tileStructDataTypes[i];
199 200
                bandNoData[i] = null;
200 201
                pageManagers.add(pageManagersInZoom.get(i));
......
203 204
            throw new BufferException(e);
204 205
        }
205 206

  
206
        envelope = tileCacheStructImage.getEnvelope();
207
        envelope = fileTileCacheStructImage.getEnvelope();
207 208
        Buffer buffer =
208
            bufferManager.createBuffer(tileCacheStructImage.getRows(zoomLevel), tileCacheStructImage.getColumns(zoomLevel),
209
            bufferManager.createBuffer(fileTileCacheStructImage.getRows(zoomLevel), fileTileCacheStructImage.getColumns(zoomLevel),
209 210
                bandDataTypes, bandNoData, projection, envelope, pageManagers);
210 211

  
211 212
        return buffer;
......
215 216
        List<PageManager> pageManagersInZoom = this.pageManagersPerZoomLevel.get(zoomLevel);
216 217
        if (pageManagersInZoom == null) {
217 218
            pageManagersInZoom = new ArrayList<PageManager>();
218
            for (int i = 0; i < tileCacheStructImage.getBandNumber(); i++) {
219
                pageManagersInZoom.add(new TileCacheBandPageManager(tileCacheStructImage, zoomLevel, i));
219
            for (int i = 0; i < fileTileCacheStructImage.getBandNumber(); i++) {
220
                pageManagersInZoom.add(new TileCacheBandPageManager(fileTileCacheStructImage, zoomLevel, i));
220 221
            }
221 222
            this.pageManagersPerZoomLevel.put(zoomLevel, pageManagersInZoom);
222 223
        }
......
235 236
    }
236 237

  
237 238
    public void open() throws OpenException {
238
        if (this.tileCacheStructImage != null) {
239
        if (this.fileTileCacheStructImage != null) {
239 240
            return;
240 241
        }
241 242
    }
......
255 256

  
256 257
    @Override
257 258
    public void close() throws CloseException {
258
        this.tileCacheStructImage = null;
259
        this.fileTileCacheStructImage = null;
259 260
    }
260 261

  
261 262
    @Override
......
312 313
    protected void doDispose() throws BaseException {
313 314
        super.doDispose();
314 315
        resource.removeConsumer(this);
315
        if(this.tileCacheStructImage!=null){
316
            DisposeUtils.dispose(tileCacheStructImage);
317
            this.tileCacheStructImage = null;
316
        if(this.fileTileCacheStructImage!=null){
317
            DisposeUtils.dispose((AbstractDisposable)fileTileCacheStructImage);
318
            this.fileTileCacheStructImage = null;
318 319
        }
319 320
    }
320 321

  
......
322 323
     * @return TileStructImage
323 324
     */
324 325
    public TileStructImage getTileStructImage() {
325
        return tileCacheStructImage;
326
        return fileTileCacheStructImage;
326 327
    }
327 328

  
328 329
    @Override
......
331 332
        this.innerProvider = provider;
332 333
        pageManagersPerZoomLevel = new HashMap<Integer, List<PageManager>>();
333 334

  
334
        this.tileCacheStructImage =
335
            new TileCacheStructImage(((FileResource)resource).getFile(), crs, provider, query);
335
        this.fileTileCacheStructImage =
336
            new FileTileCacheStructImage(((FileResource)resource).getFile(), crs, provider, query);
336 337
    }
337 338

  
338 339
    @Override
......
342 343

  
343 344
    @Override
344 345
    public void forgetCache() {
345
        tileCacheStructImage.forgetCache();
346
        fileTileCacheStructImage.forgetCache();
346 347

  
347 348
    }
348 349
}

Also available in: Unified diff