Revision 6502

View differences:

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
67 67
import org.gvsig.raster.lib.buffer.api.PageManager;
68 68
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
69 69
import org.gvsig.tools.ToolsLocator;
70
import org.gvsig.tools.dispose.DisposeUtils;
70 71
import org.gvsig.tools.dynobject.DynObject;
71 72
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
72 73
import org.gvsig.tools.exception.BaseException;
......
437 438
    protected void doDispose() throws BaseException {
438 439
        super.doDispose();
439 440
        resource.removeConsumer(this);
441
        if(this.tileStructImage!=null){
442
            DisposeUtils.dispose(tileStructImage);
443
            this.tileStructImage = null;
444
        }
440 445
    }
441 446

  
442 447
    /**
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/TileStructImage.java
26 26
import java.util.HashMap;
27 27
import java.util.Iterator;
28 28
import java.util.Map;
29
import java.util.Map.Entry;
30
import java.util.Set;
29 31
import java.util.SortedMap;
30 32
import java.util.TreeMap;
31 33

  
......
83 85
 * @author dmartinezizquierdo
84 86
 *
85 87
 */
86
public class TileStructImage {
88
public class TileStructImage extends AbstractDisposable {
87 89

  
88 90
    private static final Logger logger = LoggerFactory.getLogger(TileStructImage.class);
89 91
    private static final int MAX_RECENT_ACCEDED_TILES_NUMBER = 50;
......
653 655
        }
654 656
    }
655 657

  
658
    @Override
659
    protected void doDispose() throws BaseException {
660
        if(recentAccededTiles!=null){
661
            Set<Entry<String, Tile>> entrySet = recentAccededTiles.entrySet();
662
            for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) {
663
                Entry<String, Tile> entry = (Entry<String, Tile>) iterator.next();
664
                DisposeUtils.dispose(entry.getValue());
665
            }
666
            recentAccededTiles.clear();
667
        }
668
        if(innerProvider!=null){
669
            DisposeUtils.dispose(innerProvider);
670
            innerProvider=null;
671
        }
672
        query=null;
673
        factory=null;
674
        crs=null;
675
        structExtent=null;
676
        colorInterpretation=null;
677
        legend=null;
678
        colorTable=null;
679
    }
680

  
656 681
}

Also available in: Unified diff