Revision 43891 branches/org.gvsig.desktop-2018a/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanel.java
FilesystemExplorerWizardPanel.java | ||
---|---|---|
24 | 24 |
import org.gvsig.app.ApplicationLocator; |
25 | 25 |
import org.gvsig.app.ApplicationManager; |
26 | 26 |
import org.gvsig.app.gui.WizardPanel; |
27 |
import org.gvsig.app.gui.wizards.WizardListener; |
|
28 |
import org.gvsig.app.gui.wizards.WizardListenerSupport; |
|
29 | 27 |
import org.gvsig.app.prepareAction.PrepareContext; |
30 | 28 |
import org.gvsig.app.prepareAction.PrepareContextView_v1; |
31 | 29 |
import org.gvsig.app.project.documents.view.toc.actions.LayerErrorsPanel; |
... | ... | |
43 | 41 |
import org.gvsig.fmap.mapcontext.MapContext; |
44 | 42 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
45 | 43 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
44 |
import org.gvsig.fmap.mapcontext.MapContextManager.CreateLayerParameters; |
|
46 | 45 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
47 | 46 |
import org.gvsig.fmap.mapcontrol.MapControl; |
48 | 47 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
79 | 78 |
private static String lastPath = null; |
80 | 79 |
private FilesystemExplorerWizardPanelController panel = null; |
81 | 80 |
private boolean tabularOnly; |
82 |
|
|
81 |
|
|
83 | 82 |
/** |
84 | 83 |
* |
85 | 84 |
*/ |
... | ... | |
91 | 90 |
super(); |
92 | 91 |
this.tabularOnly = tabularOnly; |
93 | 92 |
this.addAncestorListener(new AncestorListener() { |
93 |
@Override |
|
94 | 94 |
public void ancestorAdded(AncestorEvent ae) { |
95 | 95 |
initExplorer(); |
96 | 96 |
initFilters(); |
97 | 97 |
updatePanel(); |
98 | 98 |
} |
99 |
@Override |
|
99 | 100 |
public void ancestorRemoved(AncestorEvent ae) { |
100 | 101 |
dispose(); |
101 | 102 |
} |
... | ... | |
150 | 151 |
} |
151 | 152 |
String layerName; |
152 | 153 |
|
153 |
for (DataStoreParameters params : this.getParameters()) {
|
|
154 |
for (CreateLayerParameters layerParams : this.getLoadLayerParameters()) {
|
|
154 | 155 |
IProjection proj = this.getMapCtrl().getProjection(); |
155 | 156 |
|
156 | 157 |
// Buscamos por el parametro de la proyeccion |
157 | 158 |
// que sean obligatorios y est?n a null |
158 | 159 |
// y le ponemos la proyeccion de la vista |
160 |
DataStoreParameters params = layerParams.getDataParameters(); |
|
159 | 161 |
DynField[] fields = params.getDynClass().getDynFields(); |
160 | 162 |
int crsfields = 0; |
161 | 163 |
DynField crsfield = null; |
... | ... | |
180 | 182 |
|
181 | 183 |
layerName = ((FilesystemStoreParameters) params).getFile().getName(); |
182 | 184 |
|
183 |
this.doAddLayer(layerName, params);
|
|
185 |
this.doAddLayer(layerName, layerParams);
|
|
184 | 186 |
} |
185 | 187 |
} |
186 | 188 |
|
... | ... | |
206 | 208 |
|
207 | 209 |
@Override |
208 | 210 |
public DataStoreParameters[] getParameters() { |
209 |
return this.panel.getParameters(); |
|
211 |
// TODO: Habria que ver si podemos eliminar este metodo. |
|
212 |
CreateLayerParameters[] layerParameters = this.panel.getCreateLayerParameters(); |
|
213 |
DataStoreParameters[] dataParameters = new DataStoreParameters[layerParameters.length]; |
|
214 |
for (int i = 0; i < dataParameters.length; i++) { |
|
215 |
DataStoreParameters dataParameter = layerParameters[i].getDataParameters(); |
|
216 |
} |
|
217 |
return dataParameters; |
|
210 | 218 |
} |
219 |
|
|
220 |
public CreateLayerParameters[] getLoadLayerParameters() { |
|
221 |
return this.panel.getCreateLayerParameters(); |
|
222 |
} |
|
211 | 223 |
|
212 | 224 |
/** |
213 | 225 |
* @param files |
... | ... | |
236 | 248 |
private void initFilters() { |
237 | 249 |
if (this.filters == null) { |
238 | 250 |
int mode = FilesystemServerExplorer.MODE_ALL; |
239 |
this.filters = new ArrayList<MyFileFilter>();
|
|
251 |
this.filters = new ArrayList<>(); |
|
240 | 252 |
if (this.getMapCtrl() == null) { |
241 | 253 |
mode = FilesystemServerExplorer.MODE_FEATURE; |
242 | 254 |
} else { |
... | ... | |
258 | 270 |
} |
259 | 271 |
} |
260 | 272 |
|
261 |
boolean isTiled(DataStoreParameters parameters){ |
|
262 |
return this.panel.isTiled(parameters); |
|
263 |
} |
|
264 |
|
|
265 | 273 |
@Override |
266 |
protected void doAddLayer(final String layerName, final DataStoreParameters parameters) {
|
|
274 |
protected void doAddLayer(final String layerName, final CreateLayerParameters layerParameters) {
|
|
267 | 275 |
final boolean b_isMapControlAvail = this.isMapControlAvailable(); |
268 | 276 |
final MapControl mapControl = this.getMapCtrl(); |
269 | 277 |
final MapContext mapContext = this.getMapContext(); |
270 | 278 |
final ApplicationManager application = ApplicationLocator.getManager(); |
271 |
final MapContextManager manager |
|
272 |
= MapContextLocator.getMapContextManager();
|
|
273 |
|
|
279 |
final MapContextManager manager = MapContextLocator.getMapContextManager();
|
|
280 |
final DataStoreParameters parameters = layerParameters.getDataParameters();
|
|
281 |
|
|
274 | 282 |
logger.info("addLayer('{}',...)", layerName); |
275 | 283 |
Thread task = new Thread(new Runnable() { |
276 | 284 |
|
... | ... | |
281 | 289 |
try { |
282 | 290 |
DataManager dataManager = DALLocator.getDataManager(); |
283 | 291 |
DataStore dataStore = dataManager.openStore(parameters.getDataStoreName(), parameters); |
284 |
DataStoreProviderFactory factory = dataStore.getProviderFactory(); |
|
285 |
if (factory.isTiledSupported() != DataStoreProviderFactory.NO && !factory.getClass().getSimpleName().equals("TileProviderFactory")) { |
|
286 |
if (isTiled(parameters)) { |
|
287 |
DynObject tileParameters = dataManager.createStoreParameters("TileCache"); |
|
288 |
|
|
289 |
File rootFolder = new File(Launcher.getAppHomeDir() + File.separator + "gvsig_rcache"); |
|
290 |
|
|
291 |
if (tileParameters.getDynClass().getDynField("rootFolder") != null) { |
|
292 |
tileParameters.setDynValue("rootFolder", rootFolder); |
|
293 |
} |
|
294 |
|
|
295 |
try { |
|
296 |
dataStore.useCache("TileCache", tileParameters); |
|
297 |
} catch (DataException e) { |
|
298 |
logger.warn("Can't cache the layer.", e); |
|
299 |
} |
|
300 |
|
|
301 |
} |
|
302 |
} |
|
303 |
|
|
304 | 292 |
String layerName = dataStore.getName(); |
305 |
layer = manager.createLayer(layerName, dataStore); |
|
293 |
layer = manager.createLayer( |
|
294 |
layerName, |
|
295 |
dataStore, |
|
296 |
layerParameters |
|
297 |
); |
|
306 | 298 |
DisposeUtils.disposeQuietly(dataStore); |
307 | 299 |
preparedLayer |
308 | 300 |
= application.prepareOpenLayer(layer, |
... | ... | |
399 | 391 |
this.setFilter(params); |
400 | 392 |
} |
401 | 393 |
|
402 |
/** |
|
403 |
* @see javax.swing.filechooser.FileFilter#accept(java.io.File) |
|
404 |
*/ |
|
394 |
@Override |
|
405 | 395 |
public boolean accept(File f) { |
406 | 396 |
if (f.isDirectory()) { |
407 | 397 |
return true; |
... | ... | |
410 | 400 |
|
411 | 401 |
} |
412 | 402 |
|
413 |
/** |
|
414 |
* @see javax.swing.filechooser.FileFilter#getDescription() |
|
415 |
*/ |
|
403 |
@Override |
|
416 | 404 |
public String getDescription() { |
417 | 405 |
return getFilter().getDescription(); |
418 | 406 |
} |
Also available in: Unified diff