Revision 29351 branches/v2_0_0_prep/extensions/extNormalization/src/org/gvsig/normalization/gui/NormalizationPanel.java
NormalizationPanel.java | ||
---|---|---|
30 | 30 |
import java.awt.Component; |
31 | 31 |
import java.awt.event.ActionEvent; |
32 | 32 |
import java.awt.event.ActionListener; |
33 |
import java.awt.event.FocusEvent; |
|
34 |
import java.awt.event.FocusListener; |
|
35 |
import java.awt.event.ItemEvent; |
|
36 |
import java.awt.event.ItemListener; |
|
33 | 37 |
import java.awt.event.KeyEvent; |
34 | 38 |
import java.awt.event.KeyListener; |
35 | 39 |
import java.awt.event.MouseEvent; |
36 | 40 |
import java.awt.event.MouseListener; |
37 | 41 |
import java.io.File; |
42 |
import java.io.FileReader; |
|
43 |
import java.io.FileWriter; |
|
44 |
import java.io.IOException; |
|
45 |
import java.io.Writer; |
|
46 |
import java.text.DecimalFormatSymbols; |
|
47 |
import java.util.ArrayList; |
|
48 |
import java.util.Iterator; |
|
49 |
import java.util.List; |
|
50 |
import java.util.Locale; |
|
38 | 51 |
|
39 | 52 |
import javax.swing.BorderFactory; |
40 | 53 |
import javax.swing.ButtonGroup; |
... | ... | |
46 | 59 |
import javax.swing.JCheckBox; |
47 | 60 |
import javax.swing.JComboBox; |
48 | 61 |
import javax.swing.JComponent; |
62 |
import javax.swing.JFileChooser; |
|
49 | 63 |
import javax.swing.JLabel; |
50 | 64 |
import javax.swing.JList; |
65 |
import javax.swing.JOptionPane; |
|
51 | 66 |
import javax.swing.JPanel; |
52 | 67 |
import javax.swing.JRadioButton; |
53 | 68 |
import javax.swing.JScrollPane; |
54 | 69 |
import javax.swing.JTable; |
55 |
import javax.swing.JTextArea; |
|
56 | 70 |
import javax.swing.JTextField; |
71 |
import javax.swing.ListModel; |
|
57 | 72 |
import javax.swing.event.ChangeEvent; |
58 | 73 |
import javax.swing.event.ChangeListener; |
74 |
import javax.swing.event.ListSelectionEvent; |
|
75 |
import javax.swing.event.ListSelectionListener; |
|
59 | 76 |
import javax.swing.table.DefaultTableModel; |
77 |
import javax.swing.table.TableColumn; |
|
78 |
import javax.swing.table.TableModel; |
|
60 | 79 |
|
80 |
import org.gvsig.app.daltransform.gui.components.impl.FeatureTypeAttributesCombo; |
|
81 |
import org.gvsig.app.daltransform.gui.components.impl.FeatureTypeCombo; |
|
61 | 82 |
import org.gvsig.app.daltransform.gui.impl.AbstractDataTransformWizardPanel; |
83 |
import org.gvsig.fmap.dal.exception.DataException; |
|
84 |
import org.gvsig.fmap.dal.feature.Feature; |
|
85 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
|
86 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
87 |
import org.gvsig.normalization.algorithm.NormalizationAlgorithm; |
|
88 |
import org.gvsig.normalization.algorithm.impl.DefaultNormalizationAlgorithm; |
|
62 | 89 |
import org.gvsig.normalization.pattern.Datevalue; |
63 | 90 |
import org.gvsig.normalization.pattern.Decimalvalue; |
64 | 91 |
import org.gvsig.normalization.pattern.Element; |
... | ... | |
70 | 97 |
import org.gvsig.normalization.pattern.Stringvalue; |
71 | 98 |
import org.gvsig.normalization.pattern.impl.DefaultDatevalue; |
72 | 99 |
import org.gvsig.normalization.pattern.impl.DefaultDecimalvalue; |
100 |
import org.gvsig.normalization.pattern.impl.DefaultElement; |
|
73 | 101 |
import org.gvsig.normalization.pattern.impl.DefaultFieldseparator; |
74 | 102 |
import org.gvsig.normalization.pattern.impl.DefaultFieldtype; |
75 | 103 |
import org.gvsig.normalization.pattern.impl.DefaultInfieldseparators; |
76 | 104 |
import org.gvsig.normalization.pattern.impl.DefaultIntegervalue; |
105 |
import org.gvsig.normalization.pattern.impl.DefaultPatternnormalization; |
|
77 | 106 |
import org.gvsig.normalization.pattern.impl.DefaultStringvalue; |
107 |
import org.gvsig.tools.ToolsLocator; |
|
108 |
import org.gvsig.tools.persistence.PersistenceException; |
|
109 |
import org.gvsig.tools.persistence.PersistenceManager; |
|
110 |
import org.gvsig.tools.persistence.PersistentState; |
|
78 | 111 |
import org.slf4j.Logger; |
79 | 112 |
import org.slf4j.LoggerFactory; |
80 | 113 |
|
114 |
import sun.text.Normalizer; |
|
115 |
|
|
81 | 116 |
import com.iver.andami.PluginServices; |
82 |
import com.iver.andami.ui.mdiManager.IWindow;
|
|
83 |
import com.iver.andami.ui.mdiManager.WindowInfo;
|
|
117 |
import com.iver.utiles.GenericFileFilter;
|
|
118 |
import com.iver.utiles.XMLEntity;
|
|
84 | 119 |
|
85 | 120 |
/** |
86 | 121 |
* Normalization main panel |
... | ... | |
89 | 124 |
* @author <a href="mailto:vsanjaime@prodevelop.es"> Vicente Sanjaime Calvet</a> |
90 | 125 |
*/ |
91 | 126 |
public class NormalizationPanel extends AbstractDataTransformWizardPanel |
92 |
implements ActionListener, ChangeListener { |
|
127 |
implements ActionListener, ChangeListener, KeyListener, MouseListener, |
|
128 |
ListSelectionListener, ItemListener, FocusListener { |
|
93 | 129 |
|
130 |
// ATTRIBUTES |
|
94 | 131 |
private static final long serialVersionUID = -2882235643001676017L; |
95 |
|
|
96 | 132 |
private static final Logger log = LoggerFactory |
97 | 133 |
.getLogger(NormalizationPanel.class); |
134 |
private static final int SAMPLES = 3; |
|
135 |
private static final int WIDHT = 620; |
|
136 |
private static final int HEIGHT = 600; |
|
98 | 137 |
|
99 |
private NormalizationPanelController controller; |
|
100 |
private PluginServices ps; |
|
138 |
private Patternnormalization pattern; |
|
139 |
private int contador = 1; |
|
140 |
private String[] samples = new String[SAMPLES]; |
|
101 | 141 |
private boolean dirty = false; |
102 | 142 |
private int selectedField = 0; |
143 |
private String oldNumRows; |
|
103 | 144 |
|
104 |
/* GUI */ |
|
145 |
/* ATTRIBUTES GUI */
|
|
105 | 146 |
private ButtonGroup butGroupDelimiter; |
106 | 147 |
private ButtonGroup butGroupFieldType; |
107 |
private JButton jButCancel; |
|
108 | 148 |
private JButton jButAddField; |
109 | 149 |
private JButton jButDownField; |
110 | 150 |
private JButton jButRemoveField; |
111 | 151 |
private JButton jButUpField; |
112 | 152 |
private JButton jButLoad; |
113 |
private JButton jButRun; |
|
114 | 153 |
private JButton jButSave; |
115 | 154 |
private JButton jButTest; |
116 | 155 |
private JCheckBox jCheckFirstRow; |
117 |
private JCheckBox jChkColon;
|
|
156 |
private JCheckBox jChkComma;
|
|
118 | 157 |
private JCheckBox jChkDontImport; |
119 | 158 |
private JCheckBox jChkJoin; |
120 | 159 |
private JCheckBox jChkOther; |
... | ... | |
128 | 167 |
private JLabel jLabThousand; |
129 | 168 |
private JLabel jLabelSelFields; |
130 | 169 |
private JList jListFieldList; |
131 |
private JList jListOriginalFields; |
|
132 | 170 |
private JPanel jPanApply; |
133 |
private JPanel jPanConsole; |
|
134 | 171 |
private JPanel jPanFieldList; |
135 | 172 |
private JPanel jPanFieldName; |
136 | 173 |
private JPanel jPanFieldSeparators; |
... | ... | |
155 | 192 |
private JScrollPane jScrollPane2; |
156 | 193 |
private JScrollPane jScrollPaneFieldList; |
157 | 194 |
private JScrollPane jScrollPaneSource; |
158 |
private JTable jTableResult; |
|
159 |
private JTable jTableSource; |
|
160 |
private JTextArea jTextAreaConsole; |
|
195 |
private JTable jTableTest; |
|
196 |
private JTable jTableSamples; |
|
161 | 197 |
private JTextField jTextDecimal; |
162 | 198 |
private JTextField jTextNumberRows; |
163 | 199 |
private JLabel jLabelNumberRows; |
... | ... | |
166 | 202 |
private JTextField jTextOther; |
167 | 203 |
private JTextField jTextTextDelimiter; |
168 | 204 |
private JTextField jTextThousand; |
205 |
private FeatureTypeAttributesCombo jComboField; |
|
206 |
private FeatureTypeCombo jComboFieldType; |
|
207 |
private JPanel jPanField; |
|
208 |
private JLabel jLabelFieldType; |
|
209 |
private JLabel jLabelField; |
|
169 | 210 |
|
170 | 211 |
/** |
171 |
* Creates new form NormalizationPanel to normalize field of datastore |
|
172 |
* |
|
173 |
* @param control |
|
174 |
* @return panel |
|
212 |
* Constructor |
|
175 | 213 |
*/ |
176 |
public NormalizationPanel(NormalizationPanelController control) { |
|
177 |
this.controller = control; |
|
178 |
init(); |
|
179 |
} |
|
180 |
|
|
181 |
/** |
|
182 |
* This method sets the PluginServices and update the string and icons |
|
183 |
* |
|
184 |
* @param ps |
|
185 |
* PluginServices |
|
186 |
*/ |
|
187 |
public void setPs(PluginServices ps) { |
|
188 |
this.ps = ps; |
|
189 |
if (ps != null) { |
|
190 |
setMessages(); |
|
191 |
setImages(); |
|
192 |
} |
|
193 |
} |
|
194 |
|
|
195 |
/** |
|
196 |
* This method inserts the sample split strings into the Sample Table |
|
197 |
* |
|
198 |
* @param chains |
|
199 |
* array with strings |
|
200 |
*/ |
|
201 |
public void insertChainsInRowsTableSample(String[] chains) { |
|
202 |
|
|
203 |
DefaultTableModel dtm = new DefaultTableModel(); |
|
204 |
int nfil = dtm.getRowCount(); |
|
205 |
for (int i = 0; i < nfil; i++) { |
|
206 |
dtm.setValueAt(chains[0], i, 0); |
|
207 |
} |
|
208 |
jTableSource.setModel(dtm); |
|
209 |
} |
|
210 |
|
|
211 |
/** |
|
212 |
* Insert in the console the message |
|
213 |
* |
|
214 |
* @param e |
|
215 |
*/ |
|
216 |
public void stateChanged(ChangeEvent e) { |
|
217 |
String info = parseInfo(e.getSource().toString()); |
|
218 |
this.jTextAreaConsole.append(info); |
|
219 |
} |
|
220 |
|
|
221 |
/** |
|
222 |
* This method inserts the model in the list with the names of the fields of |
|
223 |
* the original table |
|
224 |
* |
|
225 |
* @param fieldsNames |
|
226 |
*/ |
|
227 |
public void insertFieldsCurrentTable(String[] fieldsNames) { |
|
228 |
DefaultListModel dcb = new DefaultListModel(); |
|
229 |
int cont = fieldsNames.length; |
|
230 |
for (int i = 0; i < cont; i++) { |
|
231 |
dcb.addElement(fieldsNames[i]); |
|
232 |
} |
|
233 |
this.jListOriginalFields.setModel(dcb); |
|
234 |
this.jListOriginalFields.setSelectedIndex(0); |
|
235 |
} |
|
236 |
|
|
237 |
/** |
|
238 |
* getWindowInfo |
|
239 |
* |
|
240 |
* @return windows properties |
|
241 |
*/ |
|
242 |
public WindowInfo getWindowInfo() { |
|
243 |
WindowInfo info = new WindowInfo(WindowInfo.MODALDIALOG |
|
244 |
| WindowInfo.RESIZABLE); |
|
245 |
info.setWidth(780); |
|
246 |
info.setHeight(620); |
|
247 |
info.setTitle(PluginServices.getText(this, "normalize")); |
|
248 |
return info; |
|
249 |
} |
|
250 |
|
|
251 |
/** |
|
252 |
* Initialize components and other custom code |
|
253 |
*/ |
|
254 |
private void init() { |
|
255 |
|
|
214 |
public NormalizationPanel() { |
|
256 | 215 |
/* Initialize components GUI */ |
257 | 216 |
initComponents(); |
258 |
|
|
259 |
/* Final initialize methods to set up the GUI */ |
|
260 |
updateGUI(); |
|
261 |
|
|
262 |
jListOriginalFields.setEnabled(false); |
|
217 |
setMessages(); |
|
218 |
setImages(); |
|
219 |
// load default pattern |
|
220 |
pattern = initializeDefaultPattern(); |
|
221 |
// update GUI |
|
222 |
refreshFieldsList(); |
|
263 | 223 |
} |
264 | 224 |
|
265 | 225 |
/** |
... | ... | |
268 | 228 |
private void initComponents() { |
269 | 229 |
java.awt.GridBagConstraints gridBagConstraints; |
270 | 230 |
|
231 |
jPanField = new JPanel(); |
|
232 |
jLabelField = new JLabel(); |
|
233 |
jComboField = new FeatureTypeAttributesCombo(); |
|
234 |
jLabelFieldType = new JLabel(); |
|
235 |
jComboFieldType = new FeatureTypeCombo(); |
|
271 | 236 |
butGroupDelimiter = new javax.swing.ButtonGroup(); |
272 | 237 |
butGroupFieldType = new javax.swing.ButtonGroup(); |
273 | 238 |
jPanSampleOutput = new javax.swing.JPanel(); |
274 | 239 |
jScrollPane2 = new javax.swing.JScrollPane(); |
275 |
jTableResult = new javax.swing.JTable();
|
|
240 |
jTableTest = new javax.swing.JTable();
|
|
276 | 241 |
jPanSource = new javax.swing.JPanel(); |
277 | 242 |
jScrollPaneSource = new javax.swing.JScrollPane(); |
278 |
jTableSource = new javax.swing.JTable();
|
|
243 |
jTableSamples = new javax.swing.JTable();
|
|
279 | 244 |
jPanFirstRow = new javax.swing.JPanel(); |
280 | 245 |
jCheckFirstRow = new javax.swing.JCheckBox(); |
281 | 246 |
jTextNumberRows = new javax.swing.JTextField(); |
... | ... | |
299 | 264 |
jPanFieldSeparators = new javax.swing.JPanel(); |
300 | 265 |
jChkTab = new javax.swing.JCheckBox(); |
301 | 266 |
jChkSpace = new javax.swing.JCheckBox(); |
302 |
jChkColon = new javax.swing.JCheckBox();
|
|
267 |
jChkComma = new javax.swing.JCheckBox();
|
|
303 | 268 |
jChkSemicolon = new javax.swing.JCheckBox(); |
304 | 269 |
jChkOther = new javax.swing.JCheckBox(); |
305 | 270 |
jTextOther = new javax.swing.JTextField(); |
... | ... | |
325 | 290 |
jRadioAlterTable = new javax.swing.JRadioButton(); |
326 | 291 |
jRadioNewTable = new javax.swing.JRadioButton(); |
327 | 292 |
jLabelSelFields = new javax.swing.JLabel(); |
328 |
jListOriginalFields = new javax.swing.JList(); |
|
329 |
jPanConsole = new javax.swing.JPanel(); |
|
330 |
jTextAreaConsole = new javax.swing.JTextArea(); |
|
331 | 293 |
jButLoad = new javax.swing.JButton(); |
332 |
jButRun = new javax.swing.JButton(); |
|
333 |
jButCancel = new javax.swing.JButton(); |
|
334 | 294 |
jButSave = new javax.swing.JButton(); |
335 | 295 |
|
336 |
setMinimumSize(new java.awt.Dimension(600, 620)); |
|
337 |
setPreferredSize(new java.awt.Dimension(600, 620)); |
|
338 |
addFocusListener(new java.awt.event.FocusAdapter() { |
|
339 |
public void focusGained(java.awt.event.FocusEvent evt) { |
|
340 |
mainPanelGetFocus(evt); |
|
341 |
} |
|
342 |
}); |
|
296 |
setMinimumSize(new java.awt.Dimension(WIDHT, HEIGHT)); |
|
297 |
setPreferredSize(new java.awt.Dimension(WIDHT, HEIGHT)); |
|
298 |
addFocusListener(this); |
|
343 | 299 |
setLayout(new java.awt.GridBagLayout()); |
344 | 300 |
|
345 | 301 |
jPanSampleOutput.setBorder(javax.swing.BorderFactory |
... | ... | |
352 | 308 |
jScrollPane2.setMinimumSize(new java.awt.Dimension(100, 90)); |
353 | 309 |
jScrollPane2.setPreferredSize(new java.awt.Dimension(100, 90)); |
354 | 310 |
|
355 |
jTableResult.setFont(new java.awt.Font("Courier New", 0, 11));
|
|
356 |
jTableResult.setModel(new javax.swing.table.DefaultTableModel(
|
|
311 |
jTableTest.setFont(new java.awt.Font("Courier New", 0, 11));
|
|
312 |
jTableTest.setModel(new javax.swing.table.DefaultTableModel(
|
|
357 | 313 |
new Object[][] { {}, {}, {} }, new String[] { |
358 | 314 |
|
359 | 315 |
})); |
360 |
jTableResult.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); |
|
361 |
jTableResult.setEnabled(false); |
|
362 |
jScrollPane2.setViewportView(jTableResult); |
|
316 |
jTableTest.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); |
|
317 |
jTableTest.setEnabled(false); |
|
318 |
jTableTest.setRowSelectionAllowed(false); |
|
319 |
jScrollPane2.setViewportView(jTableTest); |
|
363 | 320 |
|
364 | 321 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
365 | 322 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
366 | 323 |
gridBagConstraints.weightx = 1.0; |
324 |
gridBagConstraints.weighty = 1.0; |
|
367 | 325 |
jPanSampleOutput.add(jScrollPane2, gridBagConstraints); |
368 | 326 |
|
369 | 327 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
... | ... | |
371 | 329 |
gridBagConstraints.gridy = 2; |
372 | 330 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
373 | 331 |
gridBagConstraints.weightx = 1.0; |
374 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
332 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 4, 3);
|
|
375 | 333 |
add(jPanSampleOutput, gridBagConstraints); |
376 | 334 |
|
377 | 335 |
jPanSource.setBorder(javax.swing.BorderFactory |
... | ... | |
382 | 340 |
jScrollPaneSource.setMinimumSize(new java.awt.Dimension(100, 90)); |
383 | 341 |
jScrollPaneSource.setPreferredSize(new java.awt.Dimension(100, 90)); |
384 | 342 |
|
385 |
jTableSource.setFont(new java.awt.Font("Courier New", 0, 11)); |
|
386 |
jTableSource.setModel(new DefaultTableModel()); |
|
387 |
jTableSource.getTableHeader().setReorderingAllowed(false); |
|
388 |
jScrollPaneSource.setViewportView(jTableSource); |
|
343 |
jPanField.setLayout(new java.awt.GridBagLayout()); |
|
389 | 344 |
|
345 |
jLabelFieldType.setText("selectFieldType"); |
|
390 | 346 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
391 | 347 |
gridBagConstraints.gridx = 0; |
392 | 348 |
gridBagConstraints.gridy = 0; |
349 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 6); |
|
350 |
jPanField.add(jLabelFieldType, gridBagConstraints); |
|
351 |
|
|
352 |
jComboFieldType.setMinimumSize(new java.awt.Dimension(100, 20)); |
|
353 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
|
354 |
gridBagConstraints.gridx = 1; |
|
355 |
gridBagConstraints.gridy = 0; |
|
356 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
|
357 |
gridBagConstraints.weightx = 1.0; |
|
358 |
gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 0); |
|
359 |
jPanField.add(jComboFieldType, gridBagConstraints); |
|
360 |
|
|
361 |
jLabelField.setText("selectField"); |
|
362 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
|
363 |
gridBagConstraints.gridx = 0; |
|
364 |
gridBagConstraints.gridy = 1; |
|
365 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 6); |
|
366 |
jPanField.add(jLabelField, gridBagConstraints); |
|
367 |
|
|
368 |
jComboField.setMinimumSize(new java.awt.Dimension(100, 20)); |
|
369 |
jComboField.addActionListener(this); |
|
370 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
|
371 |
gridBagConstraints.gridx = 1; |
|
372 |
gridBagConstraints.gridy = 1; |
|
373 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
|
374 |
gridBagConstraints.weightx = 1.0; |
|
375 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0); |
|
376 |
jPanField.add(jComboField, gridBagConstraints); |
|
377 |
|
|
378 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
|
379 |
gridBagConstraints.gridx = 0; |
|
380 |
gridBagConstraints.gridy = 0; |
|
381 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
|
382 |
gridBagConstraints.weightx = 1.0; |
|
383 |
gridBagConstraints.insets = new java.awt.Insets(1, 15, 4, 25); |
|
384 |
jPanSource.add(jPanField, gridBagConstraints); |
|
385 |
|
|
386 |
jTableSamples.setFont(new java.awt.Font("Courier New", 0, 11)); |
|
387 |
jTableSamples.setModel(new DefaultTableModel()); |
|
388 |
jTableSamples.getTableHeader().setReorderingAllowed(false); |
|
389 |
jTableSamples.setRowSelectionAllowed(false); |
|
390 |
jScrollPaneSource.setViewportView(jTableSamples); |
|
391 |
|
|
392 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
|
393 |
gridBagConstraints.gridx = 0; |
|
394 |
gridBagConstraints.gridy = 1; |
|
393 | 395 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
394 | 396 |
gridBagConstraints.weightx = 1.0; |
395 | 397 |
gridBagConstraints.weighty = 1.0; |
... | ... | |
400 | 402 |
jCheckFirstRow.setText("Don't normalize the first row"); |
401 | 403 |
jCheckFirstRow.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); |
402 | 404 |
jCheckFirstRow.setSelected(false); |
403 |
jCheckFirstRow.addActionListener(new java.awt.event.ActionListener() { |
|
404 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
405 |
EvCheckFirstRow(evt); |
|
406 |
} |
|
407 |
}); |
|
405 |
jCheckFirstRow.addActionListener(this); |
|
408 | 406 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
409 | 407 |
gridBagConstraints.gridx = 0; |
410 | 408 |
gridBagConstraints.gridy = 0; |
... | ... | |
419 | 417 |
jTextNumberRows.setMaximumSize(new java.awt.Dimension(30, 18)); |
420 | 418 |
jTextNumberRows.setMinimumSize(new java.awt.Dimension(30, 18)); |
421 | 419 |
jTextNumberRows.setPreferredSize(new java.awt.Dimension(30, 18)); |
422 |
|
|
423 |
jTextNumberRows.addKeyListener(new java.awt.event.KeyAdapter() { |
|
424 |
public void keyReleased(java.awt.event.KeyEvent evt) { |
|
425 |
firstRowsvalueChange(); |
|
426 |
} |
|
427 |
}); |
|
420 |
jTextNumberRows.addKeyListener(this); |
|
428 | 421 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
429 | 422 |
gridBagConstraints.gridx = 1; |
430 | 423 |
gridBagConstraints.gridy = 0; |
... | ... | |
444 | 437 |
|
445 | 438 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
446 | 439 |
gridBagConstraints.gridx = 0; |
447 |
gridBagConstraints.gridy = 1;
|
|
440 |
gridBagConstraints.gridy = 2;
|
|
448 | 441 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
449 | 442 |
gridBagConstraints.weightx = 1.0; |
450 | 443 |
jPanSource.add(jPanFirstRow, gridBagConstraints); |
... | ... | |
454 | 447 |
gridBagConstraints.gridy = 0; |
455 | 448 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
456 | 449 |
gridBagConstraints.weightx = 1.0; |
457 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); |
|
450 |
gridBagConstraints.weighty = 1.0; |
|
451 |
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); |
|
458 | 452 |
add(jPanSource, gridBagConstraints); |
459 | 453 |
|
460 | 454 |
jPanFields.setLayout(new java.awt.GridBagLayout()); |
... | ... | |
467 | 461 |
|
468 | 462 |
jListFieldList |
469 | 463 |
.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); |
470 |
jListFieldList.addMouseListener(new MouseListener() { |
|
471 |
public void mouseClicked(MouseEvent e) { |
|
472 |
} |
|
473 |
|
|
474 |
public void mouseEntered(MouseEvent e) { |
|
475 |
} |
|
476 |
|
|
477 |
public void mouseExited(MouseEvent e) { |
|
478 |
} |
|
479 |
|
|
480 |
public void mousePressed(MouseEvent e) { |
|
481 |
selectedField = jListFieldList.getSelectedIndex(); |
|
482 |
} |
|
483 |
|
|
484 |
public void mouseReleased(MouseEvent e) { |
|
485 |
} |
|
486 |
}); |
|
487 |
jListFieldList |
|
488 |
.addListSelectionListener(new javax.swing.event.ListSelectionListener() { |
|
489 |
public void valueChanged( |
|
490 |
javax.swing.event.ListSelectionEvent evt) { |
|
491 |
jListFieldListValueChanged(evt); |
|
492 |
} |
|
493 |
}); |
|
464 |
jListFieldList.addMouseListener(this); |
|
465 |
jListFieldList.addListSelectionListener(this); |
|
494 | 466 |
jScrollPaneFieldList.setViewportView(jListFieldList); |
495 |
|
|
496 | 467 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
497 | 468 |
gridBagConstraints.gridx = 0; |
498 | 469 |
gridBagConstraints.gridy = 0; |
... | ... | |
507 | 478 |
jButAddField.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
508 | 479 |
jButAddField.setMaximumSize(new java.awt.Dimension(30, 30)); |
509 | 480 |
jButAddField.setMinimumSize(new java.awt.Dimension(30, 30)); |
510 |
jButAddField.addActionListener(new java.awt.event.ActionListener() { |
|
511 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
512 |
ActionButtonAddField(evt); |
|
513 |
} |
|
514 |
}); |
|
481 |
jButAddField.addActionListener(this); |
|
515 | 482 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
516 | 483 |
gridBagConstraints.gridx = 1; |
517 | 484 |
gridBagConstraints.gridy = 2; |
518 | 485 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; |
519 | 486 |
gridBagConstraints.weighty = 1.0; |
520 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
487 |
gridBagConstraints.insets = new java.awt.Insets(0, 2, 5, 2);
|
|
521 | 488 |
jPanFieldList.add(jButAddField, gridBagConstraints); |
522 | 489 |
|
523 | 490 |
jButRemoveField.setBorderPainted(false); |
524 | 491 |
jButRemoveField.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
525 | 492 |
jButRemoveField.setMaximumSize(new java.awt.Dimension(30, 30)); |
526 |
jButRemoveField.addActionListener(new java.awt.event.ActionListener() { |
|
527 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
528 |
ActionButtonRemove(evt); |
|
529 |
} |
|
530 |
}); |
|
493 |
jButRemoveField.addActionListener(this); |
|
531 | 494 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
532 | 495 |
gridBagConstraints.gridx = 1; |
533 | 496 |
gridBagConstraints.gridy = 3; |
534 | 497 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; |
535 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
498 |
gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 2);
|
|
536 | 499 |
jPanFieldList.add(jButRemoveField, gridBagConstraints); |
537 | 500 |
|
538 | 501 |
jButUpField.setForeground(java.awt.SystemColor.activeCaptionBorder); |
539 |
|
|
540 | 502 |
jButUpField.setBorderPainted(false); |
541 | 503 |
jButUpField.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
542 | 504 |
jButUpField.setMaximumSize(new java.awt.Dimension(30, 30)); |
543 |
jButUpField.addActionListener(new java.awt.event.ActionListener() { |
|
544 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
545 |
ActionButtonUp(evt); |
|
546 |
} |
|
547 |
}); |
|
505 |
jButUpField.addActionListener(this); |
|
548 | 506 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
549 | 507 |
gridBagConstraints.gridx = 1; |
550 | 508 |
gridBagConstraints.gridy = 0; |
551 | 509 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; |
552 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5);
|
|
510 |
gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 2);
|
|
553 | 511 |
jPanFieldList.add(jButUpField, gridBagConstraints); |
554 | 512 |
|
555 | 513 |
jButDownField.setBorderPainted(false); |
556 | 514 |
jButDownField.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
557 | 515 |
jButDownField.setMaximumSize(new java.awt.Dimension(30, 30)); |
558 | 516 |
jButDownField.setMinimumSize(new java.awt.Dimension(30, 30)); |
559 |
jButDownField.addActionListener(new java.awt.event.ActionListener() { |
|
560 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
561 |
ActionButtonDown(evt); |
|
562 |
} |
|
563 |
}); |
|
517 |
jButDownField.addActionListener(this); |
|
564 | 518 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
565 | 519 |
gridBagConstraints.gridx = 1; |
566 | 520 |
gridBagConstraints.gridy = 1; |
567 | 521 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; |
568 | 522 |
gridBagConstraints.weighty = 1.0; |
569 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
|
|
523 |
gridBagConstraints.insets = new java.awt.Insets(5, 2, 0, 2);
|
|
570 | 524 |
jPanFieldList.add(jButDownField, gridBagConstraints); |
571 | 525 |
|
572 | 526 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
... | ... | |
588 | 542 |
jRadioString.setSelected(true); |
589 | 543 |
jRadioString.setText("String"); |
590 | 544 |
jRadioString.setAlignmentY(1.0F); |
591 |
jRadioString.addActionListener(new java.awt.event.ActionListener() { |
|
592 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
593 |
updateStringType(evt); |
|
594 |
} |
|
595 |
}); |
|
545 |
jRadioString.addActionListener(this); |
|
596 | 546 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
597 | 547 |
gridBagConstraints.gridx = 0; |
598 | 548 |
gridBagConstraints.gridy = 0; |
599 | 549 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
600 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
550 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);
|
|
601 | 551 |
jPanFieldType.add(jRadioString, gridBagConstraints); |
602 | 552 |
|
603 | 553 |
butGroupFieldType.add(jRadioInteger); |
604 | 554 |
jRadioInteger.setText("Integer"); |
605 |
jRadioInteger.addActionListener(new java.awt.event.ActionListener() { |
|
606 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
607 |
updateIntegerType(evt); |
|
608 |
} |
|
609 |
}); |
|
555 |
jRadioInteger.addActionListener(this); |
|
610 | 556 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
611 | 557 |
gridBagConstraints.gridx = 0; |
612 | 558 |
gridBagConstraints.gridy = 1; |
613 | 559 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
614 | 560 |
gridBagConstraints.weighty = 1.0; |
615 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
561 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);
|
|
616 | 562 |
jPanFieldType.add(jRadioInteger, gridBagConstraints); |
617 | 563 |
|
618 | 564 |
butGroupFieldType.add(jRadioDecimal); |
619 | 565 |
jRadioDecimal.setText("Decimal"); |
620 |
jRadioDecimal.addActionListener(new java.awt.event.ActionListener() { |
|
621 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
622 |
updateDecimalType(evt); |
|
623 |
} |
|
624 |
}); |
|
566 |
jRadioDecimal.addActionListener(this); |
|
625 | 567 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
626 | 568 |
gridBagConstraints.gridx = 0; |
627 | 569 |
gridBagConstraints.gridy = 2; |
628 | 570 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
629 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
571 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);
|
|
630 | 572 |
jPanFieldType.add(jRadioDecimal, gridBagConstraints); |
631 | 573 |
|
632 | 574 |
butGroupFieldType.add(jRadioDate); |
633 | 575 |
jRadioDate.setText("Date"); |
634 |
jRadioDate.addItemListener(new java.awt.event.ItemListener() { |
|
635 |
public void itemStateChanged(java.awt.event.ItemEvent evt) { |
|
636 |
dateStateChanged(evt); |
|
637 |
} |
|
638 |
}); |
|
576 |
jRadioDate.addItemListener(this); |
|
639 | 577 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
640 | 578 |
gridBagConstraints.gridx = 0; |
641 | 579 |
gridBagConstraints.gridy = 3; |
642 | 580 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
643 | 581 |
gridBagConstraints.weighty = 1.0; |
644 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
582 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);
|
|
645 | 583 |
jPanFieldType.add(jRadioDate, gridBagConstraints); |
646 | 584 |
|
647 | 585 |
jComboDate.setEditable(true); |
... | ... | |
649 | 587 |
"dd/MM/yy", "dd/MM/yyyy", "MM/dd/yyyy", "yyyy/MM/dd", |
650 | 588 |
"yy/MM/dd" })); |
651 | 589 |
jComboDate.setEnabled(false); |
652 |
jComboDate.addActionListener(new java.awt.event.ActionListener() { |
|
653 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
654 |
ActionListDateFormat(evt); |
|
655 |
} |
|
656 |
}); |
|
590 |
jComboDate.addActionListener(this); |
|
657 | 591 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
658 | 592 |
gridBagConstraints.gridx = 0; |
659 | 593 |
gridBagConstraints.gridy = 4; |
660 | 594 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
661 | 595 |
gridBagConstraints.weightx = 1.0; |
662 | 596 |
gridBagConstraints.weighty = 1.0; |
663 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
597 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);
|
|
664 | 598 |
jPanFieldType.add(jComboDate, gridBagConstraints); |
665 | 599 |
|
666 | 600 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
... | ... | |
681 | 615 |
jPanFieldSeparators.setLayout(new java.awt.GridBagLayout()); |
682 | 616 |
|
683 | 617 |
jChkTab.setText("Tab"); |
684 |
jChkTab.addActionListener(new java.awt.event.ActionListener() { |
|
685 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
686 |
ActionTab(evt); |
|
687 |
} |
|
688 |
}); |
|
618 |
jChkTab.addActionListener(this); |
|
689 | 619 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
690 | 620 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
691 | 621 |
jPanFieldSeparators.add(jChkTab, gridBagConstraints); |
692 | 622 |
|
693 | 623 |
jChkSpace.setText("Space"); |
694 |
jChkSpace.addActionListener(new java.awt.event.ActionListener() { |
|
695 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
696 |
ActionSpace(evt); |
|
697 |
} |
|
698 |
}); |
|
624 |
jChkSpace.addActionListener(this); |
|
699 | 625 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
700 | 626 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
701 | 627 |
jPanFieldSeparators.add(jChkSpace, gridBagConstraints); |
702 | 628 |
|
703 |
jChkColon.setText("Colon"); |
|
704 |
jChkColon.addActionListener(new java.awt.event.ActionListener() { |
|
705 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
706 |
ActionColon(evt); |
|
707 |
} |
|
708 |
}); |
|
629 |
jChkComma.setText("Comma"); |
|
630 |
jChkComma.addActionListener(this); |
|
709 | 631 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
710 | 632 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
711 |
jPanFieldSeparators.add(jChkColon, gridBagConstraints);
|
|
633 |
jPanFieldSeparators.add(jChkComma, gridBagConstraints);
|
|
712 | 634 |
|
713 | 635 |
jChkSemicolon.setText("Semicolon"); |
714 |
jChkSemicolon.addActionListener(new java.awt.event.ActionListener() { |
|
715 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
716 |
ActionSemicolon(evt); |
|
717 |
} |
|
718 |
}); |
|
636 |
jChkSemicolon.addActionListener(this); |
|
719 | 637 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
720 | 638 |
gridBagConstraints.gridy = 1; |
721 | 639 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
722 | 640 |
jPanFieldSeparators.add(jChkSemicolon, gridBagConstraints); |
723 | 641 |
|
724 | 642 |
jChkOther.setText("Other"); |
725 |
jChkOther.addActionListener(new java.awt.event.ActionListener() { |
|
726 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
727 |
enableOtherText(evt); |
|
728 |
} |
|
729 |
}); |
|
643 |
jChkOther.addActionListener(this); |
|
730 | 644 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
731 | 645 |
gridBagConstraints.gridy = 1; |
732 | 646 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
... | ... | |
735 | 649 |
jTextOther.setEditable(false); |
736 | 650 |
jTextOther.setMinimumSize(new java.awt.Dimension(30, 20)); |
737 | 651 |
jTextOther.setPreferredSize(new java.awt.Dimension(30, 20)); |
738 |
jTextOther.addActionListener(new java.awt.event.ActionListener() { |
|
739 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
740 |
ActionTextOther(evt); |
|
741 |
} |
|
742 |
}); |
|
652 |
jTextOther.addActionListener(this); |
|
743 | 653 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
744 | 654 |
gridBagConstraints.gridy = 1; |
745 | 655 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
746 | 656 |
jPanFieldSeparators.add(jTextOther, gridBagConstraints); |
747 | 657 |
|
748 | 658 |
jChkJoin.setText("Join consecutive delimiters "); |
749 |
jChkJoin.addActionListener(new java.awt.event.ActionListener() { |
|
750 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
751 |
ActionJoinSep(evt); |
|
752 |
} |
|
753 |
}); |
|
659 |
jChkJoin.addActionListener(this); |
|
754 | 660 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
755 | 661 |
gridBagConstraints.gridx = 0; |
756 | 662 |
gridBagConstraints.gridy = 3; |
... | ... | |
770 | 676 |
|
771 | 677 |
butGroupDelimiter.add(jRadioFixed); |
772 | 678 |
jRadioFixed.setText("Fixed width"); |
773 |
jRadioFixed.addActionListener(new java.awt.event.ActionListener() { |
|
774 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
775 |
fixedWidthEnable(evt); |
|
776 |
} |
|
777 |
}); |
|
679 |
jRadioFixed.addActionListener(this); |
|
778 | 680 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
779 | 681 |
gridBagConstraints.gridx = 1; |
780 | 682 |
gridBagConstraints.gridy = 0; |
... | ... | |
784 | 686 |
butGroupDelimiter.add(jRadioCharacter); |
785 | 687 |
jRadioCharacter.setSelected(true); |
786 | 688 |
jRadioCharacter.setText("Character"); |
787 |
jRadioCharacter.addActionListener(new java.awt.event.ActionListener() { |
|
788 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
789 |
charDelimitedEnable(evt); |
|
790 |
} |
|
791 |
}); |
|
689 |
jRadioCharacter.addActionListener(this); |
|
792 | 690 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
793 | 691 |
gridBagConstraints.gridx = 0; |
794 | 692 |
gridBagConstraints.gridy = 0; |
... | ... | |
800 | 698 |
jTextFieldWidth.setInputVerifier(new IntVerifier()); |
801 | 699 |
jTextFieldWidth.setMinimumSize(new java.awt.Dimension(40, 20)); |
802 | 700 |
jTextFieldWidth.setPreferredSize(new java.awt.Dimension(40, 20)); |
803 |
jTextFieldWidth.addKeyListener(new KeyListener() { |
|
804 |
public void keyPressed(KeyEvent evt) { |
|
805 |
} |
|
806 |
|
|
807 |
public void keyTyped(KeyEvent evt) { |
|
808 |
} |
|
809 |
|
|
810 |
public void keyReleased(KeyEvent e) { |
|
811 |
ActionTextFixedWidth(e); |
|
812 |
} |
|
813 |
}); |
|
701 |
jTextFieldWidth.addKeyListener(this); |
|
814 | 702 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
815 | 703 |
gridBagConstraints.gridx = 2; |
816 | 704 |
gridBagConstraints.gridy = 0; |
... | ... | |
827 | 715 |
jPanFieldName.setLayout(new java.awt.GridBagLayout()); |
828 | 716 |
|
829 | 717 |
jChkDontImport.setText("Don't import"); |
830 |
jChkDontImport.addActionListener(new java.awt.event.ActionListener() { |
|
831 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
832 |
ActionDontImport(evt); |
|
833 |
} |
|
834 |
}); |
|
718 |
jChkDontImport.addActionListener(this); |
|
835 | 719 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
836 | 720 |
gridBagConstraints.gridx = 3; |
837 | 721 |
gridBagConstraints.insets = new java.awt.Insets(5, 15, 5, 5); |
... | ... | |
847 | 731 |
jTextFieldName.setText("Field1"); |
848 | 732 |
jTextFieldName.setMinimumSize(new java.awt.Dimension(100, 20)); |
849 | 733 |
jTextFieldName.setPreferredSize(new java.awt.Dimension(100, 20)); |
850 |
jTextFieldName.addKeyListener(new KeyListener() { |
|
851 |
public void keyPressed(KeyEvent e) { |
|
852 |
} |
|
853 |
|
|
854 |
public void keyReleased(KeyEvent e) { |
|
855 |
KeyChangesFieldName(e); |
|
856 |
} |
|
857 |
|
|
858 |
public void keyTyped(KeyEvent e) { |
|
859 |
} |
|
860 |
}); |
|
734 |
jTextFieldName.addKeyListener(this); |
|
861 | 735 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
862 | 736 |
gridBagConstraints.gridx = 1; |
863 | 737 |
gridBagConstraints.gridy = 0; |
... | ... | |
879 | 753 |
jPanApply.setLayout(new java.awt.GridBagLayout()); |
880 | 754 |
|
881 | 755 |
jButSave.setText("Save"); |
882 |
jButSave.addActionListener(new java.awt.event.ActionListener() { |
|
883 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
884 |
jButSaveActionPerformed(evt); |
|
885 |
} |
|
886 |
}); |
|
756 |
jButSave.setEnabled(false); |
|
757 |
jButSave.addActionListener(this); |
|
887 | 758 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
888 | 759 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
889 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
|
|
760 |
gridBagConstraints.insets = new java.awt.Insets(3, 3, 0, 3);
|
|
890 | 761 |
gridBagConstraints.gridx = 0; |
891 | 762 |
gridBagConstraints.gridy = 0; |
892 | 763 |
jPanApply.add(jButSave, gridBagConstraints); |
893 | 764 |
|
894 | 765 |
jButLoad.setText("Load"); |
895 |
jButLoad.addActionListener(new java.awt.event.ActionListener() { |
|
896 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
897 |
jButLoadActionPerformed(evt); |
|
898 |
} |
|
899 |
}); |
|
766 |
jButLoad.setEnabled(false); |
|
767 |
jButLoad.addActionListener(this); |
|
900 | 768 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
901 | 769 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
902 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
|
|
770 |
gridBagConstraints.insets = new java.awt.Insets(3, 3, 0, 3);
|
|
903 | 771 |
gridBagConstraints.gridx = 0; |
904 | 772 |
gridBagConstraints.gridy = 1; |
905 | 773 |
jPanApply.add(jButLoad, gridBagConstraints); |
906 | 774 |
|
907 | 775 |
jButTest.setText("Test"); |
908 |
jButTest.addActionListener(new java.awt.event.ActionListener() { |
|
909 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
910 |
testNormalizer(evt); |
|
911 |
} |
|
912 |
}); |
|
776 |
jButTest.addActionListener(this); |
|
913 | 777 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
914 | 778 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
915 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
|
|
779 |
gridBagConstraints.insets = new java.awt.Insets(3, 3, 0, 3);
|
|
916 | 780 |
gridBagConstraints.gridx = 0; |
917 | 781 |
gridBagConstraints.gridy = 2; |
918 | 782 |
jPanApply.add(jButTest, gridBagConstraints); |
... | ... | |
938 | 802 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
939 | 803 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
940 | 804 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
941 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 15);
|
|
805 |
gridBagConstraints.insets = new java.awt.Insets(5, 3, 0, 10);
|
|
942 | 806 |
jPanInField.add(jLabDecimal, gridBagConstraints); |
943 | 807 |
|
944 | 808 |
jTextDecimal.setText("."); |
945 | 809 |
jTextDecimal.setInputVerifier(new CharVerifier()); |
946 | 810 |
jTextDecimal.setMinimumSize(new java.awt.Dimension(30, 20)); |
947 | 811 |
jTextDecimal.setPreferredSize(new java.awt.Dimension(30, 20)); |
948 |
jTextDecimal.addFocusListener(new java.awt.event.FocusAdapter() { |
|
949 |
public void focusLost(java.awt.event.FocusEvent evt) { |
|
950 |
ActionDecimal(evt); |
|
951 |
} |
|
952 |
}); |
|
812 |
jTextDecimal.addFocusListener(this); |
|
953 | 813 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
954 | 814 |
gridBagConstraints.gridx = 1; |
955 | 815 |
gridBagConstraints.gridy = 0; |
956 | 816 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
957 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 5);
|
|
817 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 3);
|
|
958 | 818 |
jPanInField.add(jTextDecimal, gridBagConstraints); |
959 | 819 |
|
960 | 820 |
jLabThousand.setText("Thousand"); |
... | ... | |
963 | 823 |
gridBagConstraints.gridy = 1; |
964 | 824 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
965 | 825 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
966 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 15);
|
|
826 |
gridBagConstraints.insets = new java.awt.Insets(5, 3, 0, 10);
|
|
967 | 827 |
jPanInField.add(jLabThousand, gridBagConstraints); |
968 | 828 |
|
969 | 829 |
jTextThousand.setText(null); |
970 | 830 |
jTextThousand.setPreferredSize(new java.awt.Dimension(30, 20)); |
971 |
jTextThousand.addFocusListener(new java.awt.event.FocusAdapter() { |
|
972 |
public void focusLost(java.awt.event.FocusEvent evt) { |
|
973 |
ActionThousand(evt); |
|
974 |
} |
|
975 |
}); |
|
831 |
jTextThousand.addFocusListener(this); |
|
976 | 832 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
977 | 833 |
gridBagConstraints.gridx = 1; |
978 | 834 |
gridBagConstraints.gridy = 1; |
979 | 835 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
980 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 5);
|
|
836 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 3);
|
|
981 | 837 |
jPanInField.add(jTextThousand, gridBagConstraints); |
982 | 838 |
|
983 | 839 |
jLabTextDel.setText("Text:"); |
... | ... | |
986 | 842 |
gridBagConstraints.gridy = 2; |
987 | 843 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
988 | 844 |
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
989 |
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 15);
|
|
845 |
gridBagConstraints.insets = new java.awt.Insets(5, 3, 0, 10);
|
|
990 | 846 |
jPanInField.add(jLabTextDel, gridBagConstraints); |
991 | 847 |
|
992 | 848 |
jTextTextDelimiter.setHorizontalAlignment(javax.swing.JTextField.RIGHT); |
993 | 849 |
jTextTextDelimiter.setText("\""); |
994 | 850 |
jTextTextDelimiter.setPreferredSize(new java.awt.Dimension(30, 20)); |
995 |
jTextTextDelimiter.addFocusListener(new java.awt.event.FocusAdapter() { |
|
996 |
public void focusLost(java.awt.event.FocusEvent evt) { |
|
997 |
ActionTextText(evt); |
|
998 |
} |
|
999 |
}); |
|
851 |
jTextTextDelimiter.addFocusListener(this); |
|
1000 | 852 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
1001 | 853 |
gridBagConstraints.gridx = 1; |
1002 | 854 |
gridBagConstraints.gridy = 2; |
1003 | 855 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
1004 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 5);
|
|
856 |
gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 3);
|
|
1005 | 857 |
jPanInField.add(jTextTextDelimiter, gridBagConstraints); |
1006 | 858 |
|
1007 | 859 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
... | ... | |
1020 | 872 |
gridBagConstraints.gridx = 0; |
1021 | 873 |
gridBagConstraints.gridy = 1; |
1022 | 874 |
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
1023 |
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
|
875 |
gridBagConstraints.insets = new java.awt.Insets(0, 3, 3, 3);
|
|
1024 | 876 |
add(jPanFields, gridBagConstraints); |
1025 |
|
|
1026 | 877 |
} |
1027 | 878 |
|
1028 |
// ***************************************** |
|
1029 |
// PANEL EVENTS |
|
1030 |
|
|
1031 | 879 |
/** |
1032 |
* This method runs when check FirstRow is selected or deselected |
|
1033 |
* |
|
1034 |
* @param evt |
|
880 |
* This method updates panel labels (Internationalization) |
|
1035 | 881 |
*/ |
1036 |
private void EvCheckFirstRow(java.awt.event.ActionEvent evt) { |
|
1037 |
/* DON'T Normalize the first rows */ |
|
1038 |
if (jCheckFirstRow.isSelected()) { |
|
1039 |
jTextNumberRows.setText("1"); |
|
1040 |
jTextNumberRows.setEditable(true); |
|
1041 |
controller |
|
1042 |
.setFirstRows(Integer.parseInt(jTextNumberRows.getText())); |
|
1043 |
this.jTextNumberRows.requestFocus(); |
|
1044 |
DefaultTableModel model = controller.getSamplesDataStore(controller.getFirstRows()); |
|
1045 |
jTableSource.setModel(model); |
|
1046 |
} |
|
1047 |
/* Normalize the first rows */ |
|
1048 |
else { |
|
1049 |
jTextNumberRows.setText("0"); |
|
1050 |
jTextNumberRows.setEditable(false); |
|
1051 |
controller.setFirstRows(0); |
|
1052 |
DefaultTableModel model = controller.getSamplesDataStore(controller.getFirstRows()); |
|
1053 |
jTableSource.setModel(model); |
|
1054 |
} |
|
1055 |
} |
|
882 |
private void setMessages() { |
|
1056 | 883 |
|
1057 |
/** |
|
1058 |
* This method runs when textField is modify |
|
1059 |
* |
|
1060 |
*/ |
|
1061 |
private void firstRowsvalueChange() { |
|
1062 |
try { |
|
1063 |
controller |
|
1064 |
.setFirstRows(Integer.parseInt(jTextNumberRows.getText())); |
|
1065 |
controller.getSamplesFromFile(controller.getFirstRows()); |
|
1066 |
jTableSource.setModel(getSourceData()); |
|
1067 |
jTableSource.validate(); |
|
1068 |
} catch (Exception e) { |
|
1069 |
jTextNumberRows.requestFocus(); |
|
1070 |
} |
|
1071 |
} |
|
884 |
PluginServices ps = PluginServices.getPluginServices(this); |
|
1072 | 885 |
|
1073 |
/** |
|
1074 |
* This method runs when check Don't Import is selected or deselected |
|
1075 |
* |
|
1076 |
* @param evt |
|
1077 |
*/ |
|
1078 |
private void ActionDontImport(java.awt.event.ActionEvent evt) { |
|
1079 |
setDirty(true); |
|
1080 |
} |
|
886 |
this.setName(ps.getText("normtitle")); |
|
887 |
jPanSource.setBorder(BorderFactory.createTitledBorder(ps |
|
888 |
.getText("normsource"))); |
|
889 |
jLabelField.setText(ps.getText("selfield")); |
|
890 |
jLabelFieldType.setText(ps.getText("normselectFieldType")); |
|
891 |
jCheckFirstRow.setText(ps.getText("normfirstrows")); |
|
892 |
jLabelNumberRows.setText(ps.getText("normfirstnumberrows")); |
|
1081 | 893 |
|
1082 |
/** |
|
1083 |
* This method runs when combo Date Format has changed |
|
1084 |
* |
|
1085 |
* @param evt |
|
1086 |
*/ |
|
1087 |
private void ActionListDateFormat(java.awt.event.ActionEvent evt) { |
|
1088 |
setDirty(true); |
|
1089 |
} |
|
894 |
jPanFieldList.setBorder(BorderFactory.createTitledBorder(ps |
|
895 |
.getText("normfields"))); |
|
1090 | 896 |
|
1091 |
/** |
|
1092 |
* This method runs when text fixed width has changed |
|
1093 |
* |
|
1094 |
* @param evt |
|
1095 |
*/ |
|
1096 |
private void ActionTextFixedWidth(java.awt.event.KeyEvent evt) { |
|
897 |
jPanFieldSettings.setBorder(BorderFactory.createTitledBorder(ps |
|
898 |
.getText("normfieldsettings"))); |
|
899 |
jLabFieldName.setText(ps.getText("normfieldname")); |
|
900 |
jChkDontImport.setText(ps.getText("normdontimport")); |
|
1097 | 901 |
|
1098 |
boolean vali = new IntVerifier().verify(jTextFieldWidth); |
|
1099 |
if (vali) { |
|
1100 |
setDirty(true); |
|
1101 |
} else { |
|
1102 |
jTextFieldWidth.setText("1"); |
|
1103 |
setDirty(true); |
|
1104 |
} |
|
1105 |
} |
|
902 |
jPanFieldType.setBorder(BorderFactory.createTitledBorder(ps |
|
903 |
.getText("normfieldtype"))); |
|
904 |
jRadioString.setText(ps.getText("normfieldstring")); |
|
905 |
jRadioInteger.setText(ps.getText("normfieldinteger")); |
|
906 |
jRadioDecimal.setText(ps.getText("normfielddecimal")); |
|
907 |
jRadioDate.setText(ps.getText("normfielddate")); |
|
1106 | 908 |
|
1107 |
/** |
|
1108 |
* This method runs when check TAB is selected or deselected |
|
1109 |
* |
|
1110 |
* @param evt |
|
1111 |
*/ |
|
1112 |
private void ActionTab(java.awt.event.ActionEvent evt) { |
|
1113 |
setDirty(true); |
|
1114 |
} |
|
909 |
jPanSeparators.setBorder(BorderFactory.createTitledBorder(ps |
|
910 |
.getText("normdelimetersnext"))); |
|
911 |
jRadioCharacter.setText(ps.getText("normcharacter")); |
|
912 |
jRadioFixed.setText(ps.getText("normfixedwidth")); |
|
1115 | 913 |
|
1116 |
/**
|
|
1117 |
* This method runs when check SPACE is selected or deselected
|
|
1118 |
*
|
|
1119 |
* @param evt
|
|
1120 |
*/
|
|
1121 |
private void ActionSpace(java.awt.event.ActionEvent evt) {
|
|
1122 |
setDirty(true);
|
|
1123 |
}
|
|
914 |
jPanFieldSeparators.setBorder(BorderFactory.createTitledBorder(ps
|
|
915 |
.getText("normfieldseparators")));
|
|
916 |
jChkTab.setText(ps.getText("normtab"));
|
|
917 |
jChkSpace.setText(ps.getText("normspace"));
|
|
918 |
jChkComma.setText(ps.getText("normcolon"));
|
|
919 |
jChkSemicolon.setText(ps.getText("normsemicolon"));
|
|
920 |
jChkOther.setText(ps.getText("normother"));
|
|
921 |
jChkJoin.setText(ps.getText("normjoin"));
|
|
1124 | 922 |
|
1125 |
/** |
|
1126 |
* This method runs when check COLON is selected or deselected |
|
1127 |
* |
|
1128 |
* @param evt |
|
1129 |
*/ |
|
1130 |
private void ActionColon(java.awt.event.ActionEvent evt) { |
|
1131 |
setDirty(true); |
|
1132 |
} |
|
923 |
jPanInField.setBorder(BorderFactory.createTitledBorder(ps |
|
924 |
.getText("norminfieldseparators"))); |
|
925 |
jLabDecimal.setText(ps.getText("normdecimal")); |
|
926 |
jLabThousand.setText(ps.getText("normthousand")); |
|
927 |
jLabTextDel.setText(ps.getText("normtextdelimiter")); |
|
1133 | 928 |
|
1134 |
/** |
|
1135 |
* This method runs when check SEMICOLON is selected or deselected |
|
1136 |
* |
|
1137 |
* @param evt |
|
1138 |
*/ |
|
1139 |
private void ActionSemicolon(java.awt.event.ActionEvent evt) { |
|
1140 |
setDirty(true); |
|
1141 |
} |
|
929 |
jButTest.setText(ps.getText("normtest")); |
|
1142 | 930 |
|
1143 |
/** |
|
1144 |
* This method runs when text Other has changed |
|
1145 |
* |
|
1146 |
* @param evt |
|
1147 |
*/ |
|
1148 |
private void ActionTextOther(java.awt.event.ActionEvent evt) { |
|
1149 |
setDirty(true); |
|
1150 |
} |
|
931 |
jPanSampleOutput.setBorder(BorderFactory.createTitledBorder(ps |
|
932 |
.getText("normsampleout"))); |
|
1151 | 933 |
|
1152 |
/** |
|
1153 |
* This method runs when text Decimal has changed |
|
1154 |
* |
|
1155 |
* @param evt |
|
1156 |
*/ |
|
1157 |
private void ActionDecimal(java.awt.event.FocusEvent evt) { |
|
1158 |
setDirty(true); |
|
1159 |
} |
|
934 |
jPanOutputOpt.setBorder(BorderFactory.createTitledBorder(ps |
|
935 |
.getText("normoutputopt"))); |
|
936 |
jRadioAlterTable.setText(ps.getText("normaltertable")); |
|
937 |
jRadioNewTable.setText(ps.getText("normnewtable")); |
|
938 |
jLabelSelFields.setText(ps.getText("normjoinfield")); |
|
1160 | 939 |
|
1161 |
/** |
|
1162 |
* This method runs when text Thousand has changed |
|
1163 |
* |
|
1164 |
* @param evt |
|
1165 |
*/ |
|
1166 |
private void ActionThousand(java.awt.event.FocusEvent evt) { |
|
1167 |
setDirty(true); |
|
940 |
jButLoad.setText(ps.getText("normload")); |
|
941 |
jButSave.setText(ps.getText("normsave")); |
|
1168 | 942 |
} |
1169 | 943 |
|
1170 | 944 |
/** |
1171 |
* This method runs when text Text has changed |
|
1172 |
* |
|
1173 |
* @param evt |
|
945 |
* This method updates the images (Icons) |
|
1174 | 946 |
*/ |
1175 |
private void ActionTextText(java.awt.event.FocusEvent evt) { |
|
1176 |
setDirty(true); |
|
1177 |
} |
|
947 |
private void setImages() { |
|
1178 | 948 |
|
1179 |
/** |
|
1180 |
* This method runs when Field Name has changed |
|
1181 |
* |
|
1182 |
* @param evt |
|
1183 |
*/ |
|
1184 |
private void KeyChangesFieldName(KeyEvent evt) { |
|
1185 |
// log.debug("#Key Pressed Field name# :" + this.selectedField); |
|
1186 |
int pos = this.selectedField; |
|
1187 |
updateFieldToModel(pos); |
|
1188 |
updateGUI(); |
|
1189 |
setDirty(false); |
|
1190 |
} |
|
949 |
PluginServices ps = PluginServices.getPluginServices(this); |
|
1191 | 950 |
|
1192 |
/** |
|
1193 |
* |
|
1194 |
* @param evt |
|
1195 |
*/ |
|
1196 |
private void mainPanelGetFocus(java.awt.event.FocusEvent evt) { |
|
1197 |
jTableSource.setModel(getSourceData()); |
|
1198 |
} |
|
951 |
String bDir = ps.getClassLoader().getBaseDir(); |
|
1199 | 952 |
|
1200 |
/** |
|
1201 |
* This method runs when check Join Separators is selected or deselected |
|
1202 |
* |
|
1203 |
* @param evt |
|
1204 |
*/ |
|
1205 |
private void ActionJoinSep(java.awt.event.ActionEvent evt) { |
|
1206 |
setDirty(true); |
|
953 |
jButUpField.setIcon(new ImageIcon(bDir + File.separator + "images" |
|
954 |
+ File.separator + "icons16" + File.separator + "go-up.png")); |
|
955 |
jButDownField.setIcon(new ImageIcon(bDir + File.separator + "images" |
|
956 |
+ File.separator + "icons16" + File.separator + "go-down.png")); |
|
957 |
jButAddField |
|
958 |
.setIcon(new ImageIcon(bDir + File.separator + "images" |
|
959 |
+ File.separator + "icons16" + File.separator |
|
960 |
+ "list-add.png")); |
|
961 |
jButRemoveField.setIcon(new ImageIcon(bDir + File.separator + "images" |
|
962 |
+ File.separator + "icons16" + File.separator |
|
963 |
+ "list-remove.png")); |
|
1207 | 964 |
} |
1208 | 965 |
|
1209 | 966 |
/** |
1210 |
* This method runs when check fixed width is selected or deselected |
|
1211 |
* |
|
1212 |
* @param evt |
|
967 |
* This method saves a Normalization pattern to XML file * |
|
1213 | 968 |
*/ |
1214 |
private void fixedWidthEnable(java.awt.event.ActionEvent evt) { |
|
1215 |
this.jTextFieldWidth.setEditable(true); |
|
1216 |
Component[] comps = this.jPanFieldSeparators.getComponents(); |
|
1217 |
for (int i = 0; i < comps.length; i++) { |
|
1218 |
comps[i].setEnabled(false); |
|
1219 |
} |
|
1220 |
this.jTextFieldWidth.requestFocus(); |
|
1221 |
setDirty(true); |
|
1222 |
} |
|
969 |
private void savePatternXML() { |
|
1223 | 970 |
|
1224 |
/** |
|
1225 |
* This method runs when radio character delimiters is selected or |
|
1226 |
* deselected |
|
1227 |
* |
|
1228 |
* @param evt |
|
1229 |
*/ |
|
1230 |
private void charDelimitedEnable(java.awt.event.ActionEvent evt) { |
|
1231 |
this.jTextFieldWidth.setEditable(false); |
|
1232 |
Component[] comps = this.jPanFieldSeparators.getComponents(); |
|
1233 |
for (int i = 0; i < comps.length; i++) { |
|
1234 |
comps[i].setEnabled(true); |
|
1235 |
} |
|
1236 |
setDirty(true); |
|
1237 |
} |
|
971 |
JFileChooser jfc = new JFileChooser(); |
|
972 |
jfc.setDialogTitle(PluginServices.getText(this, "save_norm_pattern")); |
|
973 |
String[] extensions = { "xml" }; |
|
974 |
jfc.setCurrentDirectory(new File(getFolderPattern())); |
|
975 |
jfc.addChoosableFileFilter(new GenericFileFilter(extensions, |
|
976 |
PluginServices.getText(this, "pattern_norm_file"))); |
|
977 |
int returnval = jfc.showSaveDialog((Component) PluginServices |
|
978 |
.getMainFrame()); |
|
1238 | 979 |
|
1239 |
/** |
|
1240 |
* This method runs when radio Field Date is selected or deselected |
|
1241 |
* |
|
1242 |
* @param evt |
|
1243 |
*/ |
|
1244 |
private void dateStateChanged(java.awt.event.ItemEvent evt) { |
|
1245 |
updateSelectors(); |
|
1246 |
boolean enable = this.jRadioDate.isSelected(); |
|
1247 |
this.jComboDate.setEnabled(enable); |
|
1248 |
if (enable) { |
|
1249 |
this.jComboDate.requestFocus(); |
|
1250 |
} |
|
1251 |
setDirty(true); |
|
1252 |
} |
|
1253 |
|
|
1254 |
/** |
|
1255 |
* This method runs when Testing button is pressed |
|
1256 |
* |
|
1257 |
* @param evt |
|
1258 |
*/ |
|
1259 |
private void testNormalizer(java.awt.event.ActionEvent evt) { |
|
1260 |
/* Save elements */ |
|
1261 |
if (isDirty()) { |
|
1262 |
updateFieldToModel(jListFieldList.getSelectedIndex()); |
|
1263 |
} |
|
1264 |
/* Normalize */ |
|
1265 |
Object[][] data = this.controller.normalizeSamples(); |
|
1266 |
String[] nam = this.controller.getNewFieldNames(); |
|
1267 |
jTableResult.setModel(new DefaultTableModel(data, nam)); |
|
1268 |
} |
|
1269 |
|
|
1270 |
/** |
|
1271 |
* This method runs when check OTHER TEXT is selected or deselected |
|
1272 |
* |
|
1273 |
* @param evt |
|
1274 |
*/ |
|
1275 |
private void enableOtherText(java.awt.event.ActionEvent evt) { |
|
1276 |
this.jTextOther.setEditable(this.jChkOther.isSelected()); |
|
1277 |
if (this.jChkOther.isSelected()) { |
|
1278 |
jTextOther.requestFocus(); |
|
1279 |
} |
|
1280 |
setDirty(true); |
|
1281 |
} |
|
1282 |
|
|
1283 |
/** |
|
1284 |
* This method runs when Normalization button is pressed |
|
1285 |
* |
|
1286 |
* @param evt |
|
1287 |
*/ |
|
1288 |
private void runNormalizer(java.awt.event.ActionEvent evt) { |
|
1289 |
|
|
1290 |
/* Save the pattern */ |
|
1291 |
if (isDirty()) { |
|
1292 |
updateFieldToModel(this.selectedField); |
|
1293 |
} |
|
1294 |
/* Get the relate fields of the list */ |
|
1295 |
if (!isFile) { |
|
1296 |
String[] nam = null; |
|
1297 |
Object[] names = jListOriginalFields.getSelectedValues(); |
|
1298 |
|
|
1299 |
/* select all fields */ |
|
1300 |
if (jListOriginalFields.getSelectedIndex() == 1) { |
|
1301 |
|
|
1302 |
nam = this.controller.getFieldNamesMainTable(); |
|
980 |
if (returnval == JFileChooser.APPROVE_OPTION) { |
|
981 |
File thefile = jfc.getSelectedFile(); |
|
982 |
// Check if the file has extension .xml |
|
983 |
if (!(thefile.getPath().toLowerCase().endsWith(".xml"))) { |
|
984 |
thefile = new File(thefile.getPath() + ".xml"); |
|
1303 | 985 |
} |
1304 |
/* fields selected */
|
|
1305 |
if (jListOriginalFields.getSelectedIndex() != 0
|
|
1306 |
&& jListOriginalFields.getSelectedIndex() != 1) {
|
|
986 |
try {
|
|
987 |
// the file exists
|
|
988 |
if (thefile.exists()) {
|
|
1307 | 989 |
|
1308 |
nam = new String[names.length]; |
|
1309 |
for (int i = 0; i < names.length; i++) { |
|
1310 |
nam[i] = (String) names[i]; |
|
990 |
int n = JOptionPane.showConfirmDialog(null, PluginServices |
|
991 |
.getText(null, "file_exists"), PluginServices |
|
992 |
.getText(null, "save_norm_pattern"), |
|
993 |
JOptionPane.YES_NO_OPTION); |
|
994 |
if (n == JOptionPane.YES_OPTION) { |
|
995 |
writeSaveFile(thefile); |
|
996 |
} |
|
1311 | 997 |
} |
998 |
// the file not exists |
|
999 |
else { |
|
1000 |
writeSaveFile(thefile); |
|
1001 |
} |
|
1002 |
} catch (Exception e) { |
|
1003 |
log.error("Error saving the pattern", e); |
|
1312 | 1004 |
} |
1313 |
this.controller.setNameRelateFields(nam); |
|
1314 | 1005 |
} |
1315 |
/* RUN */ |
|
1316 |
this.controller.runModel(this); |
|
1317 |
|
|
1318 | 1006 |
} |
1319 | 1007 |
|
1320 | 1008 |
/** |
1321 |
* Update the type |
|
1322 |
* |
|
1323 |
* @param evt |
|
1324 |
*/ |
|
1325 |
private void updateStringType(java.awt.event.ActionEvent evt) { |
|
1326 |
updateSelectors(); |
|
1327 |
setDirty(true); |
|
1328 |
} |
|
1329 |
|
|
1330 |
/** |
|
1331 |
* Update the type |
|
1332 |
* |
|
1333 |
* @param evt |
|
1334 |
*/ |
|
1335 |
private void updateIntegerType(java.awt.event.ActionEvent evt) { |
|
1336 |
updateSelectors(); |
|
1337 |
setDirty(true); |
|
1338 |
} |
|
1339 |
|
|
1340 |
/** |
|
1341 |
* Update the type |
|
1342 |
* |
|
1343 |
* @param evt |
|
1344 |
*/ |
|
1345 |
private void updateDecimalType(java.awt.event.ActionEvent evt) { |
|
1346 |
updateSelectors(); |
|
1347 |
setDirty(true); |
|
1348 |
} |
|
1349 |
|
|
1350 |
/** |
|
1351 |
* This method runs when UP button is pressed |
|
1352 |
* |
|
1353 |
* @param evt |
|
1354 |
*/ |
|
1355 |
private void ActionButtonUp(java.awt.event.ActionEvent evt) { |
|
1356 |
// log.debug("#Up# Old selected field: " + this.selectedField); |
|
1357 |
int pos = this.selectedField; |
|
1358 |
updateFieldToModel(pos); |
|
1359 |
setDirty(false); |
|
1360 |
|
|
1361 |
this.controller.fieldUp(pos); |
|
1362 |
DefaultListModel dlm = this.updateListModel(); |
|
1363 |
jListFieldList.setModel(dlm); |
|
1364 |
if (pos > 0 && dlm.getSize() > 1) { |
|
1365 |
this.selectedField = pos - 1; |
|
1366 |
jListFieldList.setSelectedIndex(pos - 1); |
|
1367 |
} else { |
|
1368 |
this.selectedField = pos; |
|
1369 |
jListFieldList.setSelectedIndex(pos); |
|
1370 |
} |
|
1371 |
} |
|
1372 |
|
|
1373 |
/** |
|
1374 |
* This method runs when ADD button is pressed |
|
1375 |
* |
|
1376 |
* @param evt |
|
1377 |
*/ |
|
1378 |
private void ActionButtonAddField(java.awt.event.ActionEvent evt) { |
|
1379 |
// log.debug("#Add# Old selected field: " + this.selectedField); |
|
1380 |
int pos = this.selectedField; |
|
1381 |
updateFieldToModel(pos); |
|
1382 |
setDirty(false); |
|
1383 |
|
|
1384 |
controller.addField(); |
|
1385 |
DefaultListModel dlm = this.updateListModel(); |
|
1386 |
int siz = dlm.size(); |
|
1387 |
this.selectedField = siz - 1; |
|
1388 |
jListFieldList.setModel(dlm); |
|
1389 |
jListFieldList.setSelectedIndex(siz - 1); |
|
1390 |
jTextOther.setEditable(false); |
|
1391 |
} |
|
1392 |
|
|
1393 |
/** |
|
1394 |
* This method runs when REMOVE button is pressed |
|
1395 |
* |
|
1396 |
* @param evt |
|
1397 |
*/ |
|
1398 |
private void ActionButtonRemove(java.awt.event.ActionEvent evt) { |
|
1399 |
int siz = jListFieldList.getModel().getSize(); |
|
1400 |
// log.debug("#Remove# Old selected field: " + this.selectedField); |
|
1401 |
int pos = this.selectedField; |
|
1402 |
if (siz > 0) { |
|
1403 |
updateFieldToModel(pos); |
|
1404 |
setDirty(false); |
|
1405 |
controller.deleteField(pos); |
|
1406 |
DefaultListModel dlm = this.updateListModel(); |
|
1407 |
if (pos > 0) { |
|
1408 |
this.selectedField = pos - 1; |
|
1409 |
jListFieldList.setModel(dlm); |
|
1410 |
jListFieldList.setSelectedIndex(pos - 1); |
|
1411 |
} else { |
|
1412 |
this.selectedField = pos; |
|
1413 |
jListFieldList.setModel(dlm); |
|
1414 |
jListFieldList.setSelectedIndex(pos); |
|
1415 |
} |
|
1416 |
} |
|
1417 |
} |
|
1418 |
|
|
1419 |
/** |
|
1420 |
* This method runs when DOWN button is pressed |
|
1421 |
* |
|
1422 |
* @param evt |
|
1423 |
*/ |
|
1424 |
private void ActionButtonDown(java.awt.event.ActionEvent evt) { |
|
1425 |
// log.debug("#Down# Ols selected field: " + this.selectedField); |
|
1426 |
int pos = this.selectedField; |
|
1427 |
updateFieldToModel(pos); |
|
1428 |
setDirty(false); |
|
1429 |
|
|
1430 |
controller.fieldDown(pos); |
|
1431 |
DefaultListModel dlm = this.updateListModel(); |
|
1432 |
jListFieldList.removeAll(); |
|
1433 |
jListFieldList.setModel(dlm); |
|
1434 |
int can = dlm.getSize(); |
|
1435 |
if (pos < can - 1 && can > 1) { |
|
1436 |
this.selectedField = pos + 1; |
|
1437 |
jListFieldList.setSelectedIndex(pos + 1); |
|
1438 |
} else { |
|
1439 |
jListFieldList.setSelectedIndex(pos); |
|
1440 |
} |
|
1441 |
} |
|
1442 |
|
|
1443 |
/** |
|
1444 |
* When press the Load pattern button |
|
1445 |
* |
|
1446 |
* @param evt |
|
1447 |
*/ |
|
1448 |
private void jButLoadActionPerformed(java.awt.event.ActionEvent evt) { |
|
1449 |
// log.debug("#Load# Selected field: " + this.selectedField); |
|
1450 |
/* update the model from the view */ |
|
1451 |
updateFieldToModel(this.selectedField); |
|
1452 |
setDirty(false); |
|
1453 |
|
|
1454 |
/* load the model from xml file */ |
|
1455 |
Patternnormalization pat = controller.loadPatternXML(); |
|
1456 |
|
|
1457 |
/* update the panel */ |
|
1458 |
if (pat != null) { |
|
1459 |
/* save pattern in the model */ |
|
1460 |
controller.setPattern(pat); |
|
1461 |
|
Also available in: Unified diff