Revision 2313 org.gvsig.raster.tools/branches/org.gvsig.raster.tools_dataaccess_refactoring/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/tool/roi/ROIManagerTocMenuEntry.java

View differences:

ROIManagerTocMenuEntry.java
21 21
 */
22 22
package org.gvsig.raster.tools.app.basic.tool.roi;
23 23

  
24
import java.io.File;
24 25
import java.util.ArrayList;
25 26
import java.util.List;
26 27

  
......
133 134
		
134 135
		ROIPanelListener panelListener = new ROIPanelListener(window, dataModel);
135 136
		ROIsTablePanelListener tableListener = new ROIsTablePanelListener(panel, dataModel, window);
137
		tableListener.setPathToROI(getROIDefaultPath(fLayer));
138
		tableListener.setDefaultROIFileName(getDefaultROIFileName(fLayer));
136 139
		
137 140
		panel.addButtonsListener(tableListener, panelListener);
138 141
		panel.addTableListeners(tableListener, tableListener);
......
141 144
		RasterToolsUtil.addWindow(window);
142 145
	}
143 146
	
147
	private String getDefaultROIFileName(FLayer fLayer) {
148
		return fLayer.getName() + "_ROI.shp";
149
	}
150

  
151
	private File getROIDefaultPath(FLayer layer) {
152
		File path = getROIPathFromLayer(layer);
153
		if(path != null)
154
			return path;
155
		else
156
			return getPathFromLayer(layer);
157
	}
158
	
144 159
	/**
160
	 * Gets the path of the first provider
161
	 * @param layer
162
	 * @return
163
	 */
164
	private File getPathFromLayer(FLayer layer) {
165
		if(!(layer instanceof FLyrRaster))
166
			return null;
167
		String[] uriList = ((FLyrRaster)layer).getDataStore().getURIByProvider();
168
		if(uriList != null && uriList.length > 0) {
169
			String uri = uriList[0].substring(0, uriList[0].lastIndexOf(File.separator));
170
			if(uri != null)
171
				return new File(uri);
172
		}
173
		return null;
174
	}
175
	
176
	/**
177
	 * Gets the path of the first ROI file
178
	 * @param layer
179
	 * @return
180
	 */
181
	private File getROIPathFromLayer(FLayer layer) {
182
		if(!(layer instanceof FLyrRaster))
183
			return null;
184
		List<File> uriList = ((FLyrRaster)layer).getDataStore().getROIFileListFromRmf();
185
		if(uriList != null && uriList.size() > 0) {
186
			String path = uriList.get(0).getAbsolutePath();
187
			String uri = path.substring(0, path.lastIndexOf(File.separator));
188
			if(uri != null)
189
				return new File(uri);
190
		}
191
		return null;
192
	}
193
	
194
	
195
	/**
145 196
	 * Gets the list of vectorial layers loaded in all views
146 197
	 * @return
147 198
	 */

Also available in: Unified diff