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 / exportto / swing / prov / jdbc / panel / CheckGeometriesPanel.java @ 43020
History | View | Annotate | Download (5.85 KB)
1 |
package org.gvsig.exportto.swing.prov.jdbc.panel; |
---|---|
2 |
|
3 |
import java.awt.event.ActionEvent; |
4 |
import java.awt.event.ActionListener; |
5 |
import javax.swing.JComponent; |
6 |
import org.gvsig.exportto.swing.prov.jdbc.ExporrtoJDBCService; |
7 |
import org.gvsig.exportto.swing.prov.jdbc.ExporttoJDBCOptions; |
8 |
import org.gvsig.exportto.swing.spi.ExporttoPanelValidationException; |
9 |
import org.gvsig.exportto.swing.spi.ExporttoSwingProviderPanel; |
10 |
import org.gvsig.tools.ToolsLocator; |
11 |
import org.gvsig.tools.i18n.I18nManager; |
12 |
import org.slf4j.Logger; |
13 |
import org.slf4j.LoggerFactory; |
14 |
|
15 |
public class CheckGeometriesPanel extends CheckGeometriesPanelLayout implements ExporttoSwingProviderPanel { |
16 |
|
17 |
private final static Logger logger = LoggerFactory.getLogger(CheckGeometriesPanel.class); |
18 |
|
19 |
private final ExporttoJDBCOptions provider; |
20 |
|
21 |
private final CheckAction[] checkActions = { |
22 |
new CheckAction("_Set_geometry_to_null", ExporrtoJDBCService.ACTION_SET_GEOMETRY_TO_NULL), |
23 |
new CheckAction("_Skip_entire_feature", ExporrtoJDBCService.ACTION_SKIP_FEATURE), |
24 |
new CheckAction("_Abort_process", ExporrtoJDBCService.ACTION_ABORT) |
25 |
}; |
26 |
|
27 |
private static class CheckAction { |
28 |
|
29 |
private final String label; |
30 |
private final int code; |
31 |
|
32 |
public CheckAction(String label, int code) { |
33 |
this.code = code;
|
34 |
this.label = ToolsLocator.getI18nManager().getTranslation(label);
|
35 |
} |
36 |
@Override
|
37 |
public String toString() { |
38 |
return this.label; |
39 |
} |
40 |
public int getCode() { |
41 |
return this.code; |
42 |
} |
43 |
} |
44 |
|
45 |
public CheckGeometriesPanel(ExporttoJDBCOptions provider) {
|
46 |
this.provider = provider;
|
47 |
initComponents(); |
48 |
} |
49 |
|
50 |
private void initComponents() { |
51 |
this.rdbCheckIsCorrupt.addActionListener(new ActionListener() { |
52 |
public void actionPerformed(ActionEvent e) { |
53 |
onChangeRadioButtons(); |
54 |
} |
55 |
}); |
56 |
this.rdbCheckIsValid.addActionListener(new ActionListener() { |
57 |
public void actionPerformed(ActionEvent e) { |
58 |
onChangeRadioButtons(); |
59 |
} |
60 |
}); |
61 |
this.rdbCheckNone.addActionListener(new ActionListener() { |
62 |
public void actionPerformed(ActionEvent e) { |
63 |
onChangeRadioButtons(); |
64 |
} |
65 |
}); |
66 |
for (CheckAction checkAction : checkActions) {
|
67 |
this.cboActionIsCorrupt.addItem(checkAction);
|
68 |
this.cboActionIsValid.addItem(checkAction);
|
69 |
} |
70 |
this.rdbCheckNone.setSelected(true); |
71 |
this.rdbCheckIsValid.setSelected(true); |
72 |
this.cboActionIsValid.setSelectedItem(checkActions[2]); |
73 |
this.translate();
|
74 |
} |
75 |
|
76 |
private void translate() { |
77 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
78 |
|
79 |
this.lblHeader.setText("<html>"+i18nManager.getTranslation("_check_geometries_before_export_header")+"</html>"); |
80 |
this.rdbCheckNone.setText(i18nManager.getTranslation("_No_realizar_ninguna_comprobacion_sobre_las_geometrias")); |
81 |
this.rdbCheckIsCorrupt.setText(i18nManager.getTranslation("_Comprobar_que_la_geometria_no_este_corrupta")); |
82 |
this.rdbCheckIsValid.setText(i18nManager.getTranslation("_Comprobar_la_validez_de_las_geometrias_antes_de_insertarlas")); |
83 |
this.lblCheckIsCorrupt.setText(i18nManager.getTranslation("_Cuando_la_geometria_este_corrupta")); |
84 |
this.lblCheckIsvalid.setText(i18nManager.getTranslation("_Cuando_la_geometria_no_sea_valida")); |
85 |
this.chkTryFixGeometry.setText(i18nManager.getTranslation("_Intentar_reparar_la_geometria")); |
86 |
} |
87 |
|
88 |
public String getPanelTitle() { |
89 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
90 |
return i18nManager.getTranslation("_check_geometries_before_export"); |
91 |
} |
92 |
|
93 |
public boolean isValidPanel() throws ExporttoPanelValidationException { |
94 |
return true; |
95 |
} |
96 |
|
97 |
public void enterPanel() { |
98 |
// Default do nothing
|
99 |
} |
100 |
|
101 |
public JComponent asJComponent() { |
102 |
return this; |
103 |
} |
104 |
|
105 |
public int getGeometryChecks() { |
106 |
if( this.rdbCheckIsCorrupt.isSelected() ) { |
107 |
return ExporrtoJDBCService.CHECK_IF_CORRUPT;
|
108 |
} else if( this.rdbCheckIsValid.isSelected()) { |
109 |
return ExporrtoJDBCService.CHECK_IF_VALID;
|
110 |
} else {
|
111 |
return ExporrtoJDBCService.CHECK_NONE;
|
112 |
} |
113 |
} |
114 |
|
115 |
public int getGeometryChecksAction() { |
116 |
try {
|
117 |
if( this.rdbCheckIsCorrupt.isSelected() ) { |
118 |
CheckAction checkAction = (CheckAction)(this.cboActionIsCorrupt.getSelectedItem());
|
119 |
return checkAction.getCode();
|
120 |
} else if( this.rdbCheckIsValid.isSelected()) { |
121 |
CheckAction checkAction = (CheckAction)(this.cboActionIsValid.getSelectedItem());
|
122 |
return checkAction.getCode();
|
123 |
} else {
|
124 |
return ExporrtoJDBCService.ACTION_ABORT;
|
125 |
} |
126 |
} catch(Exception ex) { |
127 |
logger.warn("Can't get action for geometry check in export to JDBC.",ex);
|
128 |
return ExporrtoJDBCService.ACTION_ABORT;
|
129 |
} |
130 |
} |
131 |
|
132 |
public boolean getTryToFixGeometry() { |
133 |
return this.chkTryFixGeometry.isSelected(); |
134 |
} |
135 |
|
136 |
private void onChangeRadioButtons() { |
137 |
if( this.rdbCheckNone.isSelected() ) { |
138 |
this.cboActionIsCorrupt.setEnabled(false); |
139 |
this.cboActionIsValid.setEnabled(false); |
140 |
this.chkTryFixGeometry.setEnabled(false); |
141 |
} else if( this.rdbCheckIsCorrupt.isSelected() ) { |
142 |
this.cboActionIsCorrupt.setEnabled(true); |
143 |
this.cboActionIsValid.setEnabled(false); |
144 |
this.chkTryFixGeometry.setEnabled(false); |
145 |
} else if( this.rdbCheckIsValid.isSelected()) { |
146 |
this.cboActionIsCorrupt.setEnabled(false); |
147 |
this.cboActionIsValid.setEnabled(true); |
148 |
this.chkTryFixGeometry.setEnabled(true); |
149 |
} |
150 |
} |
151 |
} |