Revision 1055
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/viewexport/Export.java | ||
---|---|---|
303 | 303 |
public void setBand(int nband) { |
304 | 304 |
|
305 | 305 |
} |
306 |
|
|
307 |
public void dispose() { |
|
308 |
// TODO Auto-generated method stub |
|
309 |
|
|
310 |
} |
|
306 | 311 |
} |
307 | 312 |
|
308 | 313 |
class MyFileFilter extends FileFilter{ |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/saveraster/operation/RasterizerLayer.java | ||
---|---|---|
328 | 328 |
public void setBand(int nband) { |
329 | 329 |
// TODO Auto-generated method stub |
330 | 330 |
} |
331 |
|
|
332 |
public void dispose() { |
|
333 |
// TODO Auto-generated method stub |
|
334 |
|
|
335 |
} |
|
331 | 336 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/filter/FilterListener.java | ||
---|---|---|
366 | 366 |
filterProcess.addParam("layer", ((FLyrRaster) getFilterPanel().getLayer())); |
367 | 367 |
filterProcess.addParam("listfilterused", listFilterUsed); |
368 | 368 |
filterProcess.start(); |
369 |
filterProcess = null; |
|
369 | 370 |
} |
370 | 371 |
} |
371 | 372 |
|
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/filter/ui/FilterDialog.java | ||
---|---|---|
31 | 31 |
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent; |
32 | 32 |
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener; |
33 | 33 |
import org.gvsig.raster.fmap.layers.FLyrRaster; |
34 |
import org.gvsig.raster.tools.app.basic.raster.bean.previewbase.PreviewRequestManager; |
|
34 | 35 |
|
35 | 36 |
/** |
36 | 37 |
* Dialogo para los filtros de raster. |
... | ... | |
117 | 118 |
} |
118 | 119 |
|
119 | 120 |
if (e.getButton() == ButtonsPanel.BUTTON_CLOSE) { |
121 |
((PreviewRequestManager)getFilterPanel().getPreviewBasePanel().getPreviewManager()).closePreviewLayer(); |
|
120 | 122 |
close(); |
121 | 123 |
} |
122 | 124 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/filter/ui/FilterPanel.java | ||
---|---|---|
105 | 105 |
* Obtiene el panel con el histograma |
106 | 106 |
* @return HistogramPanel |
107 | 107 |
*/ |
108 |
private PreviewBasePanel getPreviewBasePanel() {
|
|
108 |
public PreviewBasePanel getPreviewBasePanel() {
|
|
109 | 109 |
if (previewBasePanel == null) { |
110 | 110 |
ArrayList<Object> list = new ArrayList<Object>(); |
111 | 111 |
list.add(getMainPanel()); |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/process/ClippingProcess.java | ||
---|---|---|
100 | 100 |
|
101 | 101 |
private Buffer buffer = null; |
102 | 102 |
private IncrementableTask task = null; |
103 |
|
|
103 |
|
|
104 | 104 |
/** |
105 | 105 |
* Par?metros obligatorios al proceso: |
106 | 106 |
* <UL> |
... | ... | |
534 | 534 |
public String getTitle() { |
535 | 535 |
return RasterToolsUtil.getText(this, "incremento_recorte"); |
536 | 536 |
} |
537 |
|
|
538 |
/* |
|
539 |
* (non-Javadoc) |
|
540 |
* @see java.lang.Object#finalize() |
|
541 |
*/ |
|
542 |
protected void finalize() throws Throwable { |
|
543 |
fileName = null; |
|
544 |
suffix = null; |
|
545 |
rasterSE = null; |
|
546 |
drawableBands = null; |
|
547 |
pValues = null; |
|
548 |
viewName = null; |
|
549 |
params = null; |
|
550 |
colorInterp = null; |
|
551 |
affineTransform = null; |
|
552 |
wcValues = null; |
|
553 |
sparams = null; |
|
554 |
buffer = null; |
|
555 |
task = null; |
|
556 |
if(selectedRois != null) { |
|
557 |
selectedRois.clear(); |
|
558 |
selectedRois = null; |
|
559 |
} |
|
560 |
super.finalize(); |
|
561 |
} |
|
537 | 562 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/process/FilterProcess.java | ||
---|---|---|
45 | 45 |
import org.gvsig.fmap.dal.coverage.store.RasterQuery; |
46 | 46 |
import org.gvsig.fmap.dal.coverage.store.RasterWriter; |
47 | 47 |
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation; |
48 |
import org.gvsig.fmap.dal.exception.CloseException; |
|
48 | 49 |
import org.gvsig.raster.fmap.layers.FLyrRaster; |
49 | 50 |
import org.gvsig.raster.tools.app.basic.RasterToolsUtil; |
50 | 51 |
import org.gvsig.raster.tools.app.basic.raster.bean.previewbase.ParamStruct; |
... | ... | |
124 | 125 |
lyr.setReadingData(Thread.currentThread().toString()); |
125 | 126 |
|
126 | 127 |
RasterDataStore dstoreCopy = null; |
127 |
RasterQuery query = null; |
|
128 |
Buffer buffer = null; |
|
128 |
RasterQuery query = null; |
|
129 |
Buffer buffer = null; |
|
130 |
Buffer buff = null; |
|
131 |
Grid grid = null; |
|
132 |
Buffer alpha = null; |
|
129 | 133 |
|
130 | 134 |
try { |
131 | 135 |
insertLineLog(RasterToolsUtil.getText(this, "leyendo_raster")); |
... | ... | |
148 | 152 |
|
149 | 153 |
query.setAreaOfInterest(); |
150 | 154 |
|
151 |
Buffer buff = dstoreCopy.query(query);
|
|
155 |
buff = dstoreCopy.query(query); |
|
152 | 156 |
if(buff.isReadOnlyBuffer()) |
153 | 157 |
buff.addDrawableBands(renderBands); |
154 | 158 |
|
155 |
Grid grid = rManager.createGrid(buff, dstoreCopy, true);
|
|
159 |
grid = rManager.createGrid(buff, dstoreCopy, true); |
|
156 | 160 |
|
157 | 161 |
//Obtenemos la lista de filtros |
158 | 162 |
rasterFilterList = grid.getFilterList(); |
... | ... | |
199 | 203 |
rasterDataSource.getTransparency().getAlphaBandNumber() >= 0) { |
200 | 204 |
query.setDrawableBands(new int[]{rasterDataSource.getTransparency().getAlphaBandNumber()}); |
201 | 205 |
query.setAreaOfInterest(); |
202 |
Buffer alpha = dstoreCopy.query(query);
|
|
206 |
alpha = dstoreCopy.query(query); |
|
203 | 207 |
if(grid.getFilterList().getAlphaBand() != null) |
204 | 208 |
alpha = rManager.getColorConversion().mergeTransparencyBuffers(alpha, grid.getFilterList().getAlphaBand()); |
205 | 209 |
writerBufferServer.setAlphaBuffer(alpha); |
... | ... | |
266 | 270 |
} catch (FilterManagerException e) { |
267 | 271 |
throw new ProcessException("error_adding_filters", e); |
268 | 272 |
} finally { |
269 |
rasterDataSource = null; |
|
270 |
if(buffer != null) |
|
271 |
buffer.free(); |
|
273 |
if(writerBufferServer != null) |
|
274 |
writerBufferServer.dispose(); |
|
275 |
if(buff != null) |
|
276 |
buff.dispose(); |
|
277 |
if(rasterFilterList != null) |
|
278 |
rasterFilterList.dispose(); |
|
279 |
if (grid != null) |
|
280 |
grid.dispose(); |
|
281 |
if(alpha != null) |
|
282 |
alpha.dispose(); |
|
283 |
if(dstoreCopy != null) |
|
284 |
try { |
|
285 |
dstoreCopy.close(); |
|
286 |
} catch (CloseException e) { |
|
287 |
} |
|
272 | 288 |
if(lyr != null) |
273 | 289 |
lyr.setReadingData(null); |
290 |
dispose(); |
|
274 | 291 |
} |
275 | 292 |
} |
276 | 293 |
|
... | ... | |
318 | 335 |
public String getTitle() { |
319 | 336 |
return PluginServices.getText(this, "aplicando_filtros"); |
320 | 337 |
} |
338 |
|
|
339 |
/* |
|
340 |
* (non-Javadoc) |
|
341 |
* @see org.gvsig.raster.tools.app.basic.raster.process.RasterProcess#dispose() |
|
342 |
*/ |
|
343 |
public void dispose() { |
|
344 |
rasterDataSource = null; |
|
345 |
if(listFilterUsed != null) { |
|
346 |
listFilterUsed.clear(); |
|
347 |
listFilterUsed = null; |
|
348 |
} |
|
349 |
rasterFilterList = null; |
|
350 |
geoRasterWriter = null; |
|
351 |
lyr = null; |
|
352 |
} |
|
353 |
|
|
354 |
/* |
|
355 |
* (non-Javadoc) |
|
356 |
* @see java.lang.Object#finalize() |
|
357 |
*/ |
|
358 |
@Override |
|
359 |
protected void finalize() throws Throwable { |
|
360 |
dispose(); |
|
361 |
super.finalize(); |
|
362 |
} |
|
321 | 363 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/process/OverviewsProcess.java | ||
---|---|---|
41 | 41 |
private int value = 0; |
42 | 42 |
private int resamplingAlg = OverviewBuilder.AVERAGE; |
43 | 43 |
private int[] overviews = new int[] { 2, 4, 8, 16 }; |
44 |
|
|
44 |
|
|
45 | 45 |
/* |
46 | 46 |
* (non-Javadoc) |
47 | 47 |
* @see org.gvsig.rastertools.RasterProcess#init() |
... | ... | |
114 | 114 |
public String getTitle() { |
115 | 115 |
return PluginServices.getText(this, "incremento_overview"); |
116 | 116 |
} |
117 |
|
|
118 |
/* |
|
119 |
* (non-Javadoc) |
|
120 |
* @see java.lang.Object#finalize() |
|
121 |
*/ |
|
122 |
protected void finalize() throws Throwable { |
|
123 |
rasterSE = null; |
|
124 |
overviews = null; |
|
125 |
super.finalize(); |
|
126 |
} |
|
117 | 127 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/process/HistogramProcess.java | ||
---|---|---|
101 | 101 |
public String getTitle() { |
102 | 102 |
return PluginServices.getText(this, "calculando_histograma"); |
103 | 103 |
} |
104 |
|
|
105 |
/* |
|
106 |
* (non-Javadoc) |
|
107 |
* @see java.lang.Object#finalize() |
|
108 |
*/ |
|
109 |
protected void finalize() throws Throwable { |
|
110 |
lastHistogram = null; |
|
111 |
histogramable = null; |
|
112 |
super.finalize(); |
|
113 |
} |
|
104 | 114 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.app/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/raster/process/RasterProcess.java | ||
---|---|---|
35 | 35 |
import org.gvsig.gui.beans.incrementabletask.IncrementableTask; |
36 | 36 |
import org.gvsig.raster.fmap.layers.FLyrRaster; |
37 | 37 |
import org.gvsig.raster.tools.app.basic.RasterToolsUtil; |
38 |
import org.gvsig.tools.dispose.Disposable; |
|
38 | 39 |
import org.slf4j.Logger; |
39 | 40 |
import org.slf4j.LoggerFactory; |
40 | 41 |
/** |
... | ... | |
45 | 46 |
* 18/12/2007 |
46 | 47 |
* @author Nacho Brodin nachobrodin@gmail.com |
47 | 48 |
*/ |
48 |
public abstract class RasterProcess implements IIncrementable, IncrementableListener, Runnable { |
|
49 |
public abstract class RasterProcess implements IIncrementable, IncrementableListener, Runnable, Disposable {
|
|
49 | 50 |
protected IncrementableTask incrementableTask = null; |
50 |
protected volatile Thread blinker = new Thread(this);
|
|
51 |
protected volatile Thread blinker = null;
|
|
51 | 52 |
protected TaskEventManager taskEventManager = null; |
52 | 53 |
protected IProcessActions externalActions = null; |
53 | 54 |
protected Hashtable<String, Object> |
... | ... | |
60 | 61 |
private IProcessActions queueActions = null; |
61 | 62 |
private Logger logger = LoggerFactory.getLogger(RasterProcess.class.toString()); |
62 | 63 |
|
64 |
|
|
63 | 65 |
/** |
64 | 66 |
* Crea la ventana de IncrementableTask |
65 | 67 |
*/ |
... | ... | |
94 | 96 |
*/ |
95 | 97 |
public void start() { |
96 | 98 |
showIncrementableWindow(); |
99 |
if(blinker == null) |
|
100 |
blinker = new Thread(this); |
|
97 | 101 |
blinker.start(); |
98 | 102 |
} |
99 | 103 |
|
... | ... | |
182 | 186 |
if (queueActions != null) |
183 | 187 |
queueActions.end(this); |
184 | 188 |
time = new java.util.Date().getTime() - t1; |
189 |
blinker = null; |
|
185 | 190 |
} |
186 | 191 |
} |
187 | 192 |
|
... | ... | |
423 | 428 |
public boolean isPausable() { |
424 | 429 |
return false; |
425 | 430 |
} |
431 |
|
|
432 |
public void dispose() { |
|
433 |
try { |
|
434 |
finalize(); |
|
435 |
} catch (Throwable e) { |
|
436 |
} |
|
437 |
} |
|
438 |
|
|
439 |
/* |
|
440 |
* (non-Javadoc) |
|
441 |
* @see java.lang.Object#finalize() |
|
442 |
*/ |
|
443 |
@Override |
|
444 |
protected void finalize() throws Throwable { |
|
445 |
incrementableTask = null; |
|
446 |
blinker = null; |
|
447 |
externalActions = null; |
|
448 |
if(taskParams != null) { |
|
449 |
taskParams.clear(); |
|
450 |
taskParams = null; |
|
451 |
} |
|
452 |
log = null; |
|
453 |
lastLine = null; |
|
454 |
queueActions = null; |
|
455 |
logger = null; |
|
456 |
super.finalize(); |
|
457 |
} |
|
426 | 458 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.fmap/src/main/java/org/gvsig/raster/fmap/layers/DefaultFLyrRaster.java | ||
---|---|---|
190 | 190 |
protected String readingData = null; |
191 | 191 |
//It is set to true if the method init has been called at least once |
192 | 192 |
protected boolean layerInitialize = false; |
193 |
|
|
193 |
|
|
194 | 194 |
public DefaultFLyrRaster() { |
195 | 195 |
affineTransformList = rManager.createHistoricalService(); |
196 | 196 |
} |
... | ... | |
295 | 295 |
} catch (RasterDriverException e) { |
296 | 296 |
throw new LoadLayerException(this.getName()); |
297 | 297 |
} |
298 |
|
|
299 |
/*if (dataStore != null) |
|
300 |
try { |
|
301 |
this.init(); |
|
302 |
} catch (FilePaletteException e) { |
|
303 |
throw new LoadLayerException("", e); |
|
304 |
}*/ |
|
305 | 298 |
} |
306 | 299 |
|
307 | 300 |
/** |
... | ... | |
963 | 956 |
} |
964 | 957 |
|
965 | 958 |
dataStore = null; |
959 |
if(render != null) |
|
960 |
render.dispose(); |
|
966 | 961 |
render = null; |
967 | 962 |
// System.gc(); |
968 | 963 |
this.setRemoveRasterFlag(true); |
... | ... | |
1488 | 1483 |
* @see com.iver.cit.gvsig.fmap.layers.layerOperations.Classifiable#removeLegendListener(com.iver.cit.gvsig.fmap.layers.LegendListener) |
1489 | 1484 |
*/ |
1490 | 1485 |
public void removeLegendListener(LegendListener listener) { |
1491 |
layerChangeSupport.removeLayerListener(listener); |
|
1486 |
if(layerChangeSupport != null) |
|
1487 |
layerChangeSupport.removeLayerListener(listener); |
|
1492 | 1488 |
} |
1493 | 1489 |
|
1494 | 1490 |
/* |
... | ... | |
1839 | 1835 |
|
1840 | 1836 |
public void enableAwake() throws NotAvailableStateException {state.enableAwake();} |
1841 | 1837 |
|
1842 |
public void enableClosed() throws NotAvailableStateException {state.enableClosed();} |
|
1838 |
public void enableClosed() throws NotAvailableStateException { |
|
1839 |
if(state != null) |
|
1840 |
state.enableClosed(); |
|
1841 |
} |
|
1843 | 1842 |
|
1844 | 1843 |
public void enableOpen() throws NotAvailableStateException {state.enableOpen();} |
1845 | 1844 |
|
... | ... | |
1941 | 1940 |
|
1942 | 1941 |
@Override |
1943 | 1942 |
protected void doDispose() throws BaseException { |
1944 |
// Nothing to do |
|
1943 |
if(render != null) |
|
1944 |
render.dispose(); |
|
1945 |
if(dataStore != null) |
|
1946 |
dataStore.dispose(); |
|
1947 |
finalize(); |
|
1945 | 1948 |
} |
1946 | 1949 |
|
1947 | 1950 |
/* |
... | ... | |
2090 | 2093 |
throw new ReadException(getDataStore().getName(), e); |
2091 | 2094 |
} |
2092 | 2095 |
} |
2096 |
|
|
2097 |
/* |
|
2098 |
* (non-Javadoc) |
|
2099 |
* @see java.lang.Object#finalize() |
|
2100 |
*/ |
|
2101 |
protected void finalize() { |
|
2102 |
layerChangeSupport = null; |
|
2103 |
state = null; |
|
2104 |
lastLegend = null; |
|
2105 |
colorTableLoadedFromProject = null; |
|
2106 |
if(rois != null) { |
|
2107 |
rois.clear(); |
|
2108 |
rois = null; |
|
2109 |
} |
|
2110 |
strategy = null; |
|
2111 |
configuration = null; |
|
2112 |
image = null; |
|
2113 |
fileUtil = null; |
|
2114 |
rasterUtil = null; |
|
2115 |
crsUtil = null; |
|
2116 |
mathUtil = null; |
|
2117 |
uri = null; |
|
2118 |
affineTransformList = null; |
|
2119 |
readingData = null; |
|
2120 |
dataStore = null; |
|
2121 |
render = null; |
|
2122 |
} |
|
2093 | 2123 |
|
2094 | 2124 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/render/DefaultRender.java | ||
---|---|---|
63 | 63 |
import org.gvsig.raster.impl.datastruct.DefaultViewPortData; |
64 | 64 |
import org.gvsig.raster.impl.datastruct.ExtentImpl; |
65 | 65 |
import org.gvsig.raster.impl.grid.GridImpl; |
66 |
import org.gvsig.raster.impl.grid.filter.DefaultRasterFilterList; |
|
67 | 66 |
import org.gvsig.raster.impl.grid.filter.band.ColorTableFilter; |
68 | 67 |
import org.gvsig.raster.impl.store.properties.DataStoreColorInterpretation; |
69 | 68 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
409 | 408 |
throws RasterDriverException, InvalidSetViewException, ProcessInterruptedException { |
410 | 409 |
|
411 | 410 |
grid = bufferPreprocessing(buf, lastTransparency); |
412 |
|
|
411 |
|
|
412 |
if(lastRenderBuffer != null) |
|
413 |
lastRenderBuffer.dispose(); |
|
413 | 414 |
//Buffer filtrado para renderizar |
414 | 415 |
lastRenderBuffer = grid.getRasterBuf(); |
415 | 416 |
drawer.setBuffer(lastRenderBuffer); // Buffer de datos a renderizar |
... | ... | |
464 | 465 |
} catch (NoninvertibleTransformException e) { |
465 | 466 |
LoggerFactory.getLogger(getClass()).debug("Transformation error", e); |
466 | 467 |
} |
468 |
|
|
469 |
if(buf != null) |
|
470 |
buf.dispose(); |
|
471 |
|
|
467 | 472 |
return; |
468 | 473 |
// long t2 = new Date().getTime(); |
469 | 474 |
// System.out.println("Renderizando Raster: " + ((t2 - t1) / 1000D) + ", secs."); |
... | ... | |
568 | 573 |
} catch (ProcessInterruptedException e1) { |
569 | 574 |
} |
570 | 575 |
} |
576 |
|
|
577 |
if(buf != null) |
|
578 |
buf.dispose(); |
|
579 |
if(transparencyBuffer != null) |
|
580 |
transparencyBuffer.dispose(); |
|
571 | 581 |
} |
572 | 582 |
|
573 | 583 |
/** |
... | ... | |
921 | 931 |
callVisualPropertyChanged(new VisualPropertyEvent(e.getSource())); |
922 | 932 |
} |
923 | 933 |
|
924 |
/** |
|
925 |
* Sets buffers to null |
|
926 |
*/ |
|
927 |
public void free() { |
|
928 |
if (lastTransparency != null) |
|
929 |
lastTransparency.free(); |
|
930 |
if (grid != null && grid instanceof GridImpl) |
|
931 |
((GridImpl)grid).free(); |
|
932 |
if (getFilterList() != null && getFilterList() instanceof DefaultRasterFilterList) |
|
933 |
((DefaultRasterFilterList)getFilterList()).free(); |
|
934 |
grid = null; |
|
935 |
dataStore = null; |
|
936 |
if (lastRenderBuffer != null) |
|
937 |
lastRenderBuffer.free(); |
|
938 |
lastRenderBuffer = null; |
|
939 |
} |
|
940 |
|
|
941 | 934 |
/* |
942 | 935 |
* (non-Javadoc) |
943 | 936 |
* @see org.gvsig.tools.persistence.Persistent#loadFromState(org.gvsig.tools.persistence.PersistentState) |
... | ... | |
972 | 965 |
definition.addDynFieldList("renderBands").setClassOfItems(int.class).setMandatory(false); |
973 | 966 |
//definition.addDynFieldObject("filterList").setClassOfValue(RasterFilterList.class).setMandatory(false); |
974 | 967 |
} |
968 |
|
|
969 |
/** |
|
970 |
* Sets buffers to null |
|
971 |
*/ |
|
972 |
public void dispose() { |
|
973 |
if (lastTransparency != null) |
|
974 |
lastTransparency.dispose(); |
|
975 |
if (grid != null) |
|
976 |
grid.dispose(); |
|
977 |
if (getFilterList() != null) |
|
978 |
getFilterList().dispose(); |
|
979 |
if (lastRenderBuffer != null) |
|
980 |
lastRenderBuffer.dispose(); |
|
981 |
try { |
|
982 |
finalize(); |
|
983 |
} catch (Throwable e) { |
|
984 |
} |
|
985 |
} |
|
986 |
|
|
987 |
/* |
|
988 |
* (non-Javadoc) |
|
989 |
* @see java.lang.Object#finalize() |
|
990 |
*/ |
|
991 |
protected void finalize() throws Throwable { |
|
992 |
grid = null; |
|
993 |
dataStore = null; |
|
994 |
renderBands = null; |
|
995 |
drawer = null; |
|
996 |
lastTransparency = null; |
|
997 |
filterList = null; |
|
998 |
lastRenderBuffer = null; |
|
999 |
ulPxRequest = null; |
|
1000 |
lrPxRequest = null; |
|
1001 |
lastGraphics = null; |
|
1002 |
lastViewPortData = null; |
|
1003 |
viewDimension = null; |
|
1004 |
|
|
1005 |
if(visualPropertyListener != null) { |
|
1006 |
visualPropertyListener.clear(); |
|
1007 |
visualPropertyListener = null; |
|
1008 |
} |
|
1009 |
super.finalize(); |
|
1010 |
} |
|
975 | 1011 |
|
976 | 1012 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/render/ImageDrawer.java | ||
---|---|---|
53 | 53 |
private int width = 0; |
54 | 54 |
private int height = 0; |
55 | 55 |
private DefaultRender rendering = null; |
56 |
|
|
56 |
|
|
57 | 57 |
public ImageDrawer(DefaultRender rendering) { |
58 | 58 |
this.rendering = rendering; |
59 | 59 |
} |
... | ... | |
292 | 292 |
this.width = w; |
293 | 293 |
this.height = h; |
294 | 294 |
} |
295 |
|
|
296 |
public void dispose() { |
|
297 |
if(rasterBuf != null) |
|
298 |
rasterBuf.dispose(); |
|
299 |
try { |
|
300 |
finalize(); |
|
301 |
} catch (Throwable e) { |
|
302 |
} |
|
303 |
} |
|
304 |
|
|
305 |
/* |
|
306 |
* (non-Javadoc) |
|
307 |
* @see java.lang.Object#finalize() |
|
308 |
*/ |
|
309 |
protected void finalize() throws Throwable { |
|
310 |
step = null; |
|
311 |
rendering = null; |
|
312 |
rasterBuf = null; |
|
313 |
super.finalize(); |
|
314 |
} |
|
295 | 315 |
|
296 | 316 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/GridWriter.java | ||
---|---|---|
212 | 212 |
/** |
213 | 213 |
* Releases buffer resources |
214 | 214 |
*/ |
215 |
public void free() {
|
|
215 |
public void dispose() {
|
|
216 | 216 |
if (rasterBuf != null) { |
217 |
rasterBuf.free(); |
|
218 |
rasterBuf = null; |
|
217 |
rasterBuf.dispose(); |
|
219 | 218 |
} |
219 |
try { |
|
220 |
finalize(); |
|
221 |
} catch (Throwable e) { |
|
222 |
} |
|
220 | 223 |
} |
224 |
|
|
225 |
/* |
|
226 |
* (non-Javadoc) |
|
227 |
* @see java.lang.Object#finalize() |
|
228 |
*/ |
|
229 |
protected void finalize() throws Throwable { |
|
230 |
rasterBuf = null; |
|
231 |
extent = null; |
|
232 |
super.finalize(); |
|
233 |
} |
|
221 | 234 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/filter/pansharp/PanSharpeningFilter.java | ||
---|---|---|
125 | 125 |
} catch (ProcessInterruptedException e) { |
126 | 126 |
//TODO: Gestionar cancelaci?n de escritura |
127 | 127 |
} |
128 |
rasterResult.free();
|
|
128 |
rasterResult.dispose();
|
|
129 | 129 |
} |
130 | 130 |
|
131 | 131 |
public void pre() { |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/filter/RasterFilterListManagerImpl.java | ||
---|---|---|
427 | 427 |
// TODO Auto-generated method stub |
428 | 428 |
return null; |
429 | 429 |
} |
430 |
|
|
431 |
/* |
|
432 |
* (non-Javadoc) |
|
433 |
* @see java.lang.Object#finalize() |
|
434 |
*/ |
|
435 |
protected void finalize() throws Throwable { |
|
436 |
rasterFilterList = null; |
|
437 |
if(managers != null) { |
|
438 |
managers.clear(); |
|
439 |
managers = null; |
|
440 |
} |
|
441 |
if(filterList != null) { |
|
442 |
filterList.clear(); |
|
443 |
filterList = null; |
|
444 |
} |
|
445 |
super.finalize(); |
|
446 |
} |
|
430 | 447 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/filter/DefaultRasterFilterList.java | ||
---|---|---|
75 | 75 |
filterListListener = new ArrayList<FilterListChangeListener>(); |
76 | 76 |
private RasterFilterListManagerImpl |
77 | 77 |
manager = null; |
78 |
|
|
78 |
|
|
79 | 79 |
/** |
80 | 80 |
* Asigna un listener a la lista que ser? informado cuando cambie un |
81 | 81 |
* filtro o posici?n en la lista. |
... | ... | |
691 | 691 |
return newFilter; |
692 | 692 |
} |
693 | 693 |
|
694 |
/** |
|
695 |
* Releases buffer resources |
|
696 |
*/ |
|
697 |
public void free() { |
|
698 |
if (rasterBuf != null) |
|
699 |
rasterBuf.free(); |
|
700 |
if (alphaBand != null) |
|
701 |
alphaBand.free(); |
|
702 |
rasterBuf = null; |
|
703 |
alphaBand = null; |
|
704 |
for (int i = 0; i < lenght(); i++) |
|
705 |
((BaseRasterFilter) list.get(i)).free(); |
|
706 |
} |
|
707 |
|
|
708 | 694 |
/* |
709 | 695 |
* (non-Javadoc) |
710 | 696 |
* @see org.gvsig.tools.persistence.Persistent#loadFromState(org.gvsig.tools.persistence.PersistentState) |
... | ... | |
768 | 754 |
//definition.addDynFieldList("paramlist").setClassOfItems(PersistencyFilterParam.class).setMandatory(false); |
769 | 755 |
} |
770 | 756 |
} |
757 |
|
|
758 |
/** |
|
759 |
* Releases buffer resources |
|
760 |
*/ |
|
761 |
public void dispose() { |
|
762 |
if (rasterBuf != null) |
|
763 |
rasterBuf.dispose(); |
|
764 |
if (alphaBand != null) |
|
765 |
alphaBand.dispose(); |
|
766 |
/*if(list != null) { |
|
767 |
for (int i = 0; i < lenght(); i++) |
|
768 |
((BaseRasterFilter) list.get(i)).dispose(); |
|
769 |
}*/ |
|
770 |
try { |
|
771 |
finalize(); |
|
772 |
} catch (Throwable e) { |
|
773 |
} |
|
774 |
} |
|
775 |
|
|
776 |
/* |
|
777 |
* (non-Javadoc) |
|
778 |
* @see java.lang.Object#finalize() |
|
779 |
*/ |
|
780 |
protected void finalize() throws Throwable { |
|
781 |
rasterBuf = null; |
|
782 |
alphaBand = null; |
|
783 |
if(filterListListener != null) { |
|
784 |
filterListListener.clear(); |
|
785 |
filterListListener = null; |
|
786 |
} |
|
787 |
if(status != null) { |
|
788 |
status.clear(); |
|
789 |
status = null; |
|
790 |
} |
|
791 |
if(list != null) { |
|
792 |
list.clear(); |
|
793 |
list = null; |
|
794 |
} |
|
795 |
super.finalize(); |
|
796 |
} |
|
771 | 797 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/GridImpl.java | ||
---|---|---|
95 | 95 |
private ColorTable palette = null; |
96 | 96 |
private RasterFilterList filterList = null; |
97 | 97 |
|
98 |
|
|
99 |
|
|
100 | 98 |
/** |
101 | 99 |
* Crea un grid a partir de un MultiRasterDataset. Usa el extent de la fuente de datos como |
102 | 100 |
* extent completo y el extent pasado como par?metro como extensi?n de ventana. |
... | ... | |
1197 | 1195 |
return layerExtent; |
1198 | 1196 |
} |
1199 | 1197 |
|
1200 |
/** |
|
1201 |
* Releases buffer resources |
|
1198 |
/* |
|
1199 |
* (non-Javadoc) |
|
1200 |
* @see org.gvsig.tools.dispose.Disposable#dispose() |
|
1202 | 1201 |
*/ |
1203 |
public void free() {
|
|
1202 |
public void dispose() {
|
|
1204 | 1203 |
if (rasterBuf != null) |
1205 |
rasterBuf.free(); |
|
1204 |
rasterBuf.dispose(); |
|
1205 |
if(reader != null) |
|
1206 |
reader.dispose(); |
|
1207 |
if(writer != null) |
|
1208 |
writer.dispose(); |
|
1209 |
if(statistic != null) |
|
1210 |
statistic.dispose(); |
|
1206 | 1211 |
//if (filterList != null) |
1207 | 1212 |
//filterList.free(); |
1208 | 1213 |
if (writer != null) |
1209 |
writer.free(); |
|
1214 |
writer.dispose(); |
|
1215 |
try { |
|
1216 |
finalize(); |
|
1217 |
} catch (Throwable e) { |
|
1218 |
} |
|
1210 | 1219 |
} |
1220 |
|
|
1221 |
/* |
|
1222 |
* (non-Javadoc) |
|
1223 |
* @see java.lang.Object#finalize() |
|
1224 |
*/ |
|
1225 |
protected void finalize() throws Throwable { |
|
1226 |
bands = null; |
|
1227 |
rasterBuf = null; |
|
1228 |
reader = null; |
|
1229 |
writer = null; |
|
1230 |
windowExtent = null; |
|
1231 |
layerExtent = null; |
|
1232 |
statistic = null; |
|
1233 |
palette = null; |
|
1234 |
filterList = null; |
|
1235 |
super.finalize(); |
|
1236 |
} |
|
1211 | 1237 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/GridReader.java | ||
---|---|---|
246 | 246 |
public void setBandToOperate(int band){ |
247 | 247 |
this.bandToOperate = band; |
248 | 248 |
} |
249 |
|
|
250 |
public void dispose() { |
|
251 |
if(rasterBuf != null) |
|
252 |
rasterBuf.dispose(); |
|
253 |
try { |
|
254 |
finalize(); |
|
255 |
} catch (Throwable e) { |
|
256 |
} |
|
257 |
} |
|
258 |
|
|
259 |
/* |
|
260 |
* (non-Javadoc) |
|
261 |
* @see java.lang.Object#finalize() |
|
262 |
*/ |
|
263 |
protected void finalize() throws Throwable { |
|
264 |
dataStore = null; |
|
265 |
rasterBuf = null; |
|
266 |
bands = null; |
|
267 |
defaultNoData = null; |
|
268 |
super.finalize(); |
|
269 |
} |
|
249 | 270 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/GridStatistic.java | ||
---|---|---|
178 | 178 |
return statisticsCalculated; |
179 | 179 |
} |
180 | 180 |
|
181 |
public void dispose() { |
|
182 |
try { |
|
183 |
finalize(); |
|
184 |
} catch (Throwable e) { |
|
185 |
} |
|
186 |
} |
|
187 |
|
|
188 |
/* |
|
189 |
* (non-Javadoc) |
|
190 |
* @see java.lang.Object#finalize() |
|
191 |
*/ |
|
192 |
protected void finalize() throws Throwable { |
|
193 |
max = null; |
|
194 |
min = null; |
|
195 |
mean = null; |
|
196 |
variance = null; |
|
197 |
grid = null; |
|
198 |
super.finalize(); |
|
199 |
} |
|
181 | 200 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/DefaultDataServerWriter.java | ||
---|---|---|
267 | 267 |
public void setAlphaBuffer(Buffer alphaBuffer) { |
268 | 268 |
this.alphaBuffer = alphaBuffer; |
269 | 269 |
} |
270 |
|
|
271 |
public void dispose() { |
|
272 |
if(buffer != null) |
|
273 |
buffer.dispose(); |
|
274 |
if(alphaBuffer != null) |
|
275 |
alphaBuffer.dispose(); |
|
276 |
} |
|
270 | 277 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/RasterMemoryBuffer.java | ||
---|---|---|
42 | 42 |
private FloatBand[] floatBuf = null; |
43 | 43 |
private DoubleBand[] doubleBuf = null; |
44 | 44 |
|
45 |
public class ByteBand extends RasterBand{ |
|
45 |
public class ByteBand extends RasterBand {
|
|
46 | 46 |
public byte[][] buf = null; |
47 | 47 |
|
48 |
public ByteBand(int height, int width, boolean malloc){ |
|
48 |
public ByteBand(int height, int width, boolean malloc) {
|
|
49 | 49 |
super(height, width); |
50 | 50 |
if(malloc) |
51 | 51 |
buf = new byte[height][width]; |
... | ... | |
55 | 55 |
return buf[line]; |
56 | 56 |
} |
57 | 57 |
|
58 |
public void setLine(int line, Object value){ |
|
58 |
public void setLine(int line, Object value) {
|
|
59 | 59 |
buf[line] = (byte[])value; |
60 | 60 |
} |
61 | 61 |
|
62 |
public Object getBuf(){ |
|
62 |
public Object getBuf() {
|
|
63 | 63 |
return buf; |
64 | 64 |
} |
65 |
|
|
66 |
public void dispose() { |
|
67 |
buf = null; |
|
68 |
} |
|
69 |
|
|
70 |
/* |
|
71 |
* (non-Javadoc) |
|
72 |
* @see java.lang.Object#finalize() |
|
73 |
*/ |
|
74 |
protected void finalize() throws Throwable { |
|
75 |
buf = null; |
|
76 |
super.finalize(); |
|
77 |
} |
|
65 | 78 |
} |
66 | 79 |
|
67 | 80 |
public class ShortBand extends RasterBand{ |
... | ... | |
84 | 97 |
public Object getBuf(){ |
85 | 98 |
return buf; |
86 | 99 |
} |
100 |
|
|
101 |
public void dispose() { |
|
102 |
buf = null; |
|
103 |
} |
|
104 |
|
|
105 |
/* |
|
106 |
* (non-Javadoc) |
|
107 |
* @see java.lang.Object#finalize() |
|
108 |
*/ |
|
109 |
protected void finalize() throws Throwable { |
|
110 |
buf = null; |
|
111 |
super.finalize(); |
|
112 |
} |
|
87 | 113 |
} |
88 | 114 |
|
89 | 115 |
public class IntBand extends RasterBand{ |
... | ... | |
106 | 132 |
public Object getBuf(){ |
107 | 133 |
return buf; |
108 | 134 |
} |
135 |
|
|
136 |
public void dispose() { |
|
137 |
buf = null; |
|
138 |
} |
|
139 |
|
|
140 |
/* |
|
141 |
* (non-Javadoc) |
|
142 |
* @see java.lang.Object#finalize() |
|
143 |
*/ |
|
144 |
protected void finalize() throws Throwable { |
|
145 |
buf = null; |
|
146 |
super.finalize(); |
|
147 |
} |
|
109 | 148 |
} |
110 | 149 |
|
111 | 150 |
public class FloatBand extends RasterBand{ |
... | ... | |
128 | 167 |
public Object getBuf(){ |
129 | 168 |
return buf; |
130 | 169 |
} |
170 |
|
|
171 |
public void dispose() { |
|
172 |
buf = null; |
|
173 |
} |
|
174 |
|
|
175 |
/* |
|
176 |
* (non-Javadoc) |
|
177 |
* @see java.lang.Object#finalize() |
|
178 |
*/ |
|
179 |
protected void finalize() throws Throwable { |
|
180 |
buf = null; |
|
181 |
super.finalize(); |
|
182 |
} |
|
131 | 183 |
} |
132 | 184 |
|
133 | 185 |
public class DoubleBand extends RasterBand{ |
... | ... | |
150 | 202 |
public Object getBuf(){ |
151 | 203 |
return buf; |
152 | 204 |
} |
205 |
|
|
206 |
public void dispose() { |
|
207 |
buf = null; |
|
208 |
} |
|
209 |
|
|
210 |
/* |
|
211 |
* (non-Javadoc) |
|
212 |
* @see java.lang.Object#finalize() |
|
213 |
*/ |
|
214 |
protected void finalize() throws Throwable { |
|
215 |
buf = null; |
|
216 |
super.finalize(); |
|
217 |
} |
|
153 | 218 |
} |
154 | 219 |
|
155 | 220 |
/** |
... | ... | |
1159 | 1224 |
public boolean isReadOnlyBuffer() { |
1160 | 1225 |
return false; |
1161 | 1226 |
} |
1162 |
|
|
1227 |
|
|
1163 | 1228 |
/** |
1164 | 1229 |
* Libera el buffer de memoria |
1165 | 1230 |
*/ |
1166 |
public void free(){ |
|
1167 |
byteBuf = null; |
|
1168 |
shortBuf = null; |
|
1169 |
intBuf = null; |
|
1170 |
floatBuf = null; |
|
1171 |
doubleBuf = null; |
|
1231 |
public void dispose() { |
|
1232 |
if(byteBuf != null) { |
|
1233 |
for (int i = 0; i < byteBuf.length; i++) { |
|
1234 |
byteBuf[i].dispose(); |
|
1235 |
byteBuf[i] = null; |
|
1236 |
} |
|
1237 |
byteBuf = null; |
|
1238 |
} |
|
1239 |
if(shortBuf != null) { |
|
1240 |
for (int i = 0; i < shortBuf.length; i++) { |
|
1241 |
shortBuf[i].dispose(); |
|
1242 |
shortBuf[i] = null; |
|
1243 |
} |
|
1244 |
shortBuf = null; |
|
1245 |
} |
|
1246 |
if(intBuf != null) { |
|
1247 |
for (int i = 0; i < intBuf.length; i++) { |
|
1248 |
intBuf[i].dispose(); |
|
1249 |
intBuf[i] = null; |
|
1250 |
} |
|
1251 |
intBuf = null; |
|
1252 |
} |
|
1253 |
if(floatBuf != null) { |
|
1254 |
for (int i = 0; i < floatBuf.length; i++) { |
|
1255 |
floatBuf[i].dispose(); |
|
1256 |
floatBuf[i] = null; |
|
1257 |
} |
|
1258 |
floatBuf = null; |
|
1259 |
} |
|
1260 |
if(doubleBuf != null) { |
|
1261 |
for (int i = 0; i < doubleBuf.length; i++) { |
|
1262 |
doubleBuf[i].dispose(); |
|
1263 |
doubleBuf[i] = null; |
|
1264 |
} |
|
1265 |
doubleBuf = null; |
|
1266 |
} |
|
1172 | 1267 |
} |
1173 | 1268 |
|
1174 |
//**************************************************** |
|
1175 |
//*********Implementing Disposable methods************ |
|
1176 |
//**************************************************** |
|
1177 |
|
|
1178 |
public void dispose() { |
|
1179 |
free(); |
|
1269 |
/* |
|
1270 |
* (non-Javadoc) |
|
1271 |
* @see java.lang.Object#finalize() |
|
1272 |
*/ |
|
1273 |
protected void finalize() throws Throwable { |
|
1274 |
if(byteBuf != null) { |
|
1275 |
for (int i = 0; i < byteBuf.length; i++) { |
|
1276 |
byteBuf[i] = null; |
|
1277 |
} |
|
1278 |
byteBuf = null; |
|
1279 |
} |
|
1280 |
if(shortBuf != null) { |
|
1281 |
for (int i = 0; i < shortBuf.length; i++) { |
|
1282 |
shortBuf[i] = null; |
|
1283 |
} |
|
1284 |
shortBuf = null; |
|
1285 |
} |
|
1286 |
if(intBuf != null) { |
|
1287 |
for (int i = 0; i < intBuf.length; i++) { |
|
1288 |
intBuf[i] = null; |
|
1289 |
} |
|
1290 |
intBuf = null; |
|
1291 |
} |
|
1292 |
if(floatBuf != null) { |
|
1293 |
for (int i = 0; i < floatBuf.length; i++) { |
|
1294 |
floatBuf[i] = null; |
|
1295 |
} |
|
1296 |
floatBuf = null; |
|
1297 |
} |
|
1298 |
if(doubleBuf != null) { |
|
1299 |
for (int i = 0; i < doubleBuf.length; i++) { |
|
1300 |
doubleBuf[i] = null; |
|
1301 |
} |
|
1302 |
doubleBuf = null; |
|
1303 |
} |
|
1304 |
super.finalize(); |
|
1180 | 1305 |
} |
1181 | 1306 |
|
1182 | 1307 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/CacheDataFromDriverServer.java | ||
---|---|---|
48 | 48 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
49 | 49 |
* |
50 | 50 |
*/ |
51 |
public class CacheDataFromDriverServer implements ICacheDataSource{ |
|
51 |
public class CacheDataFromDriverServer implements ICacheDataSource {
|
|
52 | 52 |
|
53 | 53 |
private DefaultRasterProvider dataset = null; |
54 | 54 |
private Extent pageExtent = null; |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/RasterCache.java | ||
---|---|---|
68 | 68 |
return null; |
69 | 69 |
} |
70 | 70 |
|
71 |
public void setLine(int line, Object value){ |
|
71 |
public void setLine(int line, Object value) {
|
|
72 | 72 |
|
73 | 73 |
} |
74 | 74 |
|
75 |
public Object getBuf(){ |
|
75 |
public Object getBuf() {
|
|
76 | 76 |
return null; |
77 | 77 |
} |
78 | 78 |
|
... | ... | |
80 | 80 |
for (int i = 0; i < cacheDataServer.length; i++) |
81 | 81 |
((CacheDataServer)cacheDataServer[i]).setName(null, numBand, i); |
82 | 82 |
} |
83 |
|
|
84 |
public void dispose() { |
|
85 |
for (int i = 0; i < cacheDataServer.length; i++) { |
|
86 |
cacheDataServer[i] = null; |
|
87 |
} |
|
88 |
cacheDataServer = null; |
|
89 |
} |
|
83 | 90 |
} |
84 | 91 |
|
85 | 92 |
/** |
... | ... | |
109 | 116 |
cache.clearCache(this.nBands); |
110 | 117 |
} |
111 | 118 |
|
112 |
/** |
|
113 |
* Borra la cach? cuando se elimina el objeto RasterCache ya que |
|
114 |
* los trozos ya no pueden ser referenciados. |
|
115 |
*/ |
|
116 |
protected void finalize() throws Throwable { |
|
117 |
free(); |
|
118 |
} |
|
119 |
|
|
120 | 119 |
/* |
121 | 120 |
* (non-Javadoc) |
122 | 121 |
* @see org.gvsig.raster.driver.Buffer#isBandSwitchable() |
... | ... | |
811 | 810 |
* (non-Javadoc) |
812 | 811 |
* @see org.gvsig.raster.dataset.Buffer#free() |
813 | 812 |
*/ |
814 |
public void free(){ |
|
815 |
cache.getAccessPage().free(); |
|
816 |
for (int i = 0; i < cache.getNPags(); i++) { |
|
817 |
if(cache.getPageBufferFromNumberCachePage(i) != null) |
|
818 |
cache.getPageBufferFromNumberCachePage(i).free(); |
|
813 |
public void dispose() { |
|
814 |
if(cache != null) { |
|
815 |
if(cache.getAccessPage() != null) |
|
816 |
cache.getAccessPage().dispose(); |
|
817 |
for (int i = 0; i < cache.getNPags(); i++) { |
|
818 |
if(cache.getPageBufferFromNumberCachePage(i) != null) |
|
819 |
cache.getPageBufferFromNumberCachePage(i).dispose(); |
|
820 |
} |
|
821 |
try { |
|
822 |
clearCache(); |
|
823 |
} catch (IOException e) { |
|
824 |
} |
|
825 |
cache = null; |
|
819 | 826 |
} |
820 |
try { |
|
821 |
clearCache(); |
|
822 |
} catch (IOException e) { |
|
823 |
} |
|
827 |
lru = null; |
|
824 | 828 |
} |
825 | 829 |
|
826 |
//**************************************************** |
|
827 |
//*********Implementing Disposable methods************ |
|
828 |
//**************************************************** |
|
829 |
|
|
830 | 830 |
/* |
831 | 831 |
* (non-Javadoc) |
832 |
* @see org.gvsig.tools.dispose.Disposable#dispose()
|
|
832 |
* @see java.lang.Object#finalize()
|
|
833 | 833 |
*/ |
834 |
public void dispose() { |
|
835 |
free(); |
|
834 |
protected void finalize() throws Throwable { |
|
835 |
cache = null; |
|
836 |
lru = null; |
|
837 |
super.finalize(); |
|
836 | 838 |
} |
837 | 839 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/PageBuffer.java | ||
---|---|---|
754 | 754 |
return null; |
755 | 755 |
} |
756 | 756 |
|
757 |
/** |
|
758 |
* Libera el buffer de memoria |
|
759 |
*/ |
|
760 |
public void free() { |
|
761 |
if(pageBandBuffer != null) |
|
762 |
for (int i = 0; i < pageBandBuffer.length; i++) |
|
763 |
pageBandBuffer[i].free(); |
|
764 |
} |
|
765 |
|
|
766 | 757 |
/* |
767 | 758 |
* (non-Javadoc) |
768 | 759 |
* @see org.gvsig.fmap.dal.coverage.buffer.Buffer#getAdjustedWindow(int, int, int) |
... | ... | |
824 | 815 |
* @see org.gvsig.tools.dispose.Disposable#dispose() |
825 | 816 |
*/ |
826 | 817 |
public void dispose() { |
827 |
free(); |
|
818 |
if(pageBandBuffer != null) { |
|
819 |
for (int i = 0; i < pageBandBuffer.length; i++) { |
|
820 |
pageBandBuffer[i].dispose(); |
|
821 |
} |
|
822 |
} |
|
823 |
try { |
|
824 |
finalize(); |
|
825 |
} catch (Throwable e) { |
|
826 |
} |
|
828 | 827 |
} |
828 |
|
|
829 |
/* |
|
830 |
* (non-Javadoc) |
|
831 |
* @see java.lang.Object#finalize() |
|
832 |
*/ |
|
833 |
protected void finalize() throws Throwable { |
|
834 |
limits = null; |
|
835 |
histogramComputer = null; |
|
836 |
if(pageBandBuffer != null) { |
|
837 |
for (int i = 0; i < pageBandBuffer.length; i++) { |
|
838 |
pageBandBuffer[i] = null; |
|
839 |
} |
|
840 |
pageBandBuffer = null; |
|
841 |
} |
|
842 |
limits = null; |
|
843 |
super.finalize(); |
|
844 |
} |
|
829 | 845 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/WriterBufferCompleteServer.java | ||
---|---|---|
177 | 177 |
// TODO Auto-generated method stub |
178 | 178 |
|
179 | 179 |
} |
180 |
|
|
181 |
public void dispose() { |
|
182 |
// TODO Auto-generated method stub |
|
183 |
|
|
184 |
} |
|
180 | 185 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/RasterReadOnlyBuffer.java | ||
---|---|---|
97 | 97 |
private int offset = 1; |
98 | 98 |
|
99 | 99 |
private int bufWidth, bufHeight; |
100 |
|
|
101 |
/**
|
|
102 |
* Constructor. Asigna las variables de inicializaci?n y crea la estructura de
|
|
103 |
* la cach? con los datos pasados.
|
|
104 |
* @param dataType Tipo de dato
|
|
105 |
* @param width Ancho
|
|
106 |
* @param height Alto
|
|
107 |
* @param bandNr Banda
|
|
108 |
* @param orig
|
|
109 |
* @throws RasterDriverException
|
|
110 |
* @throws NotSupportedExtensionException
|
|
111 |
* @throws FileNotFoundException
|
|
112 |
*/
|
|
100 |
|
|
101 |
/** |
|
102 |
* Constructor. Asigna las variables de inicializaci?n y crea la estructura de |
|
103 |
* la cach? con los datos pasados. |
|
104 |
* @param dataType Tipo de dato |
|
105 |
* @param width Ancho |
|
106 |
* @param height Alto |
|
107 |
* @param bandNr Banda |
|
108 |
* @param orig |
|
109 |
* @throws RasterDriverException |
|
110 |
* @throws NotSupportedExtensionException |
|
111 |
* @throws FileNotFoundException |
|
112 |
*/ |
|
113 | 113 |
public RasterReadOnlyBuffer(int dataType, int width, int height, int nBand) { |
114 | 114 |
this.dataType = dataType; |
115 | 115 |
this.width = width; |
... | ... | |
632 | 632 |
|
633 | 633 |
/* |
634 | 634 |
* (non-Javadoc) |
635 |
* @see org.gvsig.raster.dataset.Buffer#free()
|
|
635 |
* @see org.gvsig.tools.dispose.Disposable#dispose()
|
|
636 | 636 |
*/ |
637 |
public void free() { |
|
638 |
if(page != null) |
|
639 |
page.free(); |
|
640 |
datasource = null; |
|
641 |
bandList = null; |
|
637 |
public void dispose() { |
|
638 |
if(page != null) { |
|
639 |
page.dispose(); |
|
640 |
} |
|
641 |
if(secondPage != null) { |
|
642 |
secondPage.dispose(); |
|
643 |
} |
|
644 |
try { |
|
645 |
finalize(); |
|
646 |
} catch (Throwable e) { |
|
647 |
} |
|
642 | 648 |
} |
643 |
|
|
644 |
//**************************************************** |
|
645 |
//*********Implementing Disposable methods************ |
|
646 |
//**************************************************** |
|
647 | 649 |
|
648 | 650 |
/* |
649 | 651 |
* (non-Javadoc) |
650 |
* @see org.gvsig.tools.dispose.Disposable#dispose()
|
|
652 |
* @see java.lang.Object#finalize()
|
|
651 | 653 |
*/ |
652 |
public void dispose() { |
|
653 |
free(); |
|
654 |
protected void finalize() throws Throwable { |
|
655 |
page = null; |
|
656 |
secondPage = null; |
|
657 |
query = null; |
|
658 |
drawableBands = null; |
|
659 |
bandList = null; |
|
660 |
datasource = null; |
|
661 |
super.finalize(); |
|
654 | 662 |
} |
655 | 663 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/RasterBand.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
|
27 | 27 |
|
28 |
public abstract class RasterBand implements Band{ |
|
28 |
public abstract class RasterBand implements Band {
|
|
29 | 29 |
public double noDataValue = -99999; |
30 | 30 |
protected int width; |
31 | 31 |
protected int height; |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/RasterBuffer.java | ||
---|---|---|
665 | 665 |
*/ |
666 | 666 |
public void accept(Visitor visitor) throws BaseException { |
667 | 667 |
RasterTask task = RasterTaskQueue.get(Thread.currentThread().toString()); |
668 |
|
|
668 |
|
|
669 | 669 |
switch (getDataType()) { |
670 | 670 |
case Buffer.TYPE_BYTE: |
671 | 671 |
for (int i = 0; i < getBandCount(); i++) { |
... | ... | |
717 | 717 |
} |
718 | 718 |
} |
719 | 719 |
break; |
720 |
} |
|
720 | 721 |
} |
722 |
|
|
723 |
/* |
|
724 |
* (non-Javadoc) |
|
725 |
* @see java.lang.Object#finalize() |
|
726 |
*/ |
|
727 |
protected void finalize() throws Throwable { |
|
728 |
histogramComputer = null; |
|
729 |
interp = null; |
|
730 |
store = null; |
|
731 |
dataExtent = null; |
|
732 |
cancel = null; |
|
733 |
noDataValue = null; |
|
734 |
super.finalize(); |
|
721 | 735 |
} |
722 | 736 |
|
723 | 737 |
} |
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/provider/DefaultRasterProvider.java | ||
---|---|---|
99 | 99 |
import org.gvsig.timesupport.Interval; |
100 | 100 |
import org.gvsig.timesupport.Time; |
101 | 101 |
import org.gvsig.tools.dynobject.DynObject; |
102 |
import org.gvsig.tools.task.TaskStatus; |
|
102 | 103 |
|
103 | 104 |
/** |
104 | 105 |
* Base class for all raster providers. |
... | ... | |
325 | 326 |
abstract public RasterProvider load(); |
326 | 327 |
|
327 | 328 |
/** |
328 |
* Cierra el fichero y libera los recursos. |
|
329 |
*/ |
|
330 |
abstract public void close(); |
|
331 |
|
|
332 |
/** |
|
333 | 329 |
* Obtiene el ancho de la imagen |
334 | 330 |
* @return Ancho de la imagen |
335 | 331 |
*/ |
... | ... | |
376 | 372 |
q.getType() == DefaultRasterQuery.TYPE_PX_SIZE || |
377 | 373 |
q.getType() == DefaultRasterQuery.TYPE_PX) { |
378 | 374 |
return getWindow(q.getPixelX(), q.getPixelY(), q.getPixelW(), q.getPixelH(), |
379 |
q.getBandList(), q.getBuffer()); |
|
375 |
q.getBandList(), q.getBuffer(), q.getTaskStatus());
|
|
380 | 376 |
} |
381 | 377 |
|
382 | 378 |
if(q.getType() == DefaultRasterQuery.TYPE_COORDS_SIZE) { |
383 |
return getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), q.getBandList(), q.getBuffer(), q.isAdjustToExtent()); |
|
379 |
return getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), |
|
380 |
q.getBandList(), q.getBuffer(), q.isAdjustToExtent(), q.getTaskStatus()); |
|
384 | 381 |
} |
385 | 382 |
|
386 | 383 |
if(q.getType() == DefaultRasterQuery.TYPE_COORDS) { |
387 | 384 |
if(q.getBBox() == null) |
388 |
return getWindow(q.getX(), q.getY(), q.getW(), q.getH(), q.getBandList(), q.getBuffer(), q.isAdjustToExtent()); |
|
385 |
return getWindow(q.getX(), q.getY(), q.getW(), q.getH(), |
|
386 |
q.getBandList(), q.getBuffer(), q.isAdjustToExtent(), q.getTaskStatus()); |
|
389 | 387 |
else |
390 |
return getWindow(q.getBBox(), q.getBandList(), q.getBuffer()); |
|
388 |
return getWindow(q.getBBox(), q.getBandList(), q.getBuffer(), q.getTaskStatus());
|
|
391 | 389 |
} |
392 | 390 |
|
393 | 391 |
if(q.getType() == DefaultRasterQuery.TYPE_COORDS_SIZE_TILED) { |
394 |
getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), q.getBandList(), q.getTileListener()); |
|
392 |
getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), |
|
393 |
q.getBandList(), q.getTileListener(), q.getTaskStatus()); |
|
395 | 394 |
} |
396 | 395 |
return null; |
397 | 396 |
} |
... | ... | |
408 | 407 |
* @throws RasterDriverException |
409 | 408 |
*/ |
Also available in: Unified diff