Statistics
| Revision:

root / branches / v05 / extensions / extWMS / src / com / iver / cit / gvsig / gui / wizards / WMSWizard.java @ 4220

History | View | Annotate | Download (19.5 KB)

1
/* 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
import java.awt.Component;
44
import java.awt.Dimension;
45
import java.awt.geom.Rectangle2D;
46
import java.net.MalformedURLException;
47
import java.net.URL;
48
import java.util.Hashtable;
49
import java.util.Vector;
50

    
51
import javax.swing.DefaultComboBoxModel;
52
import javax.swing.JLabel;
53
import javax.swing.JOptionPane;
54
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
import com.iver.cit.gvsig.fmap.drivers.wms.FMapWMSDriver;
61
import com.iver.cit.gvsig.fmap.exceptions.CannotReprojectException;
62
import com.iver.cit.gvsig.fmap.layers.FLayer;
63
import com.iver.cit.gvsig.fmap.layers.FLyrWMS;
64
import com.iver.cit.gvsig.gui.WizardPanel;
65
import com.iver.cit.gvsig.gui.panels.WMSParamsPanel;
66
import com.iver.utiles.NotExistInXMLEntity;
67
import com.iver.utiles.XMLEntity;
68

    
69

    
70
/**
71
 * The WMS properties container panel.
72
 *
73
 * @author Jaume Dominguez Faus
74
 */
75
public class WMSWizard extends WizardPanel {
76
        private static Logger logger = Logger.getLogger(WMSWizard.class.getName());
77
        private int page = 0;
78
        private boolean conectado = false;
79
        private javax.swing.JComboBox cmbHost = null;
80
        private javax.swing.JButton btnConnect = null;
81
        private javax.swing.JPanel jPanel = null;
82
        private javax.swing.JLabel jLabel1 = null;
83
        private javax.swing.JLabel lblTitle = null;
84
        private javax.swing.JScrollPane jScrollPane = null;
85
        private javax.swing.JTextArea txtAbstract = null;
86
        private javax.swing.JPanel panelPage1 = null;
87
        private javax.swing.JButton btnSiguiente = null;
88
        private javax.swing.JButton btnAnterior = null;
89
        private javax.swing.JPanel jPanel1 = null;
90
        private WizardListenerSupport listenerSupport = new WizardListenerSupport();
91
        private WMSWizardData dataSource;
92
        private WMSParamsPanel wmsParamsPanel = null;
93
    private JLabel lblServerType = null;
94
    private JLabel lblServerTypeValue = null;
95

    
96
        /**
97
         * This is the default constructor
98
         */
99
        public WMSWizard() {
100
                super();
101
                initialize();
102
        }
103

    
104
        /**
105
         * This method initializes this
106
         */
107
        private void initialize() {
108
                setTabName("WMS");
109
                
110
                lblServerType = new JLabel();
111
                lblServerType.setBounds(20, 444, 100, 20);
112
                lblServerType.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
113
                lblServerType.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
114
                lblServerType.setFont(new java.awt.Font("Arial", java.awt.Font.PLAIN, 11));
115
                lblServerType.setText(PluginServices.getText(this, "server_type")+":");
116
                lblServerTypeValue = new JLabel();
117
                lblServerTypeValue.setBounds(128, 444, 148, 20);
118
                lblServerTypeValue.setFont(new java.awt.Font("Arial", java.awt.Font.BOLD, 11));
119
                lblServerTypeValue.setText("-");
120
                this.setSize(510, 468);
121
                this.setLayout(null);
122
                this.setPreferredSize(new java.awt.Dimension(750, 420));
123
                this.setVisible(true);
124
                this.add(getPanelPage1(), null);
125
                this.add(getPanelPage2(), null);
126
                this.add(getBtnAnterior(), null);
127
                this.add(getBtnSiguiente(), null);
128
                this.add(lblServerType, null);
129
                this.add(lblServerTypeValue, null);
130
                activarVisualizarBotones();
131
        }
132

    
133

    
134
        private JPanel getPanelPage2(){
135
                if (wmsParamsPanel == null){
136
                        wmsParamsPanel = new WMSParamsPanel();
137
                        wmsParamsPanel.setListenerSupport(this.listenerSupport);
138
                        wmsParamsPanel.setBounds(15, 5, 480, 428);
139
                        wmsParamsPanel.getJTabbedPane().addMouseListener(
140
                    new java.awt.event.MouseAdapter() {
141
                        public void mouseClicked(java.awt.event.MouseEvent e) {
142
                            page = wmsParamsPanel.currentPage() + 1;
143
                            activarVisualizarBotones();
144
                        }
145
                    });
146
                }
147
                return wmsParamsPanel;
148
        }
149
        /**
150
         * DOCUMENT ME!
151
         *
152
         * @param host DOCUMENT ME!
153
         */
154
        private void addHost(String host) {
155
                host = host.trim();
156

    
157
                DefaultComboBoxModel model = (DefaultComboBoxModel) getTxtHost()
158
                                                                                                                                .getModel();
159

    
160
                if (model.getIndexOf(host) < 0) {
161
                        model.addElement(host);
162

    
163
                        PluginServices ps = PluginServices.getPluginServices(this);
164
                        XMLEntity xml = ps.getPersistentXML();
165

    
166
                        try {
167
                                String[] servers = xml.getStringArrayProperty("wms-servers");
168
                                String[] newServers = new String[servers.length + 1];
169
                                System.arraycopy(servers, 0, newServers, 0, servers.length);
170
                                newServers[servers.length] = host;
171
                                xml.putProperty("wms-servers", newServers);
172
                        } catch (NotExistInXMLEntity e) {
173
                                xml.putProperty("wms-servers", new String[] { host });
174
                        }
175

    
176
                        ps.setPersistentXML(xml);
177
                }
178
        }
179

    
180
        /**
181
         * DOCUMENT ME!
182
         */
183
        private void rellenarControles() {
184
                try {
185
                        String host = cmbHost.getModel().getSelectedItem().toString();
186
                        //WMSWizardData data = dataSource.detalles(url);
187
            dataSource.setHost(new URL(host));
188
            lblTitle.setText(dataSource.getTitle());
189
                        lblServerTypeValue.setText(dataSource.getServerType());
190
            txtAbstract.setText(dataSource.getAbstract());
191
                        
192
                        addHost(host);
193
                        wmsParamsPanel.setWizardData(dataSource);
194
                        //wmsParamsPanel.setDataSource(dataSource);
195
                        conectado = true;
196
                        activarVisualizarBotones();
197
                } catch (Exception e) {
198
                        listenerSupport.callError(e);
199
                        e.printStackTrace();
200
                }
201
        }
202

    
203
        /**
204
         * DOCUMENT ME!
205
         */
206
        private void activarVisualizarBotones() {
207
                if (page == 0) {
208
                        getBtnAnterior().setEnabled(false);
209
                        getBtnSiguiente().setVisible(true);
210

    
211
                        if (conectado) {
212
                                getBtnSiguiente().setEnabled(true);
213
                        } else {
214
                                getBtnSiguiente().setEnabled(false);
215
                        }
216
                } else if (page < wmsParamsPanel.getNumTabs()) {
217
                        getBtnSiguiente().setEnabled(true);
218
                        getBtnSiguiente().setVisible(true);
219
                        getBtnAnterior().setEnabled(true);
220
                        getBtnAnterior().setVisible(true);
221
                        if (wmsParamsPanel.nextEnabledPage()==-1){
222
                            getBtnSiguiente().setEnabled(false);
223
                        }
224
                        listenerSupport.callStateChanged(wmsParamsPanel.isCorrectlyConfigured());
225
                } else if (page == wmsParamsPanel.getNumTabs()) {
226
                        getBtnSiguiente().setVisible(false);
227
                        getBtnSiguiente().setEnabled(false);
228
                        listenerSupport.callStateChanged(wmsParamsPanel 
229
                                        .isCorrectlyConfigured());
230
                }
231
        }
232

    
233
        /**
234
         * This method initializes txtHost
235
         *
236
         * @return javax.swing.JTextField
237
         */
238
        private javax.swing.JComboBox getTxtHost() {
239
                if (cmbHost == null) {
240
                        cmbHost = new javax.swing.JComboBox();
241
                        cmbHost.setModel(new DefaultComboBoxModel());
242
                        cmbHost.setPreferredSize(new java.awt.Dimension(350, 20));
243
                        cmbHost.setBounds(11, 26, 454, 20);
244
                        cmbHost.setEditable(true);
245

    
246
        
247

    
248
                        XMLEntity xml = PluginServices.getPluginServices(this)
249
                                                                                  .getPersistentXML();
250
                        if (xml == null)
251
                                xml = new XMLEntity();
252
                        
253
                        if (!xml.contains("wms-servers")) {
254
                                String[] servers = new String[11];
255
                servers[0] = "http://www.idee.es/wms/IDEE-Base/IDEE-Base";
256
                servers[1] = "http://wms.jpl.nasa.gov/wms.cgi";
257
                servers[2] = "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?";
258
                                servers[3] = "http://demo.deegree.org:8080/deegree/wms";
259
                servers[4] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_patricova";
260
                servers[5] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_parque_fondo_prug";
261
                servers[6] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_pgof";
262
                servers[7] = "http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_urbanismo_tematicos";
263
                servers[8] = "http://onearth.jpl.nasa.gov/wms.cgi";
264
                servers[9] = "http://www.demis.nl/wms/wms.asp?WMS=WorldMap";
265
                servers[9] = "http://aes.gsfc.nasa.gov/cgi-bin/wms";
266
                servers[10]= "http://mapas.euitto.upm.es/cgi-bin/cnauticas";
267
                                xml.putProperty("wms-servers", servers);
268
                        }
269

    
270
                        try {
271
                                String[] servers = xml.getStringArrayProperty("wms-servers");
272
                                for (int i = 0; i < servers.length; i++) {
273
                                        ((DefaultComboBoxModel) cmbHost.getModel()).addElement(servers[i]);
274
                                }
275
                        } catch (NotExistInXMLEntity e) {
276
                        }
277
                }
278

    
279
                return cmbHost;
280
        }
281

    
282
        /**
283
         * This method initializes btnDetalles
284
         *
285
         * @return javax.swing.JButton
286
         */
287
        private javax.swing.JButton getBtnConnect() {
288
                if (btnConnect == null) {
289
                        btnConnect = new javax.swing.JButton();
290
                        btnConnect.setPreferredSize(new java.awt.Dimension(100, 20));
291
                        btnConnect.setBounds(366, 50, 100, 20);
292
                        btnConnect.setText(PluginServices.getText(this, "conectar"));
293
                        btnConnect.addActionListener(new java.awt.event.ActionListener() {
294
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
295
                                                rellenarControles();
296
                                        }
297
                                });
298
                }
299

    
300
                return btnConnect;
301
        }
302

    
303
        /**
304
         * This method initializes jPanel
305
         *
306
         * @return javax.swing.JPanel
307
         */
308
        private javax.swing.JPanel getJPanel() {
309
                if (jPanel == null) {
310
                        jPanel = new javax.swing.JPanel();
311
                        jPanel.setLayout(null);
312
                        jPanel.setPreferredSize(new java.awt.Dimension(470, 130));
313
                        jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(
314
                                        null, PluginServices.getText(this, "description"),
315
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
316
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
317
                        jPanel.setBounds(2, 96, 477, 324);
318
                        jPanel.add(getJLabel1(), null);
319
                        jPanel.add(getLblTitle(), null);
320
                        jPanel.add(getJScrollPane(), null);
321
                }
322

    
323
                return jPanel;
324
        }
325

    
326
        /**
327
         * This method initializes jLabel1
328
         *
329
         * @return javax.swing.JLabel
330
         */
331
        private javax.swing.JLabel getJLabel1() {
332
                if (jLabel1 == null) {
333
                        jLabel1 = new javax.swing.JLabel();
334
                        jLabel1.setText(PluginServices.getText(this, "name") + ":");
335
                        jLabel1.setBounds(37, 26, 40, 15);
336
                }
337

    
338
                return jLabel1;
339
        }
340

    
341
        /**
342
         * This method initializes lblTitle
343
         *
344
         * @return javax.swing.JLabel
345
         */
346
        private javax.swing.JLabel getLblTitle() {
347
                if (lblTitle == null) {
348
                        lblTitle = new javax.swing.JLabel();
349
                        lblTitle.setText("-");
350
                        lblTitle.setPreferredSize(new java.awt.Dimension(350, 16));
351
                        lblTitle.setBounds(82, 26, 350, 16);
352
                }
353

    
354
                return lblTitle;
355
        }
356

    
357
        /**
358
         * This method initializes jScrollPane
359
         *
360
         * @return javax.swing.JScrollPane
361
         */
362
        private javax.swing.JScrollPane getJScrollPane() {
363
                if (jScrollPane == null) {
364
                        jScrollPane = new javax.swing.JScrollPane();
365
                        jScrollPane.setViewportView(getTxtAbstract());
366
                        jScrollPane.setPreferredSize(new java.awt.Dimension(450, 60));
367
                        jScrollPane.setBounds(10, 47, 450, 267);
368
                }
369

    
370
                return jScrollPane;
371
        }
372

    
373
        /**
374
         * This method initializes txtAbstract
375
         *
376
         * @return javax.swing.JTextArea
377
         */
378
        private javax.swing.JTextArea getTxtAbstract() {
379
                if (txtAbstract == null) {
380
                        txtAbstract = new javax.swing.JTextArea();
381
                        txtAbstract.setWrapStyleWord(true);
382
                        txtAbstract.setColumns(30);
383
                        txtAbstract.setLineWrap(true);
384
                }
385

    
386
                return txtAbstract;
387
        }
388

    
389
        /**
390
         * This method initializes panelPage1
391
         *
392
         * @return javax.swing.JPanel
393
         */
394
        private javax.swing.JPanel getPanelPage1() {
395
                if (panelPage1 == null) {
396
                        panelPage1 = new javax.swing.JPanel();
397
                        panelPage1.setLayout(null);
398
                        panelPage1.setPreferredSize(new java.awt.Dimension(480, 220));
399
                        panelPage1.setVisible(true);
400
                        panelPage1.setBounds(15, 5, 480, 427);
401
                        panelPage1.add(getJPanel1(), null);
402
                        panelPage1.add(getJPanel(), null);
403
                }
404

    
405
                return panelPage1;
406
        }
407

    
408
        /**
409
         * This method initializes btnSiguiente
410
         *
411
         * @return javax.swing.JButton
412
         */
413
        private javax.swing.JButton getBtnSiguiente() {
414
                if (btnSiguiente == null) {
415
                        btnSiguiente = new javax.swing.JButton();
416
                        btnSiguiente.setPreferredSize(new java.awt.Dimension(100, 30));
417
                        btnSiguiente.setBounds(395, 444, 100, 20);
418
                        btnSiguiente.setText(PluginServices.getText(this, "siguiente"));
419
                        btnSiguiente.addActionListener(new java.awt.event.ActionListener() {
420
                                        public void actionPerformed(java.awt.event.ActionEvent e) {
421
                                                if (page > 0) {
422
                                                        // si page es mayor que cero, vamos enfocando las
423
                                                        // sucesivas SOLAPAS del WCSParamsPanel
424
                                                        wmsParamsPanel.avanzaTab();
425
                                                        page = wmsParamsPanel.currentPage();
426
                                                }
427
                                                page++;
428
                                                getPanelPage1().setVisible(false);
429
                                                getPanelPage2().setVisible(true);
430
                                                activarVisualizarBotones();
431
                                        }
432
                                });
433
                }
434
                return btnSiguiente;
435
        }
436

    
437
        /**
438
         * This method initializes btnAnterior
439
         *
440
         * @return javax.swing.JButton
441
         */
442
        private javax.swing.JButton getBtnAnterior() {
443
                if (btnAnterior == null) {
444
                        btnAnterior = new javax.swing.JButton();
445
                        btnAnterior.setText(PluginServices.getText(this, "anterior"));
446
                        btnAnterior.setBounds(292, 444, 100, 20);
447
                        btnAnterior.setPreferredSize(new java.awt.Dimension(100, 30));
448
                        btnAnterior.addActionListener(new java.awt.event.ActionListener() {
449
                                public void actionPerformed(java.awt.event.ActionEvent e) {
450
                                        page --;
451
                                        if (page > 0) {
452
                                                // Tenemos que retroceder en el wcsParamsPanel
453
                                                wmsParamsPanel.retrocedeTab();
454
                                                page = wmsParamsPanel.currentPage() + 1;
455
                                                activarVisualizarBotones();
456
                                        } else if (page==0){
457
                                                activarVisualizarBotones();
458
                                                page = 1;
459
                                                //wmsParamsPanel.limpiaWizard();
460
                                                getLblTitle().setText("-");
461
                                                getTxtAbstract().setText("");
462
                                                wmsParamsPanel.retrocedeTab();
463
                                                getPanelPage1().setVisible(true);
464
                                                getPanelPage2().setVisible(false);
465
                                                getBtnSiguiente().setEnabled(false);
466
                                                conectado = false; 
467
                                        }
468
                                        listenerSupport.callStateChanged(wmsParamsPanel.isCorrectlyConfigured());
469
                                }
470
                        });
471
                }
472

    
473
                return btnAnterior;
474
        }
475

    
476
        /**
477
         * This method initializes jPanel1
478
         *
479
         * @return javax.swing.JPanel
480
         */
481
        private javax.swing.JPanel getJPanel1() {
482
                if (jPanel1 == null) {
483
                        jPanel1 = new javax.swing.JPanel();
484
                        jPanel1.setLayout(null);
485
                        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(
486
                                        null, PluginServices.getText(this, "server"),
487
                                        javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
488
                                        javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
489
                        jPanel1.setBounds(2, 5, 477, 85);
490
                        jPanel1.add(getTxtHost(), null);
491
                        jPanel1.add(getBtnConnect(), null);
492
                }
493

    
494
                return jPanel1;
495
        }
496

    
497
        /**
498
         * DOCUMENT ME!
499
         *
500
         * @param listener
501
         */
502
        public void addWizardListener(WizardListener listener) {
503
                listenerSupport.addWizardListener(listener);
504
        }
505

    
506
        /**
507
         * DOCUMENT ME!
508
         *
509
         * @param listener
510
         */
511
        public void removeWizardListener(WizardListener listener) {
512
                listenerSupport.removeWizardListener(listener);
513
        }
514

    
515
        /**
516
         * DOCUMENT ME!
517
         *
518
         * @return
519
         */
520
//        public WMSWizardDataSource getDataSource() {
521
//                return dataSource;
522
//        }
523

    
524
        /**
525
         * DOCUMENT ME!
526
         *
527
         * @param source
528
         */
529
//        public void setDataSource(WMSWizardDataSource source) {
530
//                dataSource = source;
531
//        }
532

    
533

    
534
        /**
535
         * DOCUMENT ME!
536
         *
537
         * @return DOCUMENT ME!
538
         */
539
        public String getSRS() {
540
                return wmsParamsPanel.getSRS();
541
        }
542

    
543
        /**
544
         * DOCUMENT ME!
545
         *
546
         * @return DOCUMENT ME!
547
         */
548
        public String getFormat() {
549
                return wmsParamsPanel.getFormat();
550
        }
551

    
552
        /**
553
         * DOCUMENT ME!
554
         *
555
         * @return DOCUMENT ME!
556
         */
557
        public TreePath[] getSelectedLayers() {
558
                return wmsParamsPanel.getSelectedLayers();
559
        }
560

    
561
        /**
562
         * DOCUMENT ME!
563
         *
564
         * @return DOCUMENT ME!
565
         */
566
        public Rectangle2D getLayersRectangle() throws CannotReprojectException{
567
                return wmsParamsPanel.getLayersRectangle();
568
        }
569

    
570

    
571

    
572
        /**
573
         * Devuelve el host que est? escrito en el cuadro de texto del host o null
574
         * en caso de que no haya nada escrito o est? mal escrito
575
         *
576
         * @return URL del host
577
         */
578
        public URL getHost() {
579
                try {
580
                        return new URL(cmbHost.getModel().getSelectedItem().toString());
581
                } catch (MalformedURLException e) {
582
                        return null;
583
                }
584
        }
585

    
586
        /**
587
         * DOCUMENT ME!
588
         *
589
         * @return Nombre de la capa que aparece en el TOC.
590
         */
591
        public String getLayerName() {
592
                return wmsParamsPanel.getLayerName();
593
        }
594

    
595

    
596
        public void initWizard() {
597
                dataSource = new WMSWizardData();
598
        }
599

    
600
        public void execute() {
601
       
602
        }
603

    
604
        /**
605
         * DOCUMENT ME!
606
         *
607
         * @return DOCUMENT ME!
608
         */
609
        private String getLayersQuery() {
610
                return wmsParamsPanel.getLayersQuery();
611
        }
612
        
613
//    public FLayer _getLayer() {
614
//        View v = (View) PluginServices.getMDIManager().getActiveView();
615
//        if (true) {
616
//            FLayers l = new FLayers(v.getMapControl().getMapContext(), null);
617
//            l.setName("composite");
618
//            String[] layerNames = getLayersQuery().split(",");
619
//            for (int i = 0; i < layerNames.length; i++) {
620
//                FLyrWMS layer = new FLyrWMS();
621
//                layer.setHost(getHost());
622
//                try {
623
//                                        layer.setFullExtent(getLayersRectangle());
624
//                                } catch (CanNotReprojectException e) {                                        
625
//                                        e.printStackTrace();
626
//                                }
627
//                layer.setFormat(getFormat());
628
//                layer.setLayerQuery(layerNames[i]);
629
//                layer.setInfoLayerQuery(getQueryableLayerQuery());
630
//                layer.setSRS(getSRS());
631
//                layer.setName(layerNames[i]);
632
//                layer.setWmsTransparency(getTransparency());
633
//                layer.setStyles(getStyles());
634
//                l.addLayer(layer);
635
//            }
636
//            return l;
637
//        } else
638
//            return _getLayer();
639
//        
640
//    }
641

    
642
    public FLayer getLayer(){
643
        FLyrWMS layer = new FLyrWMS();
644
        layer.setHost(getHost());
645
        try{
646
                layer.setFullExtent(getLayersRectangle());
647
        }catch(CannotReprojectException ex)
648
        {
649
                ex.printStackTrace();
650
                JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), ex.getMessage());
651
                return null;
652
        }
653
        layer.setFormat(getFormat());
654
        layer.setLayerQuery(getLayersQuery());
655
        layer.setInfoLayerQuery(getQueryableLayerQuery());
656
        layer.setSRS(getSRS());
657
        layer.setName(getLayerName());
658
        layer.setWmsTransparency(getTransparency());
659
        layer.setStyles(getStyles());
660
        layer.setDimensions(getDimensions());
661
        layer.setDriver(getDriver());
662
        layer.setOnlineResources(getOnlineResources());
663
        layer.setFixedSize(getFixedSize());
664
        layer.setQueryable(isQueryable());
665
        return layer;
666
    }
667

    
668
    private boolean isQueryable() {
669
                return dataSource.isQueryable();
670
        }
671

    
672
        private Dimension getFixedSize() {
673
            return wmsParamsPanel.getFixedSize();
674
    }
675
        
676
        private Hashtable getOnlineResources() {
677
                return wmsParamsPanel.getOnlineResources();
678
        }
679

    
680
        private FMapWMSDriver getDriver() {
681
                return wmsParamsPanel.getDriver();
682
        }
683

    
684
        /**
685
     * @return
686
     */
687
    private Vector getStyles() {
688
        return wmsParamsPanel.getStyles();
689
    }
690
    
691
    private Vector getDimensions() {
692
        return wmsParamsPanel.getDimensions();
693
    }
694

    
695
    /**
696
     * @return
697
     */
698
    private boolean getTransparency() {
699
        return wmsParamsPanel.getTransparency();
700
    }
701

    
702
    /**
703
         * DOCUMENT ME!
704
         *
705
         * @return DOCUMENT ME!
706
         */
707
        public String getQueryableLayerQuery() {
708
                return wmsParamsPanel.getQueryableLayerQuery();
709
        }
710
}  //  @jve:decl-index=0:visual-constraint="10,10"