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

View differences:

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