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
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