Revision 8836 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster.googlemaps/org.gvsig.raster.googlemaps.provider/src/main/java/org/gvsig/raster/googlemaps/provider/GoogleMapsRasterProvider.java

View differences:

GoogleMapsRasterProvider.java
2 2

  
3 3
import java.util.ArrayList;
4 4
import java.util.HashMap;
5
import java.util.Iterator;
5 6
import java.util.List;
6 7
import java.util.Map;
8
import java.util.Map.Entry;
7 9

  
8 10
import org.apache.commons.lang3.StringUtils;
9 11
import org.cresques.cts.IProjection;
......
46 48
import org.gvsig.raster.lib.buffer.spi.DefaultTileStruct;
47 49
import org.gvsig.tools.ToolsLocator;
48 50
import org.gvsig.tools.dataTypes.DataTypes;
51
import org.gvsig.tools.dispose.Disposable;
49 52
import org.gvsig.tools.dispose.DisposeUtils;
50 53
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
54
import org.gvsig.tools.exception.BaseException;
51 55
import org.gvsig.tools.i18n.I18nManager;
52 56
import org.gvsig.tools.locator.LocatorException;
53 57

  
......
145 149
        if(rasterQuery.getClip()!=null){
146 150
            Buffer completeBuffer = buffer;
147 151
            envelope  = rasterQuery.getClip();
148
            buffer = bufferManager.createClippedBuffer(completeBuffer, envelope);
152
            buffer = completeBuffer.clip(envelope);
149 153
            DisposeUtils.dispose(completeBuffer);
150 154
        }
151 155

  
......
327 331
        }
328 332
        return this.dimensions;
329 333
    }
334

  
335
    @Override
336
    public void doDispose() throws BaseException {
337
        super.doDispose();
338

  
339
        for (Iterator<Entry<Integer, List<PageManager>>> iterator = pageManagersPerZoomLevel.entrySet().iterator(); iterator.hasNext();) {
340
            Entry<Integer, List<PageManager>> entry = iterator.next();
341
            List<PageManager> pageManagers = entry.getValue();
342
            for(Iterator<PageManager> it = pageManagers.iterator(); it.hasNext();){
343
                PageManager pageManager = it.next();
344
                DisposeUtils.dispose(pageManager);
345
                it.remove();
346
            }
347
            iterator.remove();
348
        }
349
        DisposeUtils.dispose((Disposable) tileStruct);
350
        DisposeUtils.dispose(image);
351
        tileStruct=null;
352
        image=null;
353
    }
330 354
}

Also available in: Unified diff