Revision 1860

View differences:

org.gvsig.raster.tools/trunk/templates/examples/org.gvsig.raster.roimask/org.gvsig.raster.roimask.app/org.gvsig.raster.roimask.app.client/src/main/java/org/gvsig/raster/roimask/app/ROIMaskExtension.java
20 20
import org.gvsig.fmap.dal.coverage.RasterLibrary;
21 21
import org.gvsig.fmap.dal.coverage.RasterLocator;
22 22
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
23
import org.gvsig.fmap.dal.coverage.exception.ROIException;
23 24
import org.gvsig.fmap.dal.coverage.grid.ROI;
24 25
import org.gvsig.fmap.dal.coverage.util.FileUtils;
25 26
import org.gvsig.fmap.dal.exception.ReadException;
......
101 102
    			initializeMainPanel();
102 103
    		} catch (ReadException e) {
103 104
    			logger.error("Error initializing the main panel", e);
104
    		}
105
    		} catch (ROIException e) {
106
    			logger.error("Error getting ROI", e);
107
			}
105 108
    	}
106 109
    }
107 110
    
108 111
    /**
109 112
     * Creates and initializes the main panel
110 113
     * @throws ReadException
114
     * @throws ROIException 
111 115
     */
112
    private void initializeMainPanel() throws ReadException {
116
    private void initializeMainPanel() throws ReadException, ROIException {
113 117
    	try {
114 118
    		loadROIMaskPanel();
115 119
    	} catch (NotInitializeException e) {
......
137 141
    /**
138 142
     * Loads the main panel with the data
139 143
     * @throws NotInitializeException 
144
     * @throws ROIException 
140 145
     */
141
    private void loadROIMaskPanel() throws NotInitializeException {
146
    private void loadROIMaskPanel() throws NotInitializeException, ROIException {
142 147
    	FLyrRaster lyr = getSelectedLayer();
143 148
    	LayerElement element = new LayerElement(lyr);
144 149
    	getROIMaskPanel().getDataModel().setInputLayer(element);
......
294 299
				messageBoxError("error_processing_layer", null, e1);
295 300
			}
296 301
			task.setActions(this);
297
			getDataSourcePreview().addParams(task, 
298
					getNewLayerPanel().getDirectorySelected(), 
299
					getNewLayerPanel().getFileSelected());
302
			try {
303
				getDataSourcePreview().addParams(task, 
304
						getNewLayerPanel().getDirectorySelected(), 
305
						getNewLayerPanel().getFileSelected());
306
			} catch (ROIException e1) {
307
				messageBoxError("error_processing_layer", null, e1);
308
			}
300 309
			task.start();
301 310
			return;
302 311
		}
org.gvsig.raster.tools/trunk/templates/examples/org.gvsig.raster.roimask/org.gvsig.raster.roimask.app/org.gvsig.raster.roimask.app.client/src/main/java/org/gvsig/raster/roimask/app/ROIMaskPreview.java
13 13
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
14 14
import org.gvsig.fmap.dal.coverage.datastruct.NoData;
15 15
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
16
import org.gvsig.fmap.dal.coverage.exception.ROIException;
16 17
import org.gvsig.fmap.dal.coverage.grid.ROI;
17 18
import org.gvsig.fmap.dal.coverage.grid.render.ImageDrawer;
18 19
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
......
129 130
		RasterProcess task;
130 131
		try {
131 132
			task = RasterBaseAlgorithmLibrary.getManager().createRasterTask("ROIMaskProcess");
133
			task.addParam(ROIMaskProcess.RASTER_STORE1, inputLyr.getDataStore());
134
			task.addParam(ROIMaskProcess.TEST_EXTENT, ext);
135
			task.addParam(ROIMaskProcess.TEST_WIDTH, w);
136
			task.addParam(ROIMaskProcess.TEST_HEIGHT, h);
137
			task.addParam(ROIMaskProcess.ROIS, getROIsSelected());
138
			task.addParam(ROIMaskProcess.ALPHA, data.getAlpha());
139
			task.addParam(ROIMaskProcess.INVERSE, data.isInverse());
140
			task.addParam(ROIMaskProcess.NODATA, getNoDataSelected());
141
			task.addParam(ROIMaskProcess.EXPORT, false);
132 142
		} catch (ProcessException e1) {
133 143
			e1.printStackTrace();
134 144
			return null;
145
		} catch (ROIException e) {
146
			e.printStackTrace();
147
			return null;
135 148
		}
136
		task.addParam(ROIMaskProcess.RASTER_STORE1, inputLyr.getDataStore());
137
		task.addParam(ROIMaskProcess.TEST_EXTENT, ext);
138
		task.addParam(ROIMaskProcess.TEST_WIDTH, w);
139
		task.addParam(ROIMaskProcess.TEST_HEIGHT, h);
140
		task.addParam(ROIMaskProcess.ROIS, getROIsSelected());
141
		task.addParam(ROIMaskProcess.ALPHA, data.getAlpha());
142
		task.addParam(ROIMaskProcess.INVERSE, data.isInverse());
143
		task.addParam(ROIMaskProcess.NODATA, getNoDataSelected());
144
		task.addParam(ROIMaskProcess.EXPORT, false);
145 149
		
146 150
		task.init();
147 151
		try {
......
186 190
		return nodata;
187 191
	}
188 192
	
189
	private ROI[] getROIsSelected() {
193
	private ROI[] getROIsSelected() throws ROIException {
190 194
		List<ROI> roi = inputLyr.getRois();
191 195
		boolean[] roisSelected = data.getROIsSelected();
192 196
		List<ROI> roisToDraw = new ArrayList<ROI>(); 
......
207 211
		return new Rectangle2D.Double();
208 212
	}
209 213

  
210
	public void addParams(RasterProcess task, String path, String fileName) {
214
	public void addParams(RasterProcess task, String path, String fileName) throws ROIException {
211 215
		if(!fileName.matches("([*]\\.[???])")) {
212 216
			fileName += ".tif";
213 217
		}

Also available in: Unified diff