Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.exportto / org.gvsig.exportto.swing / org.gvsig.exportto.swing.prov / org.gvsig.exportto.swing.prov.jdbc / src / main / java / org / gvsig / export / jdbc / swing / panels / GeometryIndexPanel.java @ 45010

History | View | Annotate | Download (3.86 KB)

1

    
2
package org.gvsig.export.jdbc.swing.panels;
3

    
4
import javax.swing.JComponent;
5
import org.gvsig.export.jdbc.service.ExportJDBCParameters;
6
import org.gvsig.export.swing.JExportProcessPanel;
7
import org.gvsig.export.swing.spi.ExportPanel;
8
import org.gvsig.export.swing.spi.ExportPanelValidationException;
9
import org.gvsig.fmap.dal.DALLocator;
10
import org.gvsig.fmap.dal.DataManager;
11
import org.gvsig.fmap.dal.DataStoreProviderFactory;
12
import org.gvsig.fmap.dal.feature.FeatureStoreProviderFactory;
13
import org.gvsig.tools.ToolsLocator;
14
import org.gvsig.tools.i18n.I18nManager;
15
import org.slf4j.Logger;
16
import org.slf4j.LoggerFactory;
17

    
18

    
19
public class GeometryIndexPanel 
20
        extends GeometryIndexPanelLayout 
21
        implements ExportPanel 
22
    {
23
    private static final long serialVersionUID = -3995015914295698209L;
24
    
25
    private static final Logger logger = LoggerFactory.getLogger(GeometryIndexPanel.class);
26

    
27
    private final ExportJDBCParameters parameters;
28
    private final JExportProcessPanel processPanel;
29

    
30
    public GeometryIndexPanel(
31
            JExportProcessPanel processPanel, 
32
            ExportJDBCParameters parameters
33
        ) {
34
        this.processPanel = processPanel;
35
        this.parameters = parameters;
36
        initComponents();
37
    }
38

    
39
    private void initComponents() {
40
        this.translate();
41
    }
42
    
43
    private void translate() {
44
        I18nManager i18nManager = ToolsLocator.getI18nManager();
45
        
46
        this.lblHeader.setText("<html>"+i18nManager.getTranslation("_Create_spatial_index_header")+"</html>");
47
        this.chkCreateGeometryIndex.setText(i18nManager.getTranslation("_Crear_indice_espacial_sobre_las_columnas_de_tipo_geometria"));
48
    }
49

    
50
    @Override
51
    public String getIdPanel() {
52
        return this.getClass().getCanonicalName();
53
    }
54

    
55
    @Override
56
    public String getTitlePanel() {
57
        I18nManager i18nManager = ToolsLocator.getI18nManager();
58
        return i18nManager.getTranslation("_Create_spatial_index");    
59
    }
60

    
61
    @Override
62
    public boolean validatePanel() throws ExportPanelValidationException {
63
        return true;
64
    }
65
    
66
    @Override
67
    public void enterPanel() {
68
        String providerName = this.parameters.getExplorerParameters().getProviderName();
69
        DataManager dataManager = DALLocator.getDataManager();
70
        DataStoreProviderFactory storeProviderFactory = dataManager.getStoreProviderFactory(providerName);
71
        FeatureStoreProviderFactory providerFactory = (FeatureStoreProviderFactory) storeProviderFactory;
72
        if (providerFactory.allowSpatialIndexSupport()) {
73
        if( this.parameters.canCreatetable() ) {
74
            int index = -1;
75
            index = this.parameters.getSourceFeatureType().getDefaultGeometryAttributeIndex();
76
            if( index <0 ) {
77
                this.chkCreateGeometryIndex.setEnabled(false);
78
                this.chkCreateGeometryIndex.setSelected(false);
79
            } else {
80
                this.chkCreateGeometryIndex.setEnabled(true);
81
                this.chkCreateGeometryIndex.setSelected(true);
82
            }
83
        } else {
84
            this.chkCreateGeometryIndex.setEnabled(false);
85
            this.chkCreateGeometryIndex.setSelected(false);
86
        }
87
        // set params
88
        this.chkCreateGeometryIndex.setSelected(this.parameters.getCreateIndexInGeometryRow());
89
        } else {
90
            // si no soporta create indice en las geometrias
91
            this.chkCreateGeometryIndex.setEnabled(false);
92
            this.chkCreateGeometryIndex.setSelected(false);
93
        }
94
    }
95

    
96
    @Override
97
    public void previousPanel() {
98

    
99
    }
100

    
101
    @Override
102
    public void nextPanel() {
103
        this.parameters.setCreateIndexInGeometryRow(this.chkCreateGeometryIndex.isSelected());
104
    }
105

    
106
    @Override
107
    public JComponent asJComponent() {
108
        return this;
109
    }
110

    
111
    public boolean getCreateIndexInGeometryRow() {
112
        return this.chkCreateGeometryIndex.isSelected();
113
    }
114
}