Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / org.gvsig.newlayer / org.gvsig.newlayer.prov / org.gvsig.newlayer.prov.generic / src / main / java / org / gvsig / newlayer / prov / generic / panels / ExplorerParamsPanel.java @ 36022

History | View | Annotate | Download (2.49 KB)

1
package org.gvsig.newlayer.prov.generic.panels;
2

    
3
import java.awt.BorderLayout;
4

    
5
import javax.swing.JScrollPane;
6

    
7
import org.gvsig.fmap.dal.exception.InitializeException;
8
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
9
import org.gvsig.i18n.Messages;
10
import org.gvsig.newlayer.NewLayerProvider;
11
import org.gvsig.newlayer.prov.generic.NewLayerGenericProviderPanel;
12
import org.gvsig.tools.dynobject.DynObject;
13
import org.gvsig.tools.dynobject.exception.DynObjectValidateException;
14
import org.gvsig.tools.service.ServiceException;
15
import org.gvsig.tools.swing.api.ToolsSwingLocator;
16
import org.gvsig.tools.swing.api.dynobject.DynObjectSwingManager;
17
import org.gvsig.tools.swing.api.dynobject.JDynObjectComponent;
18

    
19
public class ExplorerParamsPanel extends NewLayerGenericProviderPanel {
20

    
21
        /**
22
         * 
23
         */
24
        private static final long serialVersionUID = 4479935798588252685L;
25

    
26
        private static final DynObjectSwingManager DYN_OBJECT_SWING_MANAGER = ToolsSwingLocator
27
                        .getDynObjectSwingManager();
28

    
29
        private JDynObjectComponent dynObjectComponent = null;
30
        private String explorerName = null;
31

    
32
        public ExplorerParamsPanel(NewLayerProvider provider) {
33
                super(provider);
34
        }
35

    
36
        private void initializeComponents() {
37
                explorerName = this.getProvider().getExplorerName();
38
                this.setLayout(new BorderLayout());
39
                try {
40
                        this.removeAll();
41
                        dynObjectComponent = DYN_OBJECT_SWING_MANAGER
42
                                        .createJDynObjectComponent(
43
                                                        getProvider().getExplorerParameters(),
44
                                                        true);
45
                } catch (ServiceException e) {
46
                        // TODO Auto-generated catch block
47
                        e.printStackTrace();
48
                } catch (InitializeException e) {
49
                        // TODO Auto-generated catch block
50
                        e.printStackTrace();
51
                } catch (ProviderNotRegisteredException e) {
52
                        // TODO Auto-generated catch block
53
                        e.printStackTrace();
54
                }
55

    
56
                this.add(dynObjectComponent.asJComponent(), BorderLayout.CENTER);
57

    
58
        }
59

    
60
        @Override
61
        public String getTitle() {
62
                return Messages.getText("select_dataexplorer_parameters");
63
        }
64

    
65
        @Override
66
        public boolean isValidPanel() {
67
                if (dynObjectComponent == null){
68
                        return false;
69
                }
70
                dynObjectComponent.saveStatus();
71
                DynObject dynObject = this.dynObjectComponent.getDynObject();
72
                try {
73
                        dynObject.getDynClass().validate(dynObject);
74
                } catch (DynObjectValidateException e) {
75
                        return false;
76
                }
77
                this.getProvider().createExplorer();
78
                return true;
79
        }
80

    
81
        @Override
82
        public void updatePanel() {
83
                if (explorerName != null && this.getProvider().getExplorerName().equalsIgnoreCase(explorerName)){
84
                        return;
85
                }
86
                initializeComponents();
87
                repaint();
88
        }
89

    
90
}