Revision 17610
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/clipping/ui/listener/ClippingPanelListener.java | ||
---|---|---|
623 | 623 |
(int) getClippingPanel().getHeightText()}); |
624 | 624 |
|
625 | 625 |
clippingProcess.start(); |
626 |
//IncrementableTask incrementableTask = new IncrementableTask(clippingProcess); |
|
627 |
//clippingProcess.setIncrementableTask(incrementableTask); |
|
628 |
//incrementableTask.showWindow(); |
|
629 |
//incrementableTask.start(); |
|
630 | 626 |
} |
631 | 627 |
|
632 | 628 |
/** |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/clipping/ClippingProcess.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import org.apache.log4j.Logger; |
27 | 27 |
import org.gvsig.fmap.raster.layers.FLyrRasterSE; |
28 |
import org.gvsig.gui.beans.incrementabletask.IncrementableEvent; |
|
29 | 28 |
import org.gvsig.raster.buffer.BufferFactory; |
30 | 29 |
import org.gvsig.raster.buffer.BufferInterpolation; |
31 | 30 |
import org.gvsig.raster.buffer.RasterBuffer; |
... | ... | |
95 | 94 |
*/ |
96 | 95 |
public void init() { |
97 | 96 |
fileName = getStringParam("filename"); |
98 |
writerBufferServer = (taskParams.get("datawriter") != null) ? (WriterBufferServer) taskParams.get("datawriter") : null;
|
|
97 |
writerBufferServer = (WriterBufferServer) getParam("datawriter");
|
|
99 | 98 |
viewName = getStringParam("viewname"); |
100 | 99 |
dValues = getIntArrayParam("pixelcoordinates"); |
101 | 100 |
rasterSE = getLayerParam("layer"); |
102 | 101 |
drawableBands = getIntArrayParam("drawablebands"); |
103 | 102 |
oneLayerPerBand = getBooleanParam("onelayerperband"); |
104 | 103 |
interpolationMethod = getIntParam("interpolationmethod"); |
105 |
affineTransform = (taskParams.get("affinetransform") != null) ? (AffineTransform) taskParams.get("affinetransform") : null;
|
|
104 |
affineTransform = (AffineTransform)getParam("affinetransform");
|
|
106 | 105 |
if(getIntArrayParam("resolution") != null) { |
107 | 106 |
resolutionWidth = getIntArrayParam("resolution")[0]; |
108 | 107 |
resolutionHeight = getIntArrayParam("resolution")[1]; |
109 | 108 |
} |
110 |
params = getParam("driverparams") != null ? (Params)getParam("driverparams") : null;
|
|
109 |
params = (Params)getParam("driverparams");
|
|
111 | 110 |
} |
112 | 111 |
|
113 | 112 |
/** |
... | ... | |
313 | 312 |
} |
314 | 313 |
} |
315 | 314 |
|
316 |
public void actionResumed(IncrementableEvent e) {} |
|
317 |
public void actionSuspended(IncrementableEvent e) {} |
|
318 |
|
|
319 | 315 |
/* |
320 | 316 |
* (non-Javadoc) |
321 | 317 |
* @see org.gvsig.gui.beans.incrementabletask.IIncrementable#getPercent() |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/RasterProcess.java | ||
---|---|---|
47 | 47 |
private String log = ""; |
48 | 48 |
private String lastLine = ""; |
49 | 49 |
private long time = 0; |
50 |
private boolean progressActive = true; |
|
50 | 51 |
|
51 | 52 |
/** |
52 | 53 |
* Arranca el proceso de recorte de un layer |
53 | 54 |
*/ |
54 | 55 |
public void start() { |
55 |
incrementableTask = new IncrementableTask(this); |
|
56 |
incrementableTask.showWindow(); |
|
57 |
incrementableTask.start(); |
|
56 |
if(progressActive) { |
|
57 |
incrementableTask = new IncrementableTask(this); |
|
58 |
incrementableTask.showWindow(); |
|
59 |
incrementableTask.start(); |
|
60 |
} |
|
58 | 61 |
|
59 | 62 |
blinker = new Thread(this); |
60 | 63 |
blinker.start(); |
... | ... | |
100 | 103 |
Thread.currentThread().interrupt(); |
101 | 104 |
} finally { |
102 | 105 |
RasterTaskQueue.remove(rasterTask); |
103 |
if (incrementableTask != null) |
|
104 |
incrementableTask.processFinalize(); |
|
106 |
if(progressActive) { |
|
107 |
if (incrementableTask != null) |
|
108 |
incrementableTask.processFinalize(); |
|
109 |
} |
|
105 | 110 |
time = new java.util.Date().getTime() - t1; |
106 | 111 |
} |
107 | 112 |
} |
108 | 113 |
|
109 | 114 |
/** |
115 |
* Activa o desactiva el interfaz de progreso en el lanzamiento de la tarea como un thread. |
|
116 |
* @param active true para activarlo o false para desactivarlo |
|
117 |
*/ |
|
118 |
public void setProgressActive(boolean active){ |
|
119 |
this.progressActive = active; |
|
120 |
} |
|
121 |
|
|
122 |
/** |
|
110 | 123 |
* Obtiene el tiempo que tard? en ejecutarse la tarea |
111 | 124 |
* la ?ltima vez que se proces? |
112 | 125 |
*/ |
... | ... | |
162 | 175 |
rasterTask.setEvent(new CancelEvent(this)); |
163 | 176 |
} |
164 | 177 |
|
178 |
/* |
|
179 |
* (non-Javadoc) |
|
180 |
* @see org.gvsig.gui.beans.incrementabletask.IncrementableListener#actionResumed(org.gvsig.gui.beans.incrementabletask.IncrementableEvent) |
|
181 |
*/ |
|
182 |
public void actionResumed(IncrementableEvent e) { |
|
183 |
|
|
184 |
} |
|
185 |
|
|
186 |
/* |
|
187 |
* (non-Javadoc) |
|
188 |
* @see org.gvsig.gui.beans.incrementabletask.IncrementableListener#actionSuspended(org.gvsig.gui.beans.incrementabletask.IncrementableEvent) |
|
189 |
*/ |
|
190 |
public void actionSuspended(IncrementableEvent e) { |
|
191 |
|
|
192 |
} |
|
193 |
|
|
165 | 194 |
/** |
166 | 195 |
* Establece el <code>IncrementableTask</code> |
167 | 196 |
* @param value |
... | ... | |
278 | 307 |
public FLyrRasterSE getLayerParam(String name) { |
279 | 308 |
Object value = taskParams.get(name); |
280 | 309 |
return (value != null && value instanceof FLyrRasterSE) ? ((FLyrRasterSE)value) : null; |
281 |
} |
|
282 |
|
|
310 |
} |
|
283 | 311 |
} |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/overviews/OverviewsTocMenuEntry.java | ||
---|---|---|
24 | 24 |
import org.gvsig.fmap.raster.layers.FLyrRasterSE; |
25 | 25 |
import org.gvsig.fmap.raster.layers.ILayerState; |
26 | 26 |
import org.gvsig.fmap.raster.layers.IRasterLayerActions; |
27 |
import org.gvsig.gui.beans.incrementabletask.IncrementableTask; |
|
28 | 27 |
import org.gvsig.raster.dataset.BandAccessException; |
29 | 28 |
import org.gvsig.raster.dataset.io.RasterDriverException; |
30 | 29 |
import org.gvsig.raster.util.RasterToolsUtil; |
30 |
import org.gvsig.rastertools.RasterProcess; |
|
31 | 31 |
|
32 | 32 |
import com.iver.andami.PluginServices; |
33 | 33 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
... | ... | |
124 | 124 |
RasterToolsUtil.debug("Error en getOverViewCount", null, e); |
125 | 125 |
} |
126 | 126 |
|
127 |
OverviewsProcess process = new OverviewsProcess((FLyrRasterSE)lyr); |
|
128 |
IncrementableTask incrementableTask = new IncrementableTask(process); |
|
129 |
process.setIncrementableTask(incrementableTask); |
|
130 |
incrementableTask.showWindow(); |
|
127 |
RasterProcess process = new OverviewsProcess(); |
|
128 |
process.addParam("layer", (FLyrRasterSE)lyr); |
|
131 | 129 |
process.start(); |
132 |
incrementableTask.start(); |
|
133 | 130 |
} |
134 | 131 |
} |
135 | 132 |
} |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/overviews/OverviewsProcess.java | ||
---|---|---|
19 | 19 |
package org.gvsig.rastertools.overviews; |
20 | 20 |
|
21 | 21 |
import org.apache.log4j.Logger; |
22 |
import org.gvsig.fmap.raster.layers.FLyrRasterSE; |
|
23 |
import org.gvsig.fmap.raster.util.Configuration; |
|
24 |
import org.gvsig.gui.beans.incrementabletask.IIncrementable; |
|
25 |
import org.gvsig.gui.beans.incrementabletask.IncrementableEvent; |
|
26 |
import org.gvsig.gui.beans.incrementabletask.IncrementableListener; |
|
27 |
import org.gvsig.gui.beans.incrementabletask.IncrementableTask; |
|
28 |
import org.gvsig.raster.process.CancelEvent; |
|
29 |
import org.gvsig.raster.process.RasterTask; |
|
30 |
import org.gvsig.raster.process.RasterTaskQueue; |
|
31 |
import org.gvsig.rastertools.IProcessActions; |
|
32 |
|
|
33 | 22 |
import org.gvsig.addo.BuildingOverviewsException; |
34 | 23 |
import org.gvsig.addo.IOverviewIncrement; |
35 | 24 |
import org.gvsig.addo.Jaddo; |
36 | 25 |
import org.gvsig.addo.WritingException; |
26 |
import org.gvsig.fmap.raster.layers.FLyrRasterSE; |
|
27 |
import org.gvsig.fmap.raster.util.Configuration; |
|
28 |
import org.gvsig.rastertools.RasterProcess; |
|
37 | 29 |
|
38 | 30 |
import com.iver.andami.PluginServices; |
39 | 31 |
|
... | ... | |
43 | 35 |
* 10/12/2007 |
44 | 36 |
* @author Nacho Brodin nachobrodin@gmail.com |
45 | 37 |
*/ |
46 |
public class OverviewsProcess implements IIncrementable, IncrementableListener, Runnable, IOverviewIncrement { |
|
47 |
|
|
48 |
private RasterTask rasterTask = new RasterTask(this); |
|
49 |
private IProcessActions externalActions = null; |
|
38 |
public class OverviewsProcess extends RasterProcess implements IOverviewIncrement { |
|
50 | 39 |
private FLyrRasterSE rasterSE = null; |
51 |
private volatile Thread blinker = null; |
|
52 |
private IncrementableTask incrementableTask = null; |
|
53 |
private String log = ""; |
|
54 |
private String lastLine = ""; |
|
55 | 40 |
private int value = 0; |
56 |
|
|
57 | 41 |
private int resamplingAlg = Jaddo.AVERAGE; |
58 | 42 |
private int[] overviews = new int[]{2, 4, 8, 16}; |
59 | 43 |
|
60 |
/** |
|
61 |
* Crea un <code>ClippingProcess</code> para generar un recorte |
|
62 |
* @param dValues |
|
63 |
* @param fileName |
|
64 |
* @param writerBufferServer |
|
65 |
* @param rasterMultiDataset |
|
66 |
* @param extent |
|
67 |
* @param drawableBands |
|
68 |
* @param oneLayerPerBand |
|
44 |
/* |
|
45 |
* (non-Javadoc) |
|
46 |
* @see org.gvsig.rastertools.RasterProcess#init() |
|
69 | 47 |
*/ |
70 |
public OverviewsProcess(FLyrRasterSE rasterSE) {
|
|
71 |
this.rasterSE = (FLyrRasterSE)rasterSE;
|
|
72 |
|
|
48 |
public void init() {
|
|
49 |
rasterSE = getLayerParam("layer");
|
|
50 |
|
|
73 | 51 |
int overviewsRate = 2; |
74 | 52 |
int nOverviews = 4; |
75 | 53 |
overviewsRate = Configuration.getValue("overviews_rate", new Integer(overviewsRate)).intValue(); |
... | ... | |
82 | 60 |
overviews = new int[nOverviews]; |
83 | 61 |
for (int i = 0; i < nOverviews; i++) |
84 | 62 |
overviews[i] = overviewsRate * (i + 1); |
85 |
|
|
86 | 63 |
} |
87 | 64 |
|
88 | 65 |
/** |
89 |
* Arranca el proceso de recorte de un layer |
|
90 |
*/ |
|
91 |
public void start() { |
|
92 |
blinker = new Thread(this); |
|
93 |
blinker.start(); |
|
94 |
} |
|
95 |
|
|
96 |
/** |
|
97 | 66 |
* M?todo donde se ejecutar? el Thread, aqu? se generaran las |
98 | 67 |
* overviews |
99 | 68 |
*/ |
100 |
public void run() { |
|
101 |
RasterTaskQueue.register(rasterTask); |
|
102 |
|
|
103 |
lastLine = PluginServices.getText(this, "overviews_generating"); |
|
69 |
public void process() { |
|
104 | 70 |
insertLineLog(PluginServices.getText(this, "overviews_generating")); |
105 | 71 |
|
106 | 72 |
Jaddo build = new Jaddo(); |
... | ... | |
114 | 80 |
Logger.getLogger(this.getClass().getName()).debug("No se han podido generar las overviews", e); |
115 | 81 |
} catch (WritingException e) { |
116 | 82 |
Logger.getLogger(this.getClass().getName()).debug("No se han podido generar las overviews", e); |
117 |
} finally { |
|
118 |
RasterTaskQueue.remove(rasterTask); |
|
119 |
if (incrementableTask != null) |
|
120 |
incrementableTask.processFinalize(); |
|
121 | 83 |
} |
122 | 84 |
} |
123 | 85 |
|
124 |
/** |
|
125 |
* Establece el <code>IncrementableTask</code> |
|
126 |
* @param value |
|
127 |
*/ |
|
128 |
public void setIncrementableTask(IncrementableTask value) { |
|
129 |
incrementableTask = value; |
|
130 |
incrementableTask.addIncrementableListener(this); |
|
131 |
} |
|
132 |
|
|
133 | 86 |
/* |
134 | 87 |
* (non-Javadoc) |
135 |
* @see org.gvsig.gui.beans.incrementabletask.IncrementableListener#actionCanceled(org.gvsig.gui.beans.incrementabletask.IncrementableEvent) |
|
136 |
*/ |
|
137 |
public void actionCanceled(IncrementableEvent e) { |
|
138 |
rasterTask.setEvent(new CancelEvent(this)); |
|
139 |
} |
|
140 |
|
|
141 |
/** |
|
142 |
* Obtiene el objeto para ejecutar acciones externar. |
|
143 |
* @param IProcessActions |
|
144 |
*/ |
|
145 |
public IProcessActions getActions() { |
|
146 |
return externalActions; |
|
147 |
} |
|
148 |
|
|
149 |
/** |
|
150 |
* Asigna el objeto para ejecutar acciones externar. |
|
151 |
* @param IProcessActions |
|
152 |
*/ |
|
153 |
public void setActions(IProcessActions actions) { |
|
154 |
this.externalActions = actions; |
|
155 |
} |
|
156 |
|
|
157 |
private void insertLineLog(String line) { |
|
158 |
log = log + line + "\n"; |
|
159 |
} |
|
160 |
|
|
161 |
public void actionResumed(IncrementableEvent e) {} |
|
162 |
public void actionSuspended(IncrementableEvent e) {} |
|
163 |
|
|
164 |
/* |
|
165 |
* (non-Javadoc) |
|
166 |
* @see org.gvsig.gui.beans.incrementabletask.IIncrementable#getLabel() |
|
167 |
*/ |
|
168 |
public String getLabel() { |
|
169 |
return lastLine; |
|
170 |
} |
|
171 |
|
|
172 |
/* |
|
173 |
* (non-Javadoc) |
|
174 |
* @see org.gvsig.gui.beans.incrementabletask.IIncrementable#getLog() |
|
175 |
*/ |
|
176 |
public String getLog() { |
|
177 |
return log; |
|
178 |
} |
|
179 |
|
|
180 |
/* |
|
181 |
* (non-Javadoc) |
|
182 | 88 |
* @see org.gvsig.gui.beans.incrementabletask.IIncrementable#getPercent() |
183 | 89 |
*/ |
184 | 90 |
public int getPercent() { |
Also available in: Unified diff