Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extWMS / src / com / iver / cit / gvsig / gui / wizards / WMSWizard.java @ 4305

History | View | Annotate | Download (20.6 KB)

1 3746 jaume
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.cit.gvsig.gui.wizards;
42
43 4222 jaume
import java.awt.Component;
44
import java.awt.Dimension;
45 3746 jaume
import java.awt.geom.Rectangle2D;
46
import java.net.MalformedURLException;
47
import java.net.URL;
48 4222 jaume
import java.util.Hashtable;
49 3746 jaume
import java.util.Vector;
50
51
import javax.swing.DefaultComboBoxModel;
52
import javax.swing.JLabel;
53 4222 jaume
import javax.swing.JOptionPane;
54 3746 jaume
import javax.swing.JPanel;
55
import javax.swing.tree.TreePath;
56
57
import org.apache.log4j.Logger;
58
59
import com.iver.andami.PluginServices;
60 4305 jorpiell
import com.iver.andami.persistence.serverData.ServerDataPersistence;
61 3746 jaume
import com.iver.cit.gvsig.fmap.drivers.wms.FMapWMSDriver;
62 4222 jaume
import com.iver.cit.gvsig.fmap.exceptions.CannotReprojectException;
63 3746 jaume
import com.iver.cit.gvsig.fmap.layers.FLayer;
64
import com.iver.cit.gvsig.fmap.layers.FLyrWMS;
65
import com.iver.cit.gvsig.gui.WizardPanel;
66
import com.iver.cit.gvsig.gui.panels.WMSParamsPanel;
67
import com.iver.utiles.NotExistInXMLEntity;
68
import com.iver.utiles.XMLEntity;
69 4305 jorpiell
import com.iver.utiles.swing.jcomboServer.JComboServer;
70
import com.iver.utiles.swing.jcomboServer.ServerData;
71 3746 jaume
72
73
/**
74 3850 jaume
 * The WMS properties container panel.
75 3746 jaume
 *
76 3850 jaume
 * @author Jaume Dominguez Faus
77 3746 jaume
 */
78
public class WMSWizard extends WizardPanel {
79
        private static Logger logger = Logger.getLogger(WMSWizard.class.getName());
80
        private int page = 0;
81
        private boolean conectado = false;
82 4305 jorpiell
        private JComboServer cmbHost = null;
83 3746 jaume
        private javax.swing.JButton btnConnect = null;
84
        private javax.swing.JPanel jPanel = null;
85
        private javax.swing.JLabel jLabel1 = null;
86
        private javax.swing.JLabel lblTitle = null;
87
        private javax.swing.JScrollPane jScrollPane = null;
88
        private javax.swing.JTextArea txtAbstract = null;
89
        private javax.swing.JPanel panelPage1 = null;
90
        private javax.swing.JButton btnSiguiente = null;
91
        private javax.swing.JButton btnAnterior = null;
92
        private javax.swing.JPanel jPanel1 = null;
93
        private WizardListenerSupport listenerSupport = new WizardListenerSupport();
94
        private WMSWizardData dataSource;
95
        private WMSParamsPanel wmsParamsPanel = null;
96
    private JLabel lblServerType = null;
97
    private JLabel lblServerTypeValue = null;
98
99
        /**
100
         * This is the default constructor
101
         */
102
        public WMSWizard() {
103
                super();
104
                initialize();
105
        }
106
107
        /**
108
         * This method initializes this
109
         */
110
        private void initialize() {
111
                setTabName("WMS");
112
113
                lblServerType = new JLabel();
114 3796 jaume
                lblServerType.setBounds(20, 444, 100, 20);
115 3746 jaume
                lblServerType.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
116
                lblServerType.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
117
                lblServerType.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 11));
118 3796 jaume
                lblServerType.setText(PluginServices.getText(this, "server_type")+":");
119 3746 jaume
                lblServerTypeValue = new JLabel();
120
                lblServerTypeValue.setBounds(128, 444, 148, 20);
121
                lblServerTypeValue.setFont(new java.awt.Font("Arial", java.awt.Font.BOLD, 11));
122
                lblServerTypeValue.setText("-");
123
                this.setSize(510, 468);
124
                this.setLayout(null);
125
                this.setPreferredSize(new java.awt.Dimension(750, 420));
126
                this.setVisible(true);
127
                this.add(getPanelPage1(), null);
128
                this.add(getPanelPage2(), null);
129
                this.add(getBtnAnterior(), null);
130
                this.add(getBtnSiguiente(), null);
131
                this.add(lblServerType, null);
132
                this.add(lblServerTypeValue, null);
133
                activarVisualizarBotones();
134
        }
135
136
137
        private JPanel getPanelPage2(){
138
                if (wmsParamsPanel == null){
139
                        wmsParamsPanel = new WMSParamsPanel();
140
                        wmsParamsPanel.setListenerSupport(this.listenerSupport);
141
                        wmsParamsPanel.setBounds(15, 5, 480, 428);
142
                        wmsParamsPanel.getJTabbedPane().addMouseListener(
143
                    new java.awt.event.MouseAdapter() {
144
                        public void mouseClicked(java.awt.event.MouseEvent e) {
145
                            page = wmsParamsPanel.currentPage() + 1;
146
                            activarVisualizarBotones();
147
                        }
148
                    });
149
                }
150
                return wmsParamsPanel;
151
        }
152
        /**
153
         * DOCUMENT ME!
154
         *
155
         * @param host DOCUMENT ME!
156
         */
157
        private void addHost(String host) {
158 4305 jorpiell
                ServerDataPersistence persistence = new ServerDataPersistence(this,ServerData.SERVER_TYPE_WMS);
159
        persistence.addServerData(new ServerData(host, ServerData.SERVER_TYPE_WMS));
160
        persistence.setPersistent();
161
//                host = host.trim();
162
//
163
//                DefaultComboBoxModel model = (DefaultComboBoxModel) getTxtHost()
164
//                                                                                                                                .getModel();
165
//
166
//                if (model.getIndexOf(host) < 0) {
167
//                        model.addElement(host);
168
//
169
//                        PluginServices ps = PluginServices.getPluginServices(this);
170
//                        XMLEntity xml = ps.getPersistentXML();
171
//
172
//                        try {
173
//                                String[] servers = xml.getStringArrayProperty("wms-servers");
174
//                                String[] newServers = new String[servers.length + 1];
175
//                                System.arraycopy(servers, 0, newServers, 0, servers.length);
176
//                                newServers[servers.length] = host;
177
//                                xml.putProperty("wms-servers", newServers);
178
//                        } catch (NotExistInXMLEntity e) {
179
//                                xml.putProperty("wms-servers", new String[] { host });
180
//                        }
181
//
182
//                        ps.setPersistentXML(xml);
183
//
184
//                }
185 3746 jaume
        }
186
187
        /**
188
         * DOCUMENT ME!
189
         */
190
        private void rellenarControles() {
191
                try {
192
                        String host = cmbHost.getModel().getSelectedItem().toString();
193
                        //WMSWizardData data = dataSource.detalles(url);
194
            dataSource.setHost(new URL(host));
195
            lblTitle.setText(dataSource.getTitle());
196
                        lblServerTypeValue.setText(dataSource.getServerType());
197
            txtAbstract.setText(dataSource.getAbstract());
198
199
                        addHost(host);
200
                        wmsParamsPanel.setWizardData(dataSource);
201
                        //wmsParamsPanel.setDataSource(dataSource);
202
                        conectado = true;
203
                        activarVisualizarBotones();
204
                } catch (Exception e) {
205
                        listenerSupport.callError(e);
206
                        e.printStackTrace();
207
                }
208
        }
209
210
        /**
211
         * DOCUMENT ME!
212
         */
213
        private void activarVisualizarBotones() {
214
                if (page == 0) {
215
                        getBtnAnterior().setEnabled(false);
216
                        getBtnSiguiente().setVisible(true);
217
218
                        if (conectado) {
219
                                getBtnSiguiente().setEnabled(true);
220
                        } else {
221
                                getBtnSiguiente().setEnabled(false);
222
                        }
223
                } else if (page < wmsParamsPanel.getNumTabs()) {
224
                        getBtnSiguiente().setEnabled(true);
225
                        getBtnSiguiente().setVisible(true);
226
                        getBtnAnterior().setEnabled(true);
227
                        getBtnAnterior().setVisible(true);
228
                        if (wmsParamsPanel.nextEnabledPage()==-1){
229
                            getBtnSiguiente().setEnabled(false);
230
                        }
231
                        listenerSupport.callStateChanged(wmsParamsPanel.isCorrectlyConfigured());
232
                } else if (page == wmsParamsPanel.getNumTabs()) {
233
                        getBtnSiguiente().setVisible(false);
234
                        getBtnSiguiente().setEnabled(false);
235
                        listenerSupport.callStateChanged(wmsParamsPanel
236
                                        .isCorrectlyConfigured());
237
                }
238
        }
239
240
        /**
241
         * This method initializes txtHost
242
         *
243
         * @return javax.swing.JTextField
244
         */
245 4305 jorpiell
        private JComboServer getTxtHost() {
246 3746 jaume
                if (cmbHost == null) {
247 4305 jorpiell
                        cmbHost = new JComboServer();
248
                        //cmbHost.setModel(new DefaultComboBoxModel());
249 3746 jaume
                        cmbHost.setPreferredSize(new java.awt.Dimension(350, 20));
250
                        cmbHost.setBounds(11, 26, 454, 20);
251
                        cmbHost.setEditable(true);
252
253 4305 jorpiell
                        ServerDataPersistence persistence = new ServerDataPersistence(this,ServerData.SERVER_TYPE_WMS);
254
                        ServerData[] servers = persistence.getArrayOfServerData();
255 3746 jaume
256 4305 jorpiell
                        if (servers.length == 0){
257
                                servers = new ServerData[3];
258
                                servers[0] = new ServerData("http://www.idee.es/wms/IDEE-Base/IDEE-Base",ServerData.SERVER_TYPE_WMS);
259
                            servers[1] = new ServerData("http://wms.jpl.nasa.gov/wms.cgi",ServerData.SERVER_TYPE_WMS);
260
                            servers[2] = new ServerData("http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?",ServerData.SERVER_TYPE_WMS);
261 3746 jaume
                        }
262 4305 jorpiell
263
                        cmbHost.setServerList(servers);
264
265
//                        XMLEntity xml = PluginServices.getPluginServices(this)
266
//                                                                                  .getPersistentXML();
267
//                        if (xml == null)
268
//                                xml = new XMLEntity();
269
//
270
//                        if (!xml.contains("wms-servers")) {
271
//                                String[] servers = new String[11];
272
//                servers[0] = "http://www.idee.es/wms/IDEE-Base/IDEE-Base";
273
//                servers[1] = "http://wms.jpl.nasa.gov/wms.cgi";
274
//                servers[2] = "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?";
275
//                                servers[3] = "http://demo.deegree.org:8080/deegree/wms";
276
//                servers[4] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_patricova";
277
//                servers[5] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_parque_fondo_prug";
278
//                servers[6] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_pgof";
279
//                servers[7] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_urbanismo_tematicos";
280
//                servers[8] = "http://onearth.jpl.nasa.gov/wms.cgi";
281
//                servers[9] = "http://www.demis.nl/wms/wms.asp?WMS=WorldMap";
282
//                servers[9] = "http://aes.gsfc.nasa.gov/cgi-bin/wms";
283
//                servers[10]= "http://mapas.euitto.upm.es/cgi-bin/cnauticas";
284
//                                xml.putProperty("wms-servers", servers);
285
//                        }
286
//
287
//                        try {
288
//                                String[] servers = xml.getStringArrayProperty("wms-servers");
289
//                                for (int i = 0; i < servers.length; i++) {
290
//                                        ((DefaultComboBoxModel) cmbHost.getModel()).addElement(servers[i]);
291
//                                }
292
//                        } catch (NotExistInXMLEntity e) {
293
//                        }
294 3746 jaume
                }
295
296
                return cmbHost;
297
        }
298
299
        /**
300
         * This method initializes btnDetalles
301
         *
302
         * @return javax.swing.JButton
303
         */
304
        private javax.swing.JButton getBtnConnect() {
305
                if (btnConnect == null) {
306
                        btnConnect = new javax.swing.JButton();
307
                        btnConnect.setPreferredSize(new java.awt.Dimension(100, 20));
308
                        btnConnect.setBounds(366, 50, 100, 20);
309
                        btnConnect.setText(PluginServices.getText(this, "conectar"));
310
                        btnConnect.addActionListener(new java.awt.event.ActionListener() {
311
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
312
                                                rellenarControles();
313
                                        }
314
                                });
315
                }
316
317
                return btnConnect;
318
        }
319
320
        /**
321
         * This method initializes jPanel
322
         *
323
         * @return javax.swing.JPanel
324
         */
325
        private javax.swing.JPanel getJPanel() {
326
                if (jPanel == null) {
327
                        jPanel = new javax.swing.JPanel();
328
                        jPanel.setLayout(null);
329
                        jPanel.setPreferredSize(new java.awt.Dimension(470, 130));
330
                        jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
331 3774 jaume
                                        null, PluginServices.getText(this, "description"),
332 3746 jaume
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
333
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
334
                        jPanel.setBounds(2, 96, 477, 324);
335
                        jPanel.add(getJLabel1(), null);
336
                        jPanel.add(getLblTitle(), null);
337
                        jPanel.add(getJScrollPane(), null);
338
                }
339
340
                return jPanel;
341
        }
342
343
        /**
344
         * This method initializes jLabel1
345
         *
346
         * @return javax.swing.JLabel
347
         */
348
        private javax.swing.JLabel getJLabel1() {
349
                if (jLabel1 == null) {
350
                        jLabel1 = new javax.swing.JLabel();
351 3796 jaume
                        jLabel1.setText(PluginServices.getText(this, "name") + ":");
352 3746 jaume
                        jLabel1.setBounds(37, 26, 40, 15);
353
                }
354
355
                return jLabel1;
356
        }
357
358
        /**
359
         * This method initializes lblTitle
360
         *
361
         * @return javax.swing.JLabel
362
         */
363
        private javax.swing.JLabel getLblTitle() {
364
                if (lblTitle == null) {
365
                        lblTitle = new javax.swing.JLabel();
366
                        lblTitle.setText("-");
367
                        lblTitle.setPreferredSize(new java.awt.Dimension(350, 16));
368
                        lblTitle.setBounds(82, 26, 350, 16);
369
                }
370
371
                return lblTitle;
372
        }
373
374
        /**
375
         * This method initializes jScrollPane
376
         *
377
         * @return javax.swing.JScrollPane
378
         */
379
        private javax.swing.JScrollPane getJScrollPane() {
380
                if (jScrollPane == null) {
381
                        jScrollPane = new javax.swing.JScrollPane();
382
                        jScrollPane.setViewportView(getTxtAbstract());
383
                        jScrollPane.setPreferredSize(new java.awt.Dimension(450, 60));
384
                        jScrollPane.setBounds(10, 47, 450, 267);
385
                }
386
387
                return jScrollPane;
388
        }
389
390
        /**
391
         * This method initializes txtAbstract
392
         *
393
         * @return javax.swing.JTextArea
394
         */
395
        private javax.swing.JTextArea getTxtAbstract() {
396
                if (txtAbstract == null) {
397
                        txtAbstract = new javax.swing.JTextArea();
398
                        txtAbstract.setWrapStyleWord(true);
399
                        txtAbstract.setColumns(30);
400
                        txtAbstract.setLineWrap(true);
401
                }
402
403
                return txtAbstract;
404
        }
405
406
        /**
407
         * This method initializes panelPage1
408
         *
409
         * @return javax.swing.JPanel
410
         */
411
        private javax.swing.JPanel getPanelPage1() {
412
                if (panelPage1 == null) {
413
                        panelPage1 = new javax.swing.JPanel();
414
                        panelPage1.setLayout(null);
415
                        panelPage1.setPreferredSize(new java.awt.Dimension(480, 220));
416
                        panelPage1.setVisible(true);
417
                        panelPage1.setBounds(15, 5, 480, 427);
418
                        panelPage1.add(getJPanel1(), null);
419
                        panelPage1.add(getJPanel(), null);
420
                }
421
422
                return panelPage1;
423
        }
424
425
        /**
426
         * This method initializes btnSiguiente
427
         *
428
         * @return javax.swing.JButton
429
         */
430
        private javax.swing.JButton getBtnSiguiente() {
431
                if (btnSiguiente == null) {
432
                        btnSiguiente = new javax.swing.JButton();
433
                        btnSiguiente.setPreferredSize(new java.awt.Dimension(100, 30));
434
                        btnSiguiente.setBounds(395, 444, 100, 20);
435
                        btnSiguiente.setText(PluginServices.getText(this, "siguiente"));
436
                        btnSiguiente.addActionListener(new java.awt.event.ActionListener() {
437
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
438
                                                if (page > 0) {
439
                                                        // si page es mayor que cero, vamos enfocando las
440
                                                        // sucesivas SOLAPAS del WCSParamsPanel
441
                                                        wmsParamsPanel.avanzaTab();
442
                                                        page = wmsParamsPanel.currentPage();
443
                                                }
444
                                                page++;
445
                                                getPanelPage1().setVisible(false);
446
                                                getPanelPage2().setVisible(true);
447
                                                activarVisualizarBotones();
448
                                        }
449
                                });
450
                }
451
                return btnSiguiente;
452
        }
453
454
        /**
455
         * This method initializes btnAnterior
456
         *
457
         * @return javax.swing.JButton
458
         */
459
        private javax.swing.JButton getBtnAnterior() {
460
                if (btnAnterior == null) {
461
                        btnAnterior = new javax.swing.JButton();
462
                        btnAnterior.setText(PluginServices.getText(this, "anterior"));
463
                        btnAnterior.setBounds(292, 444, 100, 20);
464
                        btnAnterior.setPreferredSize(new java.awt.Dimension(100, 30));
465
                        btnAnterior.addActionListener(new java.awt.event.ActionListener() {
466
                                public void actionPerformed(java.awt.event.ActionEvent e) {
467
                                        page --;
468
                                        if (page > 0) {
469
                                                // Tenemos que retroceder en el wcsParamsPanel
470
                                                wmsParamsPanel.retrocedeTab();
471
                                                page = wmsParamsPanel.currentPage() + 1;
472
                                                activarVisualizarBotones();
473
                                        } else if (page==0){
474
                                                activarVisualizarBotones();
475
                                                page = 1;
476
                                                //wmsParamsPanel.limpiaWizard();
477
                                                getLblTitle().setText("-");
478
                                                getTxtAbstract().setText("");
479
                                                wmsParamsPanel.retrocedeTab();
480
                                                getPanelPage1().setVisible(true);
481
                                                getPanelPage2().setVisible(false);
482
                                                getBtnSiguiente().setEnabled(false);
483
                                                conectado = false;
484
                                        }
485
                                        listenerSupport.callStateChanged(wmsParamsPanel.isCorrectlyConfigured());
486
                                }
487
                        });
488
                }
489
490
                return btnAnterior;
491
        }
492
493
        /**
494
         * This method initializes jPanel1
495
         *
496
         * @return javax.swing.JPanel
497
         */
498
        private javax.swing.JPanel getJPanel1() {
499
                if (jPanel1 == null) {
500
                        jPanel1 = new javax.swing.JPanel();
501
                        jPanel1.setLayout(null);
502
                        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
503 3774 jaume
                                        null, PluginServices.getText(this, "server"),
504 3746 jaume
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
505
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
506
                        jPanel1.setBounds(2, 5, 477, 85);
507
                        jPanel1.add(getTxtHost(), null);
508
                        jPanel1.add(getBtnConnect(), null);
509
                }
510
511
                return jPanel1;
512
        }
513
514
        /**
515
         * DOCUMENT ME!
516
         *
517
         * @param listener
518
         */
519
        public void addWizardListener(WizardListener listener) {
520
                listenerSupport.addWizardListener(listener);
521
        }
522
523
        /**
524
         * DOCUMENT ME!
525
         *
526
         * @param listener
527
         */
528
        public void removeWizardListener(WizardListener listener) {
529
                listenerSupport.removeWizardListener(listener);
530
        }
531
532
        /**
533
         * DOCUMENT ME!
534
         *
535
         * @return
536
         */
537
//        public WMSWizardDataSource getDataSource() {
538
//                return dataSource;
539
//        }
540
541
        /**
542
         * DOCUMENT ME!
543
         *
544
         * @param source
545
         */
546
//        public void setDataSource(WMSWizardDataSource source) {
547
//                dataSource = source;
548
//        }
549
550
551
        /**
552
         * DOCUMENT ME!
553
         *
554
         * @return DOCUMENT ME!
555
         */
556
        public String getSRS() {
557
                return wmsParamsPanel.getSRS();
558
        }
559
560
        /**
561
         * DOCUMENT ME!
562
         *
563
         * @return DOCUMENT ME!
564
         */
565
        public String getFormat() {
566
                return wmsParamsPanel.getFormat();
567
        }
568
569
        /**
570
         * DOCUMENT ME!
571
         *
572
         * @return DOCUMENT ME!
573
         */
574
        public TreePath[] getSelectedLayers() {
575
                return wmsParamsPanel.getSelectedLayers();
576
        }
577
578
        /**
579
         * DOCUMENT ME!
580
         *
581
         * @return DOCUMENT ME!
582
         */
583 4222 jaume
        public Rectangle2D getLayersRectangle() throws CannotReprojectException{
584 3746 jaume
                return wmsParamsPanel.getLayersRectangle();
585
        }
586
587
588
589
        /**
590 4222 jaume
         * Devuelve el host que est? escrito en el cuadro de texto del host o null
591
         * en caso de que no haya nada escrito o est? mal escrito
592 3746 jaume
         *
593
         * @return URL del host
594
         */
595
        public URL getHost() {
596
                try {
597
                        return new URL(cmbHost.getModel().getSelectedItem().toString());
598
                } catch (MalformedURLException e) {
599
                        return null;
600
                }
601
        }
602
603
        /**
604
         * DOCUMENT ME!
605
         *
606
         * @return Nombre de la capa que aparece en el TOC.
607
         */
608
        public String getLayerName() {
609
                return wmsParamsPanel.getLayerName();
610
        }
611
612
613
        public void initWizard() {
614
                dataSource = new WMSWizardData();
615
        }
616
617
        public void execute() {
618
619
        }
620
621
        /**
622
         * DOCUMENT ME!
623
         *
624
         * @return DOCUMENT ME!
625
         */
626
        private String getLayersQuery() {
627
                return wmsParamsPanel.getLayersQuery();
628
        }
629
630 4222 jaume
//    public FLayer _getLayer() {
631
//        View v = (View) PluginServices.getMDIManager().getActiveView();
632
//        if (true) {
633
//            FLayers l = new FLayers(v.getMapControl().getMapContext(), null);
634
//            l.setName("composite");
635
//            String[] layerNames = getLayersQuery().split(",");
636
//            for (int i = 0; i < layerNames.length; i++) {
637
//                FLyrWMS layer = new FLyrWMS();
638
//                layer.setHost(getHost());
639
//                try {
640
//                                        layer.setFullExtent(getLayersRectangle());
641
//                                } catch (CanNotReprojectException e) {
642
//                                        e.printStackTrace();
643
//                                }
644
//                layer.setFormat(getFormat());
645
//                layer.setLayerQuery(layerNames[i]);
646
//                layer.setInfoLayerQuery(getQueryableLayerQuery());
647
//                layer.setSRS(getSRS());
648
//                layer.setName(layerNames[i]);
649
//                layer.setWmsTransparency(getTransparency());
650
//                layer.setStyles(getStyles());
651
//                l.addLayer(layer);
652
//            }
653
//            return l;
654
//        } else
655
//            return _getLayer();
656
//
657
//    }
658 3746 jaume
659 4222 jaume
    public FLayer getLayer(){
660 3746 jaume
        FLyrWMS layer = new FLyrWMS();
661
        layer.setHost(getHost());
662 4222 jaume
        try{
663
                layer.setFullExtent(getLayersRectangle());
664
        }catch(CannotReprojectException ex)
665
        {
666
                ex.printStackTrace();
667
                JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), ex.getMessage());
668
                return null;
669
        }
670 3746 jaume
        layer.setFormat(getFormat());
671
        layer.setLayerQuery(getLayersQuery());
672
        layer.setInfoLayerQuery(getQueryableLayerQuery());
673
        layer.setSRS(getSRS());
674
        layer.setName(getLayerName());
675
        layer.setWmsTransparency(getTransparency());
676
        layer.setStyles(getStyles());
677
        layer.setDimensions(getDimensions());
678
        layer.setDriver(getDriver());
679 4222 jaume
        layer.setOnlineResources(getOnlineResources());
680
        layer.setFixedSize(getFixedSize());
681
        layer.setQueryable(isQueryable());
682 3746 jaume
        return layer;
683
    }
684
685 4222 jaume
    private boolean isQueryable() {
686
                return dataSource.isQueryable();
687
        }
688
689
        private Dimension getFixedSize() {
690
            return wmsParamsPanel.getFixedSize();
691
    }
692 3746 jaume
693 4222 jaume
        private Hashtable getOnlineResources() {
694
                return wmsParamsPanel.getOnlineResources();
695
        }
696
697 3746 jaume
        private FMapWMSDriver getDriver() {
698
                return wmsParamsPanel.getDriver();
699
        }
700
701
        /**
702
     * @return
703
     */
704
    private Vector getStyles() {
705
        return wmsParamsPanel.getStyles();
706
    }
707
708
    private Vector getDimensions() {
709
        return wmsParamsPanel.getDimensions();
710
    }
711
712
    /**
713
     * @return
714
     */
715
    private boolean getTransparency() {
716
        return wmsParamsPanel.getTransparency();
717
    }
718
719
    /**
720
         * DOCUMENT ME!
721
         *
722
         * @return DOCUMENT ME!
723
         */
724
        public String getQueryableLayerQuery() {
725
                return wmsParamsPanel.getQueryableLayerQuery();
726
        }
727
}  //  @jve:decl-index=0:visual-constraint="10,10"