svn-gvsig-desktop / trunk / extensions / extNormalization / src / org / gvsig / normalization / gui / NormalizationPanel.java @ 22820
History | View | Annotate | Download (66.9 KB)
1 | 22677 | jsanz | /* gvSIG. Geographic Information System of the Valencian Government
|
---|---|---|---|
2 | *
|
||
3 | * Copyright (C) 2007-2008 Infrastructures and Transports Department
|
||
4 | * of the Valencian Government (CIT)
|
||
5 | *
|
||
6 | * This program is free software; you can redistribute it and/or
|
||
7 | * modify it under the terms of the GNU General Public License
|
||
8 | * as published by the Free Software Foundation; either version 2
|
||
9 | * of the License, or (at your option) any later version.
|
||
10 | *
|
||
11 | * This program is distributed in the hope that it will be useful,
|
||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
14 | * GNU General Public License for more details.
|
||
15 | *
|
||
16 | * You should have received a copy of the GNU General Public License
|
||
17 | * along with this program; if not, write to the Free Software
|
||
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||
19 | * MA 02110-1301, USA.
|
||
20 | *
|
||
21 | */
|
||
22 | |||
23 | /*
|
||
24 | * AUTHORS (In addition to CIT):
|
||
25 | * 2008 Prodevelop S.L. main development
|
||
26 | */
|
||
27 | |||
28 | package org.gvsig.normalization.gui; |
||
29 | |||
30 | import java.awt.Component; |
||
31 | |||
32 | import javax.swing.BorderFactory; |
||
33 | import javax.swing.ButtonGroup; |
||
34 | import javax.swing.DefaultComboBoxModel; |
||
35 | import javax.swing.DefaultListModel; |
||
36 | import javax.swing.ImageIcon; |
||
37 | import javax.swing.InputVerifier; |
||
38 | import javax.swing.JButton; |
||
39 | import javax.swing.JCheckBox; |
||
40 | import javax.swing.JComboBox; |
||
41 | import javax.swing.JComponent; |
||
42 | import javax.swing.JLabel; |
||
43 | import javax.swing.JList; |
||
44 | import javax.swing.JPanel; |
||
45 | import javax.swing.JRadioButton; |
||
46 | import javax.swing.JScrollPane; |
||
47 | import javax.swing.JTable; |
||
48 | import javax.swing.JTextArea; |
||
49 | import javax.swing.JTextField; |
||
50 | import javax.swing.event.ChangeEvent; |
||
51 | import javax.swing.event.ChangeListener; |
||
52 | import javax.swing.table.DefaultTableModel; |
||
53 | |||
54 | import org.apache.log4j.Logger; |
||
55 | import org.gvsig.geocoding.patterns.normalization.Addresselement; |
||
56 | import org.gvsig.geocoding.patterns.normalization.Datevalue; |
||
57 | import org.gvsig.geocoding.patterns.normalization.Decimalseparator; |
||
58 | import org.gvsig.geocoding.patterns.normalization.Decimalvalue; |
||
59 | import org.gvsig.geocoding.patterns.normalization.Fieldseparator; |
||
60 | import org.gvsig.geocoding.patterns.normalization.Infieldseparators; |
||
61 | import org.gvsig.geocoding.patterns.normalization.Integervalue; |
||
62 | import org.gvsig.geocoding.patterns.normalization.Newfieldtype; |
||
63 | import org.gvsig.geocoding.patterns.normalization.Patternnormalization; |
||
64 | import org.gvsig.geocoding.patterns.normalization.Stringvalue; |
||
65 | import org.gvsig.geocoding.patterns.normalization.Textseparator; |
||
66 | import org.gvsig.geocoding.patterns.normalization.Thousandseparator; |
||
67 | |||
68 | import com.iver.andami.PluginServices; |
||
69 | import com.iver.andami.ui.mdiManager.IWindow; |
||
70 | import com.iver.andami.ui.mdiManager.WindowInfo; |
||
71 | |||
72 | /**
|
||
73 | * Normalization main panel
|
||
74 | *
|
||
75 | * @author <a href="mailto:jsanz@prodevelop.es"> Jorge Gaspar Sanz Salinas</a>
|
||
76 | * @author <a href="mailto:vsanjaime@prodevelop.es"> Vicente Sanjaime Calvet</a>
|
||
77 | */
|
||
78 | public class NormalizationPanel extends javax.swing.JPanel implements IWindow, |
||
79 | ChangeListener {
|
||
80 | |||
81 | private static final long serialVersionUID = -2882235643001676017L; |
||
82 | |||
83 | public static final int SAMPLES = 3; |
||
84 | |||
85 | private static final Logger log = PluginServices.getLogger(); |
||
86 | |||
87 | private INormPanelModel npm;
|
||
88 | |||
89 | private boolean isFile; |
||
90 | |||
91 | private boolean isEdit; |
||
92 | |||
93 | private PluginServices pServ;
|
||
94 | |||
95 | private boolean dirty = false; |
||
96 | |||
97 | /* GUI */
|
||
98 | |||
99 | private ButtonGroup butGroupDelimiter; |
||
100 | |||
101 | private ButtonGroup butGroupFieldType; |
||
102 | |||
103 | private ButtonGroup butGroupOutput; |
||
104 | |||
105 | private JButton jButCancel; |
||
106 | |||
107 | private JButton jButFieldsAdd; |
||
108 | |||
109 | private JButton jButFieldsDown; |
||
110 | |||
111 | private JButton jButFieldsRem; |
||
112 | |||
113 | private JButton jButFieldsUp; |
||
114 | |||
115 | private JButton jButLoad; |
||
116 | |||
117 | private JButton jButRun; |
||
118 | |||
119 | private JButton jButSave; |
||
120 | |||
121 | private JButton jButTest; |
||
122 | |||
123 | private JCheckBox jCheckFirstRow; |
||
124 | |||
125 | private JCheckBox jChkColon; |
||
126 | |||
127 | private JCheckBox jChkDontImport; |
||
128 | |||
129 | private JCheckBox jChkJoin; |
||
130 | |||
131 | private JCheckBox jChkOther; |
||
132 | |||
133 | private JCheckBox jChkSemicolon; |
||
134 | |||
135 | private JCheckBox jChkSpace; |
||
136 | |||
137 | private JCheckBox jChkTab; |
||
138 | |||
139 | private JComboBox jComboDate; |
||
140 | |||
141 | private JLabel jLabDecimal; |
||
142 | |||
143 | private JLabel jLabFieldName; |
||
144 | |||
145 | private JLabel jLabTextDel; |
||
146 | |||
147 | private JLabel jLabThousand; |
||
148 | |||
149 | private JLabel jLabelSelFields; |
||
150 | |||
151 | private JList jListFieldList; |
||
152 | |||
153 | private JList jListOriginalFields; |
||
154 | |||
155 | private JPanel jPanApply; |
||
156 | |||
157 | private JPanel jPanConsole; |
||
158 | |||
159 | private JPanel jPanFieldList; |
||
160 | |||
161 | private JPanel jPanFieldName; |
||
162 | |||
163 | private JPanel jPanFieldSeparators; |
||
164 | |||
165 | private JPanel jPanFieldSettings; |
||
166 | |||
167 | private JPanel jPanFieldType; |
||
168 | |||
169 | private JPanel jPanFields; |
||
170 | |||
171 | private JPanel jPanFinalButtons; |
||
172 | |||
173 | private JPanel jPanFirstRow; |
||
174 | |||
175 | private JPanel jPanInField; |
||
176 | |||
177 | private JPanel jPanOutput; |
||
178 | |||
179 | private JPanel jPanOutputOpt; |
||
180 | |||
181 | private JPanel jPanSampleOutput; |
||
182 | |||
183 | private JPanel jPanSeparators; |
||
184 | |||
185 | private JPanel jPanSource; |
||
186 | |||
187 | private JPanel jPanel1; |
||
188 | |||
189 | private JRadioButton jRadioAlterTable; |
||
190 | |||
191 | private JRadioButton jRadioCharacter; |
||
192 | |||
193 | private JRadioButton jRadioDate; |
||
194 | |||
195 | private JRadioButton jRadioDecimal; |
||
196 | |||
197 | private JRadioButton jRadioFixed; |
||
198 | |||
199 | private JRadioButton jRadioInteger; |
||
200 | |||
201 | private JRadioButton jRadioNewTable; |
||
202 | |||
203 | private JRadioButton jRadioString; |
||
204 | |||
205 | private JScrollPane jScrollPane2; |
||
206 | |||
207 | private JScrollPane jScrollPaneConsole; |
||
208 | |||
209 | private JScrollPane jScrollPaneFieldList; |
||
210 | |||
211 | private JScrollPane jScrollPaneOriginalFields; |
||
212 | |||
213 | private JScrollPane jScrollPaneSource; |
||
214 | |||
215 | private JTable jTableResult; |
||
216 | |||
217 | private JTable jTableSource; |
||
218 | |||
219 | private JTextArea jTextAreaConsole; |
||
220 | |||
221 | private JTextField jTextDecimal; |
||
222 | |||
223 | 22820 | vsanjaime | private JTextField jTextNumberRows; |
224 | |||
225 | private JLabel jLabelNumberRows; |
||
226 | |||
227 | 22677 | jsanz | private JTextField jTextFieldName; |
228 | |||
229 | private JTextField jTextFieldWidth; |
||
230 | |||
231 | private JTextField jTextOther; |
||
232 | |||
233 | private JTextField jTextTextDelimiter; |
||
234 | |||
235 | private JTextField jTextThousand; |
||
236 | |||
237 | /**
|
||
238 | * Creates new form NormalizationPanel to normalize table
|
||
239 | *
|
||
240 | * @param _npm
|
||
241 | * @return panel
|
||
242 | */
|
||
243 | public NormalizationPanel(INormPanelModel _npm) {
|
||
244 | this.npm = _npm;
|
||
245 | init(); |
||
246 | } |
||
247 | |||
248 | /**
|
||
249 | * Creates new form NormalizationPanel to normalize
|
||
250 | *
|
||
251 | * @param _npm
|
||
252 | * @param _isFile
|
||
253 | * @param _isEdit
|
||
254 | * @return panel
|
||
255 | */
|
||
256 | public NormalizationPanel(INormPanelModel _npm, boolean _isFile, |
||
257 | boolean _isEdit) {
|
||
258 | this.npm = _npm;
|
||
259 | |||
260 | isFile = _isFile; |
||
261 | isEdit = _isEdit; |
||
262 | init(); |
||
263 | } |
||
264 | |||
265 | /**
|
||
266 | * This method sets the PluginServices and update the string and images
|
||
267 | *
|
||
268 | * @param ps
|
||
269 | * PluginServices
|
||
270 | */
|
||
271 | public void setPs(PluginServices ps) { |
||
272 | this.pServ = ps;
|
||
273 | |||
274 | setMessages(); |
||
275 | setImages(); |
||
276 | } |
||
277 | |||
278 | /**
|
||
279 | * This method inserts the sample split strings into the Sample Table
|
||
280 | *
|
||
281 | * @param chains
|
||
282 | * array with strings
|
||
283 | */
|
||
284 | public void insertChainsInRowsTableSample(String[] chains) { |
||
285 | |||
286 | DefaultTableModel dtm = new DefaultTableModel(); |
||
287 | int nfil = dtm.getRowCount();
|
||
288 | for (int i = 0; i < nfil; i++) { |
||
289 | dtm.setValueAt(chains[0], i, 0); |
||
290 | } |
||
291 | jTableSource.setModel(dtm); |
||
292 | } |
||
293 | |||
294 | /**
|
||
295 | * Insert in the console the message
|
||
296 | *
|
||
297 | * @param e
|
||
298 | */
|
||
299 | public void stateChanged(ChangeEvent e) { |
||
300 | 22820 | vsanjaime | // this.jTextAreaConsole.append(e.getSource().toString() + "\n");
|
301 | 22677 | jsanz | this.jTextAreaConsole.append(parseInfo(e.getSource().toString()));
|
302 | } |
||
303 | |||
304 | /**
|
||
305 | * This method inserts the model in the list with the names of the fields of
|
||
306 | * the original table
|
||
307 | *
|
||
308 | * @param fieldsNames
|
||
309 | */
|
||
310 | public void insertFieldsCurrentTable(String[] fieldsNames) { |
||
311 | |||
312 | DefaultListModel dcb = new DefaultListModel(); |
||
313 | int cont = fieldsNames.length;
|
||
314 | for (int i = 0; i < cont; i++) { |
||
315 | dcb.addElement(fieldsNames[i]); |
||
316 | } |
||
317 | this.jListOriginalFields.setModel(dcb);
|
||
318 | this.jListOriginalFields.setSelectedIndex(0); |
||
319 | } |
||
320 | |||
321 | /**
|
||
322 | * getWindowInfo
|
||
323 | *
|
||
324 | * @return windows properties
|
||
325 | */
|
||
326 | |||
327 | public WindowInfo getWindowInfo() {
|
||
328 | WindowInfo info = new WindowInfo(WindowInfo.MODALDIALOG
|
||
329 | | WindowInfo.RESIZABLE); |
||
330 | |||
331 | info.setMinimumSize(this.getMinimumSize());
|
||
332 | 22820 | vsanjaime | info.setWidth(600);
|
333 | info.setHeight(620);
|
||
334 | 22677 | jsanz | info.setTitle(PluginServices.getText(this, "normalize")); |
335 | |||
336 | return info;
|
||
337 | } |
||
338 | |||
339 | /**
|
||
340 | * Initialize components and other custom code
|
||
341 | */
|
||
342 | private void init() { |
||
343 | |||
344 | /* Initialize components GUI */
|
||
345 | initComponents(); |
||
346 | |||
347 | jCheckFirstRow.setEnabled(false);
|
||
348 | 22820 | vsanjaime | jTextNumberRows.setEditable(false);
|
349 | jLabelNumberRows.setEnabled(false);
|
||
350 | 22677 | jsanz | |
351 | /* Final initialize methods to set up the GUI */
|
||
352 | updateGUI(); |
||
353 | |||
354 | jListOriginalFields.setEnabled(false);
|
||
355 | 22820 | vsanjaime | |
356 | 22677 | jsanz | |
357 | if (!isEdit) {
|
||
358 | jRadioAlterTable.setEnabled(false);
|
||
359 | jRadioNewTable.setSelected(true);
|
||
360 | jListOriginalFields.setEnabled(true);
|
||
361 | jListOriginalFields.setSelectedIndex(0);
|
||
362 | npm.setInNewTable(true);
|
||
363 | } |
||
364 | } |
||
365 | |||
366 | /**
|
||
367 | * This method creates the components of the GUI
|
||
368 | */
|
||
369 | private void initComponents() { |
||
370 | java.awt.GridBagConstraints gridBagConstraints; |
||
371 | |||
372 | butGroupDelimiter = new javax.swing.ButtonGroup();
|
||
373 | butGroupFieldType = new javax.swing.ButtonGroup();
|
||
374 | butGroupOutput = new javax.swing.ButtonGroup();
|
||
375 | jPanSampleOutput = new javax.swing.JPanel();
|
||
376 | jScrollPane2 = new javax.swing.JScrollPane();
|
||
377 | jTableResult = new javax.swing.JTable();
|
||
378 | jPanSource = new javax.swing.JPanel();
|
||
379 | jScrollPaneSource = new javax.swing.JScrollPane();
|
||
380 | jTableSource = new javax.swing.JTable();
|
||
381 | jPanFirstRow = new javax.swing.JPanel();
|
||
382 | jCheckFirstRow = new javax.swing.JCheckBox();
|
||
383 | 22820 | vsanjaime | jTextNumberRows = new javax.swing.JTextField();
|
384 | jLabelNumberRows = new javax.swing.JLabel();
|
||
385 | 22677 | jsanz | jPanFields = new javax.swing.JPanel();
|
386 | jPanFieldList = new javax.swing.JPanel();
|
||
387 | jScrollPaneFieldList = new javax.swing.JScrollPane();
|
||
388 | jListFieldList = new javax.swing.JList();
|
||
389 | jButFieldsAdd = new javax.swing.JButton();
|
||
390 | jButFieldsRem = new javax.swing.JButton();
|
||
391 | jButFieldsUp = new javax.swing.JButton();
|
||
392 | jButFieldsDown = new javax.swing.JButton();
|
||
393 | jPanFieldSettings = new javax.swing.JPanel();
|
||
394 | jPanFieldType = new javax.swing.JPanel();
|
||
395 | jRadioString = new javax.swing.JRadioButton();
|
||
396 | jRadioInteger = new javax.swing.JRadioButton();
|
||
397 | jRadioDecimal = new javax.swing.JRadioButton();
|
||
398 | jRadioDate = new javax.swing.JRadioButton();
|
||
399 | jComboDate = new javax.swing.JComboBox();
|
||
400 | jPanSeparators = new javax.swing.JPanel();
|
||
401 | jPanFieldSeparators = new javax.swing.JPanel();
|
||
402 | jChkTab = new javax.swing.JCheckBox();
|
||
403 | jChkSpace = new javax.swing.JCheckBox();
|
||
404 | jChkColon = new javax.swing.JCheckBox();
|
||
405 | jChkSemicolon = new javax.swing.JCheckBox();
|
||
406 | jChkOther = new javax.swing.JCheckBox();
|
||
407 | jTextOther = new javax.swing.JTextField();
|
||
408 | jChkJoin = new javax.swing.JCheckBox();
|
||
409 | jRadioFixed = new javax.swing.JRadioButton();
|
||
410 | jRadioCharacter = new javax.swing.JRadioButton();
|
||
411 | jTextFieldWidth = new javax.swing.JTextField();
|
||
412 | jPanFieldName = new javax.swing.JPanel();
|
||
413 | jChkDontImport = new javax.swing.JCheckBox();
|
||
414 | jLabFieldName = new javax.swing.JLabel();
|
||
415 | jTextFieldName = new javax.swing.JTextField();
|
||
416 | jPanel1 = new javax.swing.JPanel();
|
||
417 | jPanApply = new javax.swing.JPanel();
|
||
418 | jButTest = new javax.swing.JButton();
|
||
419 | jPanInField = new javax.swing.JPanel();
|
||
420 | jLabDecimal = new javax.swing.JLabel();
|
||
421 | jTextDecimal = new javax.swing.JTextField();
|
||
422 | jLabThousand = new javax.swing.JLabel();
|
||
423 | jTextThousand = new javax.swing.JTextField();
|
||
424 | jLabTextDel = new javax.swing.JLabel();
|
||
425 | jTextTextDelimiter = new javax.swing.JTextField();
|
||
426 | jPanOutput = new javax.swing.JPanel();
|
||
427 | jPanOutputOpt = new javax.swing.JPanel();
|
||
428 | jRadioAlterTable = new javax.swing.JRadioButton();
|
||
429 | jRadioNewTable = new javax.swing.JRadioButton();
|
||
430 | jLabelSelFields = new javax.swing.JLabel();
|
||
431 | jScrollPaneOriginalFields = new javax.swing.JScrollPane();
|
||
432 | jListOriginalFields = new javax.swing.JList();
|
||
433 | jPanConsole = new javax.swing.JPanel();
|
||
434 | jScrollPaneConsole = new javax.swing.JScrollPane();
|
||
435 | jTextAreaConsole = new javax.swing.JTextArea();
|
||
436 | jPanFinalButtons = new javax.swing.JPanel();
|
||
437 | jButLoad = new javax.swing.JButton();
|
||
438 | jButRun = new javax.swing.JButton();
|
||
439 | jButCancel = new javax.swing.JButton();
|
||
440 | jButSave = new javax.swing.JButton();
|
||
441 | |||
442 | 22820 | vsanjaime | setMinimumSize(new java.awt.Dimension(600, 620)); |
443 | setPreferredSize(new java.awt.Dimension(600, 620)); |
||
444 | 22677 | jsanz | addFocusListener(new java.awt.event.FocusAdapter() {
|
445 | public void focusGained(java.awt.event.FocusEvent evt) { |
||
446 | mainPanelGetFocus(evt); |
||
447 | } |
||
448 | }); |
||
449 | setLayout(new java.awt.GridBagLayout());
|
||
450 | |||
451 | jPanSampleOutput.setBorder(javax.swing.BorderFactory |
||
452 | .createTitledBorder("Sample output"));
|
||
453 | jPanSampleOutput.setLayout(new java.awt.GridBagLayout());
|
||
454 | |||
455 | jScrollPane2 |
||
456 | .setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); |
||
457 | jScrollPane2.setAutoscrolls(true);
|
||
458 | jScrollPane2.setMinimumSize(new java.awt.Dimension(100, 90)); |
||
459 | jScrollPane2.setPreferredSize(new java.awt.Dimension(100, 90)); |
||
460 | |||
461 | jTableResult.setFont(new java.awt.Font("Courier New", 0, 11)); |
||
462 | jTableResult.setModel(new javax.swing.table.DefaultTableModel(
|
||
463 | new Object[][] { {}, {}, {} }, new String[] { |
||
464 | |||
465 | })); |
||
466 | jTableResult.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); |
||
467 | jTableResult.setEnabled(false);
|
||
468 | jScrollPane2.setViewportView(jTableResult); |
||
469 | |||
470 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
471 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
472 | gridBagConstraints.weightx = 1.0;
|
||
473 | jPanSampleOutput.add(jScrollPane2, gridBagConstraints); |
||
474 | |||
475 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
476 | gridBagConstraints.gridx = 0;
|
||
477 | gridBagConstraints.gridy = 2;
|
||
478 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
479 | gridBagConstraints.weightx = 1.0;
|
||
480 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
481 | add(jPanSampleOutput, gridBagConstraints); |
||
482 | |||
483 | jPanSource.setBorder(javax.swing.BorderFactory |
||
484 | .createTitledBorder("Source"));
|
||
485 | jPanSource.setMinimumSize(new java.awt.Dimension(36, 125)); |
||
486 | jPanSource.setLayout(new java.awt.GridBagLayout());
|
||
487 | |||
488 | jScrollPaneSource.setMinimumSize(new java.awt.Dimension(100, 90)); |
||
489 | jScrollPaneSource.setPreferredSize(new java.awt.Dimension(100, 90)); |
||
490 | |||
491 | jTableSource.setFont(new java.awt.Font("Courier New", 0, 11)); |
||
492 | jTableSource.setModel(getSourceData()); |
||
493 | jTableSource.getTableHeader().setReorderingAllowed(false);
|
||
494 | jScrollPaneSource.setViewportView(jTableSource); |
||
495 | |||
496 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
497 | gridBagConstraints.gridx = 0;
|
||
498 | gridBagConstraints.gridy = 0;
|
||
499 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
500 | gridBagConstraints.weightx = 1.0;
|
||
501 | gridBagConstraints.weighty = 1.0;
|
||
502 | jPanSource.add(jScrollPaneSource, gridBagConstraints); |
||
503 | |||
504 | jPanFirstRow.setLayout(new java.awt.GridBagLayout());
|
||
505 | |||
506 | jCheckFirstRow.setText("Don't normalize the first row");
|
||
507 | jCheckFirstRow.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); |
||
508 | jCheckFirstRow.addActionListener(new java.awt.event.ActionListener() {
|
||
509 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
510 | EvCheckFirstRow(evt); |
||
511 | } |
||
512 | }); |
||
513 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
514 | gridBagConstraints.gridx = 0;
|
||
515 | gridBagConstraints.gridy = 0;
|
||
516 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
517 | 22820 | vsanjaime | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
518 | 22677 | jsanz | gridBagConstraints.insets = new java.awt.Insets(3, 10, 0, 0); |
519 | jPanFirstRow.add(jCheckFirstRow, gridBagConstraints); |
||
520 | |||
521 | 22820 | vsanjaime | jTextNumberRows.setText("0");
|
522 | jTextNumberRows.setInputVerifier(new IntVerifier());
|
||
523 | jTextNumberRows.setMaximumSize(new java.awt.Dimension(20, 18)); |
||
524 | jTextNumberRows.setMinimumSize(new java.awt.Dimension(20, 18)); |
||
525 | jTextNumberRows.setPreferredSize(new java.awt.Dimension(20, 18)); |
||
526 | jTextNumberRows.addFocusListener(new java.awt.event.FocusAdapter() {
|
||
527 | public void focusLost(java.awt.event.FocusEvent evt) { |
||
528 | firstRowsFocusLost(evt); |
||
529 | } |
||
530 | }); |
||
531 | 22677 | jsanz | gridBagConstraints = new java.awt.GridBagConstraints();
|
532 | 22820 | vsanjaime | gridBagConstraints.gridx = 1;
|
533 | gridBagConstraints.gridy = 0;
|
||
534 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
535 | gridBagConstraints.insets = new java.awt.Insets(2, 3, 0, 5); |
||
536 | jPanFirstRow.add(jTextNumberRows, gridBagConstraints); |
||
537 | |||
538 | jLabelNumberRows.setText("rows");
|
||
539 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
540 | gridBagConstraints.gridx = 2;
|
||
541 | gridBagConstraints.gridy = 0;
|
||
542 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
543 | gridBagConstraints.weightx = 1.0;
|
||
544 | gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 0); |
||
545 | jPanFirstRow.add(jLabelNumberRows, gridBagConstraints); |
||
546 | |||
547 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
548 | 22677 | jsanz | gridBagConstraints.gridx = 0;
|
549 | gridBagConstraints.gridy = 1;
|
||
550 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
551 | gridBagConstraints.weightx = 1.0;
|
||
552 | jPanSource.add(jPanFirstRow, gridBagConstraints); |
||
553 | |||
554 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
555 | gridBagConstraints.gridx = 0;
|
||
556 | gridBagConstraints.gridy = 0;
|
||
557 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
558 | gridBagConstraints.weightx = 1.0;
|
||
559 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); |
||
560 | add(jPanSource, gridBagConstraints); |
||
561 | |||
562 | jPanFields.setLayout(new java.awt.GridBagLayout());
|
||
563 | |||
564 | jPanFieldList.setBorder(javax.swing.BorderFactory |
||
565 | .createTitledBorder("Fields"));
|
||
566 | jPanFieldList.setLayout(new java.awt.GridBagLayout());
|
||
567 | |||
568 | jScrollPaneFieldList.setPreferredSize(new java.awt.Dimension(100, 150)); |
||
569 | |||
570 | jListFieldList |
||
571 | .setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); |
||
572 | jListFieldList |
||
573 | .addListSelectionListener(new javax.swing.event.ListSelectionListener() {
|
||
574 | public void valueChanged( |
||
575 | javax.swing.event.ListSelectionEvent evt) { |
||
576 | jListFieldListValueChanged(evt); |
||
577 | } |
||
578 | }); |
||
579 | jScrollPaneFieldList.setViewportView(jListFieldList); |
||
580 | |||
581 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
582 | gridBagConstraints.gridx = 0;
|
||
583 | gridBagConstraints.gridy = 0;
|
||
584 | gridBagConstraints.gridheight = 4;
|
||
585 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
586 | gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
||
587 | gridBagConstraints.weightx = 1.0;
|
||
588 | gridBagConstraints.weighty = 1.0;
|
||
589 | jPanFieldList.add(jScrollPaneFieldList, gridBagConstraints); |
||
590 | |||
591 | jButFieldsAdd.setBorderPainted(false);
|
||
592 | jButFieldsAdd.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
||
593 | jButFieldsAdd.setMaximumSize(new java.awt.Dimension(30, 30)); |
||
594 | jButFieldsAdd.setMinimumSize(new java.awt.Dimension(30, 30)); |
||
595 | jButFieldsAdd.addActionListener(new java.awt.event.ActionListener() {
|
||
596 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
597 | ActionButtonAdd(evt); |
||
598 | } |
||
599 | }); |
||
600 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
601 | gridBagConstraints.gridx = 1;
|
||
602 | gridBagConstraints.gridy = 2;
|
||
603 | gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; |
||
604 | gridBagConstraints.weighty = 1.0;
|
||
605 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
606 | jPanFieldList.add(jButFieldsAdd, gridBagConstraints); |
||
607 | |||
608 | jButFieldsRem.setBorderPainted(false);
|
||
609 | jButFieldsRem.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
||
610 | jButFieldsRem.setMaximumSize(new java.awt.Dimension(30, 30)); |
||
611 | jButFieldsRem.addActionListener(new java.awt.event.ActionListener() {
|
||
612 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
613 | ActionButtonRemove(evt); |
||
614 | } |
||
615 | }); |
||
616 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
617 | gridBagConstraints.gridx = 1;
|
||
618 | gridBagConstraints.gridy = 3;
|
||
619 | gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; |
||
620 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
621 | jPanFieldList.add(jButFieldsRem, gridBagConstraints); |
||
622 | |||
623 | jButFieldsUp.setForeground(java.awt.SystemColor.activeCaptionBorder); |
||
624 | |||
625 | jButFieldsUp.setBorderPainted(false);
|
||
626 | jButFieldsUp.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
||
627 | jButFieldsUp.setMaximumSize(new java.awt.Dimension(30, 30)); |
||
628 | jButFieldsUp.addActionListener(new java.awt.event.ActionListener() {
|
||
629 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
630 | ActionButtonUp(evt); |
||
631 | } |
||
632 | }); |
||
633 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
634 | gridBagConstraints.gridx = 1;
|
||
635 | gridBagConstraints.gridy = 0;
|
||
636 | gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; |
||
637 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5); |
||
638 | jPanFieldList.add(jButFieldsUp, gridBagConstraints); |
||
639 | |||
640 | jButFieldsDown.setBorderPainted(false);
|
||
641 | jButFieldsDown.setMargin(new java.awt.Insets(5, 5, 5, 5)); |
||
642 | jButFieldsDown.setMaximumSize(new java.awt.Dimension(30, 30)); |
||
643 | jButFieldsDown.setMinimumSize(new java.awt.Dimension(30, 30)); |
||
644 | jButFieldsDown.addActionListener(new java.awt.event.ActionListener() {
|
||
645 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
646 | ActionButtonDown(evt); |
||
647 | } |
||
648 | }); |
||
649 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
650 | gridBagConstraints.gridx = 1;
|
||
651 | gridBagConstraints.gridy = 1;
|
||
652 | gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; |
||
653 | gridBagConstraints.weighty = 1.0;
|
||
654 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5); |
||
655 | jPanFieldList.add(jButFieldsDown, gridBagConstraints); |
||
656 | |||
657 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
658 | gridBagConstraints.gridx = 0;
|
||
659 | gridBagConstraints.gridy = 1;
|
||
660 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
661 | gridBagConstraints.weightx = 1.0;
|
||
662 | jPanFields.add(jPanFieldList, gridBagConstraints); |
||
663 | |||
664 | jPanFieldSettings.setBorder(javax.swing.BorderFactory |
||
665 | .createTitledBorder("Field settings"));
|
||
666 | jPanFieldSettings.setLayout(new java.awt.GridBagLayout());
|
||
667 | |||
668 | jPanFieldType.setBorder(javax.swing.BorderFactory |
||
669 | .createTitledBorder("Select field type"));
|
||
670 | jPanFieldType.setLayout(new java.awt.GridBagLayout());
|
||
671 | |||
672 | butGroupFieldType.add(jRadioString); |
||
673 | jRadioString.setSelected(true);
|
||
674 | jRadioString.setText("String");
|
||
675 | jRadioString.setAlignmentY(1.0F);
|
||
676 | jRadioString.addActionListener(new java.awt.event.ActionListener() {
|
||
677 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
678 | updateStringType(evt); |
||
679 | } |
||
680 | }); |
||
681 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
682 | gridBagConstraints.gridx = 0;
|
||
683 | gridBagConstraints.gridy = 0;
|
||
684 | gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; |
||
685 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
686 | jPanFieldType.add(jRadioString, gridBagConstraints); |
||
687 | |||
688 | butGroupFieldType.add(jRadioInteger); |
||
689 | jRadioInteger.setText("Integer");
|
||
690 | jRadioInteger.addActionListener(new java.awt.event.ActionListener() {
|
||
691 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
692 | updateIntegerType(evt); |
||
693 | } |
||
694 | }); |
||
695 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
696 | gridBagConstraints.gridx = 0;
|
||
697 | gridBagConstraints.gridy = 1;
|
||
698 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
699 | gridBagConstraints.weighty = 1.0;
|
||
700 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
701 | jPanFieldType.add(jRadioInteger, gridBagConstraints); |
||
702 | |||
703 | butGroupFieldType.add(jRadioDecimal); |
||
704 | jRadioDecimal.setText("Decimal");
|
||
705 | jRadioDecimal.addActionListener(new java.awt.event.ActionListener() {
|
||
706 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
707 | updateDecimalType(evt); |
||
708 | } |
||
709 | }); |
||
710 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
711 | gridBagConstraints.gridx = 0;
|
||
712 | gridBagConstraints.gridy = 2;
|
||
713 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
714 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
715 | jPanFieldType.add(jRadioDecimal, gridBagConstraints); |
||
716 | |||
717 | butGroupFieldType.add(jRadioDate); |
||
718 | jRadioDate.setText("Date");
|
||
719 | jRadioDate.addItemListener(new java.awt.event.ItemListener() {
|
||
720 | public void itemStateChanged(java.awt.event.ItemEvent evt) { |
||
721 | dateStateChanged(evt); |
||
722 | } |
||
723 | }); |
||
724 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
725 | gridBagConstraints.gridx = 0;
|
||
726 | gridBagConstraints.gridy = 3;
|
||
727 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
728 | gridBagConstraints.weighty = 1.0;
|
||
729 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
730 | jPanFieldType.add(jRadioDate, gridBagConstraints); |
||
731 | |||
732 | jComboDate.setEditable(true);
|
||
733 | jComboDate.setModel(new javax.swing.DefaultComboBoxModel(new String[] { |
||
734 | "dd/MM/yy", "dd/MM/yyyy", "MM/dd/yyyy", "yyyy/MM/dd", |
||
735 | "yy/MM/dd" }));
|
||
736 | jComboDate.setEnabled(false);
|
||
737 | jComboDate.addActionListener(new java.awt.event.ActionListener() {
|
||
738 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
739 | ActionListDateFormat(evt); |
||
740 | } |
||
741 | }); |
||
742 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
743 | gridBagConstraints.gridx = 0;
|
||
744 | gridBagConstraints.gridy = 4;
|
||
745 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
746 | gridBagConstraints.weightx = 1.0;
|
||
747 | gridBagConstraints.weighty = 1.0;
|
||
748 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
749 | jPanFieldType.add(jComboDate, gridBagConstraints); |
||
750 | |||
751 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
752 | gridBagConstraints.gridx = 0;
|
||
753 | gridBagConstraints.gridy = 1;
|
||
754 | gridBagConstraints.gridheight = 2;
|
||
755 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
756 | jPanFieldSettings.add(jPanFieldType, gridBagConstraints); |
||
757 | |||
758 | jPanSeparators.setBorder(javax.swing.BorderFactory |
||
759 | .createTitledBorder("Set how field delimites with next one"));
|
||
760 | jPanSeparators.setRequestFocusEnabled(false);
|
||
761 | jPanSeparators.setLayout(new java.awt.GridBagLayout());
|
||
762 | |||
763 | jPanFieldSeparators.setBorder(javax.swing.BorderFactory |
||
764 | .createTitledBorder("Select field separators"));
|
||
765 | jPanFieldSeparators.setEnabled(false);
|
||
766 | jPanFieldSeparators.setLayout(new java.awt.GridBagLayout());
|
||
767 | |||
768 | jChkTab.setText("Tab");
|
||
769 | jChkTab.addActionListener(new java.awt.event.ActionListener() {
|
||
770 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
771 | ActionTab(evt); |
||
772 | } |
||
773 | }); |
||
774 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
775 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
776 | jPanFieldSeparators.add(jChkTab, gridBagConstraints); |
||
777 | |||
778 | jChkSpace.setText("Space");
|
||
779 | jChkSpace.addActionListener(new java.awt.event.ActionListener() {
|
||
780 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
781 | ActionSpace(evt); |
||
782 | } |
||
783 | }); |
||
784 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
785 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
786 | jPanFieldSeparators.add(jChkSpace, gridBagConstraints); |
||
787 | |||
788 | jChkColon.setText("Colon");
|
||
789 | jChkColon.addActionListener(new java.awt.event.ActionListener() {
|
||
790 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
791 | ActionColon(evt); |
||
792 | } |
||
793 | }); |
||
794 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
795 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
796 | jPanFieldSeparators.add(jChkColon, gridBagConstraints); |
||
797 | |||
798 | jChkSemicolon.setText("Semicolon");
|
||
799 | jChkSemicolon.addActionListener(new java.awt.event.ActionListener() {
|
||
800 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
801 | ActionSemicolon(evt); |
||
802 | } |
||
803 | }); |
||
804 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
805 | gridBagConstraints.gridy = 1;
|
||
806 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
807 | jPanFieldSeparators.add(jChkSemicolon, gridBagConstraints); |
||
808 | |||
809 | jChkOther.setText("Other");
|
||
810 | jChkOther.addActionListener(new java.awt.event.ActionListener() {
|
||
811 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
812 | enableOtherText(evt); |
||
813 | } |
||
814 | }); |
||
815 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
816 | gridBagConstraints.gridy = 1;
|
||
817 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
818 | jPanFieldSeparators.add(jChkOther, gridBagConstraints); |
||
819 | |||
820 | jTextOther.setEditable(false);
|
||
821 | jTextOther.setMinimumSize(new java.awt.Dimension(20, 20)); |
||
822 | jTextOther.setPreferredSize(new java.awt.Dimension(20, 20)); |
||
823 | jTextOther.addActionListener(new java.awt.event.ActionListener() {
|
||
824 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
825 | ActionTextOther(evt); |
||
826 | } |
||
827 | }); |
||
828 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
829 | gridBagConstraints.gridy = 1;
|
||
830 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
831 | jPanFieldSeparators.add(jTextOther, gridBagConstraints); |
||
832 | |||
833 | jChkJoin.setText("Join consecutive delimiters ");
|
||
834 | jChkJoin.addActionListener(new java.awt.event.ActionListener() {
|
||
835 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
836 | ActionJoinSep(evt); |
||
837 | } |
||
838 | }); |
||
839 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
840 | gridBagConstraints.gridx = 0;
|
||
841 | gridBagConstraints.gridy = 3;
|
||
842 | gridBagConstraints.gridwidth = 3;
|
||
843 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
844 | gridBagConstraints.insets = new java.awt.Insets(10, 0, 0, 0); |
||
845 | jPanFieldSeparators.add(jChkJoin, gridBagConstraints); |
||
846 | |||
847 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
848 | gridBagConstraints.gridx = 0;
|
||
849 | gridBagConstraints.gridy = 1;
|
||
850 | gridBagConstraints.gridwidth = 3;
|
||
851 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
852 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
853 | gridBagConstraints.weighty = 1.0;
|
||
854 | jPanSeparators.add(jPanFieldSeparators, gridBagConstraints); |
||
855 | |||
856 | butGroupDelimiter.add(jRadioFixed); |
||
857 | jRadioFixed.setText("Fixed width");
|
||
858 | jRadioFixed.addActionListener(new java.awt.event.ActionListener() {
|
||
859 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
860 | fixedWidthEnable(evt); |
||
861 | } |
||
862 | }); |
||
863 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
864 | gridBagConstraints.gridx = 1;
|
||
865 | gridBagConstraints.gridy = 0;
|
||
866 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
867 | jPanSeparators.add(jRadioFixed, gridBagConstraints); |
||
868 | |||
869 | butGroupDelimiter.add(jRadioCharacter); |
||
870 | jRadioCharacter.setSelected(true);
|
||
871 | jRadioCharacter.setText("Character");
|
||
872 | jRadioCharacter.addActionListener(new java.awt.event.ActionListener() {
|
||
873 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
874 | charDelimitedEnable(evt); |
||
875 | } |
||
876 | }); |
||
877 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
878 | gridBagConstraints.gridx = 0;
|
||
879 | gridBagConstraints.gridy = 0;
|
||
880 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
881 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); |
||
882 | jPanSeparators.add(jRadioCharacter, gridBagConstraints); |
||
883 | |||
884 | jTextFieldWidth.setEditable(false);
|
||
885 | jTextFieldWidth.setInputVerifier(new IntVerifier());
|
||
886 | jTextFieldWidth.setMinimumSize(new java.awt.Dimension(40, 20)); |
||
887 | jTextFieldWidth.setPreferredSize(new java.awt.Dimension(40, 20)); |
||
888 | jTextFieldWidth.addActionListener(new java.awt.event.ActionListener() {
|
||
889 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
890 | ActionTextFixedWidth(evt); |
||
891 | } |
||
892 | }); |
||
893 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
894 | gridBagConstraints.gridx = 2;
|
||
895 | gridBagConstraints.gridy = 0;
|
||
896 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5); |
||
897 | jPanSeparators.add(jTextFieldWidth, gridBagConstraints); |
||
898 | |||
899 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
900 | gridBagConstraints.gridx = 1;
|
||
901 | gridBagConstraints.gridy = 1;
|
||
902 | gridBagConstraints.gridheight = 2;
|
||
903 | gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL; |
||
904 | jPanFieldSettings.add(jPanSeparators, gridBagConstraints); |
||
905 | |||
906 | jPanFieldName.setLayout(new java.awt.GridBagLayout());
|
||
907 | |||
908 | jChkDontImport.setText("Don't import");
|
||
909 | jChkDontImport.addActionListener(new java.awt.event.ActionListener() {
|
||
910 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
911 | ActionDontImport(evt); |
||
912 | } |
||
913 | }); |
||
914 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
915 | gridBagConstraints.gridx = 3;
|
||
916 | gridBagConstraints.insets = new java.awt.Insets(5, 15, 5, 5); |
||
917 | jPanFieldName.add(jChkDontImport, gridBagConstraints); |
||
918 | |||
919 | jLabFieldName.setText("Field name:");
|
||
920 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
921 | gridBagConstraints.gridx = 0;
|
||
922 | gridBagConstraints.gridy = 0;
|
||
923 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); |
||
924 | jPanFieldName.add(jLabFieldName, gridBagConstraints); |
||
925 | |||
926 | jTextFieldName.setText("Field1");
|
||
927 | jTextFieldName.setMinimumSize(new java.awt.Dimension(100, 20)); |
||
928 | jTextFieldName.setPreferredSize(new java.awt.Dimension(100, 20)); |
||
929 | jTextFieldName.addFocusListener(new java.awt.event.FocusAdapter() {
|
||
930 | public void focusLost(java.awt.event.FocusEvent evt) { |
||
931 | ActionFieldName(evt); |
||
932 | } |
||
933 | }); |
||
934 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
935 | gridBagConstraints.gridx = 1;
|
||
936 | gridBagConstraints.gridy = 0;
|
||
937 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
938 | gridBagConstraints.weightx = 1.0;
|
||
939 | gridBagConstraints.insets = new java.awt.Insets(5, 15, 5, 5); |
||
940 | jPanFieldName.add(jTextFieldName, gridBagConstraints); |
||
941 | |||
942 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
943 | gridBagConstraints.gridx = 0;
|
||
944 | gridBagConstraints.gridy = 0;
|
||
945 | gridBagConstraints.gridwidth = 3;
|
||
946 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
947 | gridBagConstraints.weightx = 1.0;
|
||
948 | jPanFieldSettings.add(jPanFieldName, gridBagConstraints); |
||
949 | |||
950 | jPanel1.setLayout(new java.awt.GridBagLayout());
|
||
951 | |||
952 | jPanApply.setLayout(new java.awt.GridBagLayout());
|
||
953 | |||
954 | jButTest.setText("Test");
|
||
955 | jButTest.addActionListener(new java.awt.event.ActionListener() {
|
||
956 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
957 | testNormalizer(evt); |
||
958 | } |
||
959 | }); |
||
960 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
961 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
962 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5); |
||
963 | jPanApply.add(jButTest, gridBagConstraints); |
||
964 | |||
965 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
966 | gridBagConstraints.gridx = 2;
|
||
967 | gridBagConstraints.gridy = 2;
|
||
968 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
969 | gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; |
||
970 | jPanel1.add(jPanApply, gridBagConstraints); |
||
971 | |||
972 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
973 | gridBagConstraints.gridx = 2;
|
||
974 | gridBagConstraints.gridy = 2;
|
||
975 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
976 | jPanFieldSettings.add(jPanel1, gridBagConstraints); |
||
977 | |||
978 | jPanInField.setBorder(javax.swing.BorderFactory |
||
979 | .createTitledBorder("Set separators"));
|
||
980 | jPanInField.setLayout(new java.awt.GridBagLayout());
|
||
981 | |||
982 | jLabDecimal.setText("Decimal");
|
||
983 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
984 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
985 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
986 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 15); |
||
987 | jPanInField.add(jLabDecimal, gridBagConstraints); |
||
988 | |||
989 | jTextDecimal.setText(".");
|
||
990 | jTextDecimal.setInputVerifier(new CharVerifier());
|
||
991 | jTextDecimal.setMinimumSize(new java.awt.Dimension(30, 20)); |
||
992 | jTextDecimal.setPreferredSize(new java.awt.Dimension(30, 20)); |
||
993 | jTextDecimal.addFocusListener(new java.awt.event.FocusAdapter() {
|
||
994 | public void focusLost(java.awt.event.FocusEvent evt) { |
||
995 | ActionDecimal(evt); |
||
996 | } |
||
997 | }); |
||
998 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
999 | gridBagConstraints.gridx = 1;
|
||
1000 | gridBagConstraints.gridy = 0;
|
||
1001 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1002 | gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 5); |
||
1003 | jPanInField.add(jTextDecimal, gridBagConstraints); |
||
1004 | |||
1005 | jLabThousand.setText("Thousand");
|
||
1006 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1007 | gridBagConstraints.gridx = 0;
|
||
1008 | gridBagConstraints.gridy = 1;
|
||
1009 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1010 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
1011 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 15); |
||
1012 | jPanInField.add(jLabThousand, gridBagConstraints); |
||
1013 | |||
1014 | jTextThousand.setText(null);
|
||
1015 | jTextThousand.setPreferredSize(new java.awt.Dimension(30, 20)); |
||
1016 | jTextThousand.addFocusListener(new java.awt.event.FocusAdapter() {
|
||
1017 | public void focusLost(java.awt.event.FocusEvent evt) { |
||
1018 | ActionThousand(evt); |
||
1019 | } |
||
1020 | }); |
||
1021 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1022 | gridBagConstraints.gridx = 1;
|
||
1023 | gridBagConstraints.gridy = 1;
|
||
1024 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1025 | gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 5); |
||
1026 | jPanInField.add(jTextThousand, gridBagConstraints); |
||
1027 | |||
1028 | jLabTextDel.setText("Text:");
|
||
1029 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1030 | gridBagConstraints.gridx = 0;
|
||
1031 | gridBagConstraints.gridy = 2;
|
||
1032 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1033 | gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; |
||
1034 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 15); |
||
1035 | jPanInField.add(jLabTextDel, gridBagConstraints); |
||
1036 | |||
1037 | jTextTextDelimiter.setHorizontalAlignment(javax.swing.JTextField.RIGHT); |
||
1038 | jTextTextDelimiter.setText("\"");
|
||
1039 | jTextTextDelimiter.setPreferredSize(new java.awt.Dimension(30, 20)); |
||
1040 | jTextTextDelimiter.addFocusListener(new java.awt.event.FocusAdapter() {
|
||
1041 | public void focusLost(java.awt.event.FocusEvent evt) { |
||
1042 | ActionTextText(evt); |
||
1043 | } |
||
1044 | }); |
||
1045 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1046 | gridBagConstraints.gridx = 1;
|
||
1047 | gridBagConstraints.gridy = 2;
|
||
1048 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1049 | gridBagConstraints.insets = new java.awt.Insets(5, 0, 5, 5); |
||
1050 | jPanInField.add(jTextTextDelimiter, gridBagConstraints); |
||
1051 | |||
1052 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1053 | gridBagConstraints.gridx = 2;
|
||
1054 | gridBagConstraints.gridy = 1;
|
||
1055 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1056 | jPanFieldSettings.add(jPanInField, gridBagConstraints); |
||
1057 | |||
1058 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1059 | gridBagConstraints.gridx = 1;
|
||
1060 | gridBagConstraints.gridy = 1;
|
||
1061 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1062 | jPanFields.add(jPanFieldSettings, gridBagConstraints); |
||
1063 | |||
1064 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1065 | gridBagConstraints.gridx = 0;
|
||
1066 | gridBagConstraints.gridy = 1;
|
||
1067 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1068 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1069 | add(jPanFields, gridBagConstraints); |
||
1070 | |||
1071 | jPanOutput.setLayout(new java.awt.GridBagLayout());
|
||
1072 | |||
1073 | jPanOutputOpt.setBorder(javax.swing.BorderFactory |
||
1074 | .createTitledBorder("Output options"));
|
||
1075 | jPanOutputOpt.setLayout(new java.awt.GridBagLayout());
|
||
1076 | |||
1077 | butGroupOutput.add(jRadioAlterTable); |
||
1078 | jRadioAlterTable.setSelected(true);
|
||
1079 | jRadioAlterTable.setText("Alter table");
|
||
1080 | jRadioAlterTable.addActionListener(new java.awt.event.ActionListener() {
|
||
1081 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
1082 | ActionAlterTable(evt); |
||
1083 | } |
||
1084 | }); |
||
1085 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1086 | gridBagConstraints.gridx = 0;
|
||
1087 | gridBagConstraints.gridy = 0;
|
||
1088 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1089 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1090 | jPanOutputOpt.add(jRadioAlterTable, gridBagConstraints); |
||
1091 | |||
1092 | butGroupOutput.add(jRadioNewTable); |
||
1093 | jRadioNewTable.setText("Create new table");
|
||
1094 | jRadioNewTable.addActionListener(new java.awt.event.ActionListener() {
|
||
1095 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
1096 | ActionNewTable(evt); |
||
1097 | } |
||
1098 | }); |
||
1099 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1100 | gridBagConstraints.gridx = 1;
|
||
1101 | gridBagConstraints.gridy = 0;
|
||
1102 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1103 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1104 | jPanOutputOpt.add(jRadioNewTable, gridBagConstraints); |
||
1105 | |||
1106 | jLabelSelFields |
||
1107 | .setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); |
||
1108 | jLabelSelFields.setText("Select join field");
|
||
1109 | jLabelSelFields |
||
1110 | .setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); |
||
1111 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1112 | gridBagConstraints.gridx = 0;
|
||
1113 | gridBagConstraints.gridy = 1;
|
||
1114 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1115 | gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; |
||
1116 | gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 10); |
||
1117 | jPanOutputOpt.add(jLabelSelFields, gridBagConstraints); |
||
1118 | |||
1119 | jScrollPaneOriginalFields.setViewportView(jListOriginalFields); |
||
1120 | |||
1121 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1122 | gridBagConstraints.gridx = 1;
|
||
1123 | gridBagConstraints.gridy = 1;
|
||
1124 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1125 | gridBagConstraints.weighty = 1.0;
|
||
1126 | jPanOutputOpt.add(jScrollPaneOriginalFields, gridBagConstraints); |
||
1127 | |||
1128 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1129 | gridBagConstraints.gridy = 0;
|
||
1130 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1131 | gridBagConstraints.weighty = 1.0;
|
||
1132 | jPanOutput.add(jPanOutputOpt, gridBagConstraints); |
||
1133 | |||
1134 | jPanConsole.setBorder(javax.swing.BorderFactory |
||
1135 | .createTitledBorder("Error console"));
|
||
1136 | jPanConsole.setLayout(new java.awt.GridBagLayout());
|
||
1137 | |||
1138 | jScrollPaneConsole.setBorder(javax.swing.BorderFactory |
||
1139 | .createLineBorder(java.awt.SystemColor.controlShadow)); |
||
1140 | |||
1141 | jTextAreaConsole.setColumns(20);
|
||
1142 | jTextAreaConsole.setEditable(false);
|
||
1143 | jTextAreaConsole.setRows(5);
|
||
1144 | jScrollPaneConsole.setViewportView(jTextAreaConsole); |
||
1145 | |||
1146 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1147 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1148 | gridBagConstraints.weightx = 1.0;
|
||
1149 | gridBagConstraints.weighty = 1.0;
|
||
1150 | jPanConsole.add(jScrollPaneConsole, gridBagConstraints); |
||
1151 | |||
1152 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1153 | gridBagConstraints.gridx = 1;
|
||
1154 | gridBagConstraints.gridy = 0;
|
||
1155 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1156 | gridBagConstraints.weightx = 1.0;
|
||
1157 | gridBagConstraints.weighty = 1.0;
|
||
1158 | jPanOutput.add(jPanConsole, gridBagConstraints); |
||
1159 | |||
1160 | jPanFinalButtons.setLayout(new java.awt.GridBagLayout());
|
||
1161 | |||
1162 | jButLoad.setText("Load...");
|
||
1163 | jButLoad.addActionListener(new java.awt.event.ActionListener() {
|
||
1164 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
1165 | jButLoadActionPerformed(evt); |
||
1166 | } |
||
1167 | }); |
||
1168 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1169 | gridBagConstraints.gridx = 0;
|
||
1170 | gridBagConstraints.gridy = 0;
|
||
1171 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1172 | gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; |
||
1173 | gridBagConstraints.insets = new java.awt.Insets(10, 5, 5, 5); |
||
1174 | jPanFinalButtons.add(jButLoad, gridBagConstraints); |
||
1175 | |||
1176 | jButRun.setText("Run");
|
||
1177 | jButRun.addActionListener(new java.awt.event.ActionListener() {
|
||
1178 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
1179 | runNormalizer(evt); |
||
1180 | } |
||
1181 | }); |
||
1182 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1183 | gridBagConstraints.gridx = 0;
|
||
1184 | gridBagConstraints.gridy = 2;
|
||
1185 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1186 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1187 | jPanFinalButtons.add(jButRun, gridBagConstraints); |
||
1188 | |||
1189 | jButCancel.setText("Cancel");
|
||
1190 | jButCancel.addActionListener(new java.awt.event.ActionListener() {
|
||
1191 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
1192 | ActionCancel(evt); |
||
1193 | } |
||
1194 | }); |
||
1195 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1196 | gridBagConstraints.gridx = 0;
|
||
1197 | gridBagConstraints.gridy = 3;
|
||
1198 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1199 | gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; |
||
1200 | gridBagConstraints.weighty = 1.0;
|
||
1201 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1202 | jPanFinalButtons.add(jButCancel, gridBagConstraints); |
||
1203 | |||
1204 | jButSave.setText("Save...");
|
||
1205 | jButSave.addActionListener(new java.awt.event.ActionListener() {
|
||
1206 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
||
1207 | jButSaveActionPerformed(evt); |
||
1208 | } |
||
1209 | }); |
||
1210 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1211 | gridBagConstraints.gridx = 0;
|
||
1212 | gridBagConstraints.gridy = 1;
|
||
1213 | gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; |
||
1214 | gridBagConstraints.weightx = 1.0;
|
||
1215 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1216 | jPanFinalButtons.add(jButSave, gridBagConstraints); |
||
1217 | |||
1218 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1219 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1220 | jPanOutput.add(jPanFinalButtons, gridBagConstraints); |
||
1221 | |||
1222 | gridBagConstraints = new java.awt.GridBagConstraints();
|
||
1223 | gridBagConstraints.gridx = 0;
|
||
1224 | gridBagConstraints.gridy = 3;
|
||
1225 | gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
||
1226 | gridBagConstraints.weighty = 1.0;
|
||
1227 | gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); |
||
1228 | add(jPanOutput, gridBagConstraints); |
||
1229 | } |
||
1230 | |||
1231 | // *****************************************
|
||
1232 | // PANEL EVENTS
|
||
1233 | |||
1234 | /**
|
||
1235 | * This method runs when check FirstRow is selected or deselected
|
||
1236 | *
|
||
1237 | * @param evt
|
||
1238 | */
|
||
1239 | private void EvCheckFirstRow(java.awt.event.ActionEvent evt) { |
||
1240 | 22820 | vsanjaime | /* DON'T Normalize the first rows */
|
1241 | 22677 | jsanz | if (jCheckFirstRow.isSelected()) {
|
1242 | 22820 | vsanjaime | jTextNumberRows.setText("1");
|
1243 | jTextNumberRows.setEditable(true);
|
||
1244 | npm.setFirstRows(Integer.parseInt(jTextNumberRows.getText()));
|
||
1245 | this.jTextNumberRows.requestFocus();
|
||
1246 | npm.getSamplesFromFile(npm.getFirstRows()); |
||
1247 | jTableSource.setModel(getSourceData()); |
||
1248 | 22677 | jsanz | } |
1249 | 22820 | vsanjaime | /* Normalize the first rows */
|
1250 | 22677 | jsanz | else {
|
1251 | 22820 | vsanjaime | jTextNumberRows.setText("0");
|
1252 | jTextNumberRows.setEditable(false);
|
||
1253 | npm.setFirstRows(0);
|
||
1254 | npm.getSamplesFromFile(npm.getFirstRows()); |
||
1255 | jTableSource.setModel(getSourceData()); |
||
1256 | 22677 | jsanz | } |
1257 | } |
||
1258 | |||
1259 | /**
|
||
1260 | 22820 | vsanjaime | * This method runs when textField is modify
|
1261 | *
|
||
1262 | * @param evt
|
||
1263 | */
|
||
1264 | private void firstRowsFocusLost(java.awt.event.FocusEvent evt) { |
||
1265 | int val;
|
||
1266 | try{
|
||
1267 | val = Integer.parseInt(jTextNumberRows.getText());
|
||
1268 | npm.setFirstRows(val); |
||
1269 | npm.getSamplesFromFile(npm.getFirstRows()); |
||
1270 | jTableSource.setModel(getSourceData()); |
||
1271 | } |
||
1272 | catch(Exception e){ |
||
1273 | jTextNumberRows.requestFocus(); |
||
1274 | } |
||
1275 | |||
1276 | } |
||
1277 | |||
1278 | /**
|
||
1279 | 22677 | jsanz | * This method runs when check Don't Import is selected or deselected
|
1280 | *
|
||
1281 | * @param evt
|
||
1282 | */
|
||
1283 | private void ActionDontImport(java.awt.event.ActionEvent evt) { |
||
1284 | setDirty(true);
|
||
1285 | } |
||
1286 | |||
1287 | /**
|
||
1288 | * This method runs when combo Date Format has changed
|
||
1289 | *
|
||
1290 | * @param evt
|
||
1291 | */
|
||
1292 | private void ActionListDateFormat(java.awt.event.ActionEvent evt) { |
||
1293 | setDirty(true);
|
||
1294 | } |
||
1295 | |||
1296 | /**
|
||
1297 | * This method runs when text fixed width has changed
|
||
1298 | *
|
||
1299 | * @param evt
|
||
1300 | */
|
||
1301 | private void ActionTextFixedWidth(java.awt.event.ActionEvent evt) { |
||
1302 | setDirty(true);
|
||
1303 | } |
||
1304 | |||
1305 | /**
|
||
1306 | * This method runs when check TAB is selected or deselected
|
||
1307 | *
|
||
1308 | * @param evt
|
||
1309 | */
|
||
1310 | private void ActionTab(java.awt.event.ActionEvent evt) { |
||
1311 | setDirty(true);
|
||
1312 | } |
||
1313 | |||
1314 | /**
|
||
1315 | * This method runs when check SPACE is selected or deselected
|
||
1316 | *
|
||
1317 | * @param evt
|
||
1318 | */
|
||
1319 | private void ActionSpace(java.awt.event.ActionEvent evt) { |
||
1320 | setDirty(true);
|
||
1321 | } |
||
1322 | |||
1323 | /**
|
||
1324 | * This method runs when check COLON is selected or deselected
|
||
1325 | *
|
||
1326 | * @param evt
|
||
1327 | */
|
||
1328 | private void ActionColon(java.awt.event.ActionEvent evt) { |
||
1329 | setDirty(true);
|
||
1330 | } |
||
1331 | |||
1332 | /**
|
||
1333 | * This method runs when check SEMICOLON is selected or deselected
|
||
1334 | *
|
||
1335 | * @param evt
|
||
1336 | */
|
||
1337 | private void ActionSemicolon(java.awt.event.ActionEvent evt) { |
||
1338 | setDirty(true);
|
||
1339 | } |
||
1340 | |||
1341 | /**
|
||
1342 | * This method runs when text Other has changed
|
||
1343 | *
|
||
1344 | * @param evt
|
||
1345 | */
|
||
1346 | private void ActionTextOther(java.awt.event.ActionEvent evt) { |
||
1347 | setDirty(true);
|
||
1348 | } |
||
1349 | |||
1350 | /**
|
||
1351 | * This method runs when text Decimal has changed
|
||
1352 | *
|
||
1353 | * @param evt
|
||
1354 | */
|
||
1355 | private void ActionDecimal(java.awt.event.FocusEvent evt) { |
||
1356 | setDirty(true);
|
||
1357 | } |
||
1358 | |||
1359 | /**
|
||
1360 | * This method runs when text Thousand has changed
|
||
1361 | *
|
||
1362 | * @param evt
|
||
1363 | */
|
||
1364 | private void ActionThousand(java.awt.event.FocusEvent evt) { |
||
1365 | setDirty(true);
|
||
1366 | } |
||
1367 | |||
1368 | /**
|
||
1369 | * This method runs when text Text has changed
|
||
1370 | *
|
||
1371 | * @param evt
|
||
1372 | */
|
||
1373 | private void ActionTextText(java.awt.event.FocusEvent evt) { |
||
1374 | setDirty(true);
|
||
1375 | } |
||
1376 | |||
1377 | /**
|
||
1378 | * This method runs when Field Name has changed
|
||
1379 | *
|
||
1380 | * @param evt
|
||
1381 | */
|
||
1382 | private void ActionFieldName(java.awt.event.FocusEvent evt) { |
||
1383 | |||
1384 | int pos = npm.getSelectedFieldInList();
|
||
1385 | updateFieldSettingsModel(); |
||
1386 | updateGUI(); |
||
1387 | setDirty(false);
|
||
1388 | jListFieldList.setSelectedIndex(pos); |
||
1389 | |||
1390 | } |
||
1391 | |||
1392 | private void mainPanelGetFocus(java.awt.event.FocusEvent evt) { |
||
1393 | jTableSource.setModel(getSourceData()); |
||
1394 | } |
||
1395 | |||
1396 | /**
|
||
1397 | * This method runs when check Join Separators is selected or deselected
|
||
1398 | *
|
||
1399 | * @param evt
|
||
1400 | */
|
||
1401 | private void ActionJoinSep(java.awt.event.ActionEvent evt) { |
||
1402 | setDirty(true);
|
||
1403 | } |
||
1404 | |||
1405 | /**
|
||
1406 | * This method runs when check fixed width is selected or deselected
|
||
1407 | *
|
||
1408 | * @param evt
|
||
1409 | */
|
||
1410 | private void fixedWidthEnable(java.awt.event.ActionEvent evt) { |
||
1411 | this.jTextFieldWidth.setEditable(true); |
||
1412 | Component[] comps = this.jPanFieldSeparators.getComponents(); |
||
1413 | for (Component comp : comps) { |
||
1414 | comp.setEnabled(false);
|
||
1415 | } |
||
1416 | this.jTextFieldWidth.requestFocus();
|
||
1417 | setDirty(true);
|
||
1418 | } |
||
1419 | |||
1420 | /**
|
||
1421 | * This method runs when radio character delimiters is selected or
|
||
1422 | * deselected
|
||
1423 | *
|
||
1424 | * @param evt
|
||
1425 | */
|
||
1426 | private void charDelimitedEnable(java.awt.event.ActionEvent evt) { |
||
1427 | this.jTextFieldWidth.setEditable(false); |
||
1428 | Component[] comps = this.jPanFieldSeparators.getComponents(); |
||
1429 | for (Component comp : comps) { |
||
1430 | comp.setEnabled(true);
|
||
1431 | } |
||
1432 | setDirty(true);
|
||
1433 | } |
||
1434 | |||
1435 | /**
|
||
1436 | * This method runs when radio Field Date is selected or deselected
|
||
1437 | *
|
||
1438 | * @param evt
|
||
1439 | */
|
||
1440 | private void dateStateChanged(java.awt.event.ItemEvent evt) { |
||
1441 | boolean enable = this.jRadioDate.isSelected(); |
||
1442 | this.jComboDate.setEnabled(enable);
|
||
1443 | if (enable) {
|
||
1444 | this.jComboDate.requestFocus();
|
||
1445 | } |
||
1446 | setDirty(true);
|
||
1447 | } |
||
1448 | |||
1449 | /**
|
||
1450 | * This method runs when Testing button is pressed
|
||
1451 | *
|
||
1452 | * @param evt
|
||
1453 | */
|
||
1454 | private void testNormalizer(java.awt.event.ActionEvent evt) { |
||
1455 | /* Save elements */
|
||
1456 | if (isDirty()) {
|
||
1457 | updateFieldSettingsModel(); |
||
1458 | } |
||
1459 | /* Normalize */
|
||
1460 | Object[][] data = this.npm.normalizeSamples(); |
||
1461 | String[] nam = this.npm.getNewFieldNames(); |
||
1462 | jTableResult.setModel(new DefaultTableModel(data, nam)); |
||
1463 | } |
||
1464 | |||
1465 | /**
|
||
1466 | * This method runs when check OTHER TEXT is selected or deselected
|
||
1467 | *
|
||
1468 | * @param evt
|
||
1469 | */
|
||
1470 | private void enableOtherText(java.awt.event.ActionEvent evt) { |
||
1471 | this.jTextOther.setEditable(this.jChkOther.isSelected()); |
||
1472 | if (this.jChkOther.isSelected()) { |
||
1473 | jTextOther.requestFocus(); |
||
1474 | } |
||
1475 | setDirty(true);
|
||
1476 | } |
||
1477 | |||
1478 | /**
|
||
1479 | * This method runs when Normalization button is pressed
|
||
1480 | *
|
||
1481 | * @param evt
|
||
1482 | */
|
||
1483 | private void runNormalizer(java.awt.event.ActionEvent evt) { |
||
1484 | /* Save the pattern */
|
||
1485 | if (isDirty()) {
|
||
1486 | updateFieldSettingsModel(); |
||
1487 | } |
||
1488 | |||
1489 | /* Get the relate fields of the lIst */
|
||
1490 | if (!isFile) {
|
||
1491 | String[] nam = null; |
||
1492 | Object[] names = jListOriginalFields.getSelectedValues(); |
||
1493 | |||
1494 | /* select all fields */
|
||
1495 | if (jListOriginalFields.getSelectedIndex() == 1) { |
||
1496 | |||
1497 | nam = npm.getFieldNamesMainTable(); |
||
1498 | } |
||
1499 | /* fields selected */
|
||
1500 | if (jListOriginalFields.getSelectedIndex() != 0 |
||
1501 | && jListOriginalFields.getSelectedIndex() != 1) {
|
||
1502 | |||
1503 | nam = new String[names.length]; |
||
1504 | for (int i = 0; i < names.length; i++) { |
||
1505 | nam[i] = (String) names[i];
|
||
1506 | } |
||
1507 | } |
||
1508 | npm.setNameRelateFields(nam); |
||
1509 | } |
||
1510 | |||
1511 | /* RUN */
|
||
1512 | this.npm.runModel(this); |
||
1513 | jTextAreaConsole.setText(npm.getInfo()); |
||
1514 | |||
1515 | } |
||
1516 | |||
1517 | /**
|
||
1518 | * Update the type
|
||
1519 | *
|
||
1520 | * @param evt
|
||
1521 | */
|
||
1522 | private void updateStringType(java.awt.event.ActionEvent evt) { |
||
1523 | updateSelectors(); |
||
1524 | setDirty(true);
|
||
1525 | } |
||
1526 | |||
1527 | /**
|
||
1528 | * Update the type
|
||
1529 | *
|
||
1530 | * @param evt
|
||
1531 | */
|
||
1532 | private void updateIntegerType(java.awt.event.ActionEvent evt) { |
||
1533 | updateSelectors(); |
||
1534 | setDirty(true);
|
||
1535 | } |
||
1536 | |||
1537 | /**
|
||
1538 | * Update the type
|
||
1539 | *
|
||
1540 | * @param evt
|
||
1541 | */
|
||
1542 | private void updateDecimalType(java.awt.event.ActionEvent evt) { |
||
1543 | updateSelectors(); |
||
1544 | setDirty(true);
|
||
1545 | } |
||
1546 | |||
1547 | /**
|
||
1548 | * This method runs when UP button is pressed
|
||
1549 | *
|
||
1550 | * @param evt
|
||
1551 | */
|
||
1552 | private void ActionButtonUp(java.awt.event.ActionEvent evt) { |
||
1553 | updateFieldSettingsModel(); |
||
1554 | setDirty(false);
|
||
1555 | int pos = jListFieldList.getSelectedIndex();
|
||
1556 | npm.fieldUp(pos); |
||
1557 | DefaultListModel dlm = npm.updateListModel();
|
||
1558 | jListFieldList.removeAll(); |
||
1559 | jListFieldList.setModel(dlm); |
||
1560 | jListFieldList.setSelectedIndex(pos); |
||
1561 | if (pos > 0 && dlm.getSize() > 1) { |
||
1562 | jListFieldList.setSelectedIndex(pos - 1);
|
||
1563 | npm.setSelectedFieldInList(pos - 1);
|
||
1564 | } else {
|
||
1565 | jListFieldList.setSelectedIndex(pos); |
||
1566 | npm.setSelectedFieldInList(pos); |
||
1567 | } |
||
1568 | } |
||
1569 | |||
1570 | /**
|
||
1571 | * This method runs when ADD button is pressed
|
||
1572 | *
|
||
1573 | * @param evt
|
||
1574 | */
|
||
1575 | private void ActionButtonAdd(java.awt.event.ActionEvent evt) { |
||
1576 | updateFieldSettingsModel(); |
||
1577 | setDirty(false);
|
||
1578 | npm.addField(); |
||
1579 | DefaultListModel dlm = npm.updateListModel();
|
||
1580 | jListFieldList.setModel(dlm); |
||
1581 | int si = dlm.size();
|
||
1582 | npm.setSelectedFieldInList(si - 1);
|
||
1583 | jListFieldList.setSelectedIndex(npm.getSelectedFieldInList()); |
||
1584 | jTextOther.setEditable(false);
|
||
1585 | } |
||
1586 | |||
1587 | /**
|
||
1588 | * This method runs when REMOVE button is pressed
|
||
1589 | *
|
||
1590 | * @param evt
|
||
1591 | */
|
||
1592 | private void ActionButtonRemove(java.awt.event.ActionEvent evt) { |
||
1593 | int pos = jListFieldList.getSelectedIndex();
|
||
1594 | updateFieldSettingsModel(); |
||
1595 | setDirty(false);
|
||
1596 | npm.deleteField(pos); |
||
1597 | DefaultListModel dlm = npm.updateListModel();
|
||
1598 | jListFieldList.setModel(dlm); |
||
1599 | if (pos > 0) { |
||
1600 | jListFieldList.setSelectedIndex(pos - 1);
|
||
1601 | npm.setSelectedFieldInList(pos - 1);
|
||
1602 | } else {
|
||
1603 | jListFieldList.setSelectedIndex(pos); |
||
1604 | npm.setSelectedFieldInList(pos); |
||
1605 | } |
||
1606 | } |
||
1607 | |||
1608 | /**
|
||
1609 | * This method runs when DOWN button is pressed
|
||
1610 | *
|
||
1611 | * @param evt
|
||
1612 | */
|
||
1613 | private void ActionButtonDown(java.awt.event.ActionEvent evt) { |
||
1614 | int pos = jListFieldList.getSelectedIndex();
|
||
1615 | updateFieldSettingsModel(); |
||
1616 | setDirty(false);
|
||
1617 | npm.fieldDown(pos); |
||
1618 | DefaultListModel dlm = npm.updateListModel();
|
||
1619 | jListFieldList.removeAll(); |
||
1620 | jListFieldList.setModel(dlm); |
||
1621 | jListFieldList.setSelectedIndex(pos); |
||
1622 | int can = dlm.getSize();
|
||
1623 | |||
1624 | if (pos < can - 1 && can > 1) { |
||
1625 | jListFieldList.setSelectedIndex(pos + 1);
|
||
1626 | npm.setSelectedFieldInList(pos + 1);
|
||
1627 | } else {
|
||
1628 | jListFieldList.setSelectedIndex(pos); |
||
1629 | npm.setSelectedFieldInList(pos); |
||
1630 | } |
||
1631 | } |
||
1632 | |||
1633 | /**
|
||
1634 | * Select alter table
|
||
1635 | *
|
||
1636 | * @param evt
|
||
1637 | */
|
||
1638 | private void ActionAlterTable(java.awt.event.ActionEvent evt) { |
||
1639 | this.jListOriginalFields.setEnabled(false); |
||
1640 | npm.setInNewTable(false);
|
||
1641 | |||
1642 | } |
||
1643 | |||
1644 | /**
|
||
1645 | * Select new table
|
||
1646 | *
|
||
1647 | * @param evt
|
||
1648 | */
|
||
1649 | private void ActionNewTable(java.awt.event.ActionEvent evt) { |
||
1650 | if (!isFile) {
|
||
1651 | this.jListOriginalFields.setEnabled(true); |
||
1652 | } |
||
1653 | jListOriginalFields.setSelectedIndex(0);
|
||
1654 | npm.setInNewTable(true);
|
||
1655 | } |
||
1656 | |||
1657 | /**
|
||
1658 | * When press the Load pattern button
|
||
1659 | *
|
||
1660 | * @param evt
|
||
1661 | */
|
||
1662 | private void jButLoadActionPerformed(java.awt.event.ActionEvent evt) { |
||
1663 | /* update the model from the view */
|
||
1664 | updateFieldSettingsModel(); |
||
1665 | setDirty(false);
|
||
1666 | |||
1667 | /* load the model from xml file */
|
||
1668 | Patternnormalization pat = npm.loadPatternXML(); |
||
1669 | |||
1670 | /* update the panel */
|
||
1671 | if (pat != null) { |
||
1672 | /* save pattern in the model */
|
||
1673 | npm.setPattern(pat); |
||
1674 | |||
1675 | DefaultListModel dlm = npm.updateListModel();
|
||
1676 | jListFieldList.setModel(dlm); |
||
1677 | jListFieldList.setSelectedIndex(0);
|
||
1678 | 22820 | vsanjaime | jCheckFirstRow.setSelected(npm.getFirstRows() != 0);
|
1679 | if(jCheckFirstRow.isSelected()){
|
||
1680 | jTextNumberRows.setEditable(true);
|
||
1681 | jTextNumberRows.setText(npm.getFirstRows()+"");
|
||
1682 | npm.getSamplesFromFile(npm.getFirstRows()); |
||
1683 | jTableSource.setModel(getSourceData()); |
||
1684 | } |
||
1685 | 22677 | jsanz | setDirty(false);
|
1686 | |||
1687 | jTextAreaConsole.setText(npm.getInfo()); |
||
1688 | |||
1689 | } else {
|
||
1690 | jTextAreaConsole.setText(npm.getInfo()); |
||
1691 | } |
||
1692 | |||
1693 | } |
||
1694 | |||
1695 | /**
|
||
1696 | * When change the selected element
|
||
1697 | *
|
||
1698 | * @param evt
|
||
1699 | */
|
||
1700 | private void jListFieldListValueChanged( |
||
1701 | javax.swing.event.ListSelectionEvent evt) { |
||
1702 | /* Save the parameters in the model */
|
||
1703 | |||
1704 | if (isDirty()) {
|
||
1705 | updateFieldSettingsModel(); |
||
1706 | jListFieldList.setModel(npm.updateListModel()); |
||
1707 | } |
||
1708 | int pos = (int) jListFieldList.getSelectedIndex(); |
||
1709 | if (pos != -1 && !evt.getValueIsAdjusting()) { |
||
1710 | npm.setSelectedFieldInList(pos); |
||
1711 | updateFieldSettingsValuesGUI(pos); |
||
1712 | } |
||
1713 | setDirty(false);
|
||
1714 | } |
||
1715 | |||
1716 | /**
|
||
1717 | * Close the panel
|
||
1718 | *
|
||
1719 | * @param evt
|
||
1720 | */
|
||
1721 | private void ActionCancel(java.awt.event.ActionEvent evt) { |
||
1722 | IWindow[] iws = PluginServices.getMDIManager().getAllWindows();
|
||
1723 | for (int i = 0; i < iws.length; i++) { |
||
1724 | if (iws[i] instanceof NormalizationPanel) { |
||
1725 | PluginServices.getMDIManager().closeWindow(iws[i]); |
||
1726 | } |
||
1727 | } |
||
1728 | npm.initPattern(); |
||
1729 | npm.clearConsole(); |
||
1730 | jTextAreaConsole.removeAll(); |
||
1731 | } |
||
1732 | |||
1733 | /**
|
||
1734 | * When press the Save pattern button
|
||
1735 | *
|
||
1736 | * @param evt
|
||
1737 | */
|
||
1738 | private void jButSaveActionPerformed(java.awt.event.ActionEvent evt) { |
||
1739 | 22820 | vsanjaime | npm.setFirstRows(Integer.parseInt(jTextNumberRows.getText()));
|
1740 | 22677 | jsanz | updateFieldSettingsModel(); |
1741 | setDirty(false);
|
||
1742 | /* save the pattern */
|
||
1743 | npm.savePatternXML(); |
||
1744 | /* Show info in console */
|
||
1745 | jTextAreaConsole.setText(npm.getInfo()); |
||
1746 | } |
||
1747 | |||
1748 | /* FIN ACTION */
|
||
1749 | |||
1750 | /**
|
||
1751 | * Method to update GUI values with the selected column
|
||
1752 | *
|
||
1753 | * @param id
|
||
1754 | * column number
|
||
1755 | */
|
||
1756 | private void updateFieldSettingsValuesGUI(int id) { |
||
1757 | |||
1758 | Addresselement elem = this.npm.getAddresselement(id);
|
||
1759 | |||
1760 | /* name */
|
||
1761 | this.jTextFieldName.setText(elem.getNewfieldname());
|
||
1762 | |||
1763 | /* don't import */
|
||
1764 | this.jChkDontImport.setSelected(!elem.getImportfield());
|
||
1765 | |||
1766 | /* Update type */
|
||
1767 | Newfieldtype type = elem.getNewfieldtype(); |
||
1768 | |||
1769 | if (type == null) { |
||
1770 | type = new Newfieldtype();
|
||
1771 | type.setStringvalue(new Stringvalue());
|
||
1772 | elem.setNewfieldtype(type); |
||
1773 | } |
||
1774 | |||
1775 | boolean flag = false; |
||
1776 | if (type.getDatevalue() != null) { |
||
1777 | jRadioDate.setSelected(true);
|
||
1778 | String formato = type.getDatevalue().getFormat();
|
||
1779 | DefaultComboBoxModel model = (DefaultComboBoxModel) jComboDate |
||
1780 | .getModel(); |
||
1781 | for (int i = 0; i < model.getSize(); i++) { |
||
1782 | String nameformato = (String) model.getElementAt(i); |
||
1783 | if (formato.compareToIgnoreCase(nameformato) == 0) { |
||
1784 | jComboDate.setSelectedIndex(i); |
||
1785 | flag = true;
|
||
1786 | } |
||
1787 | } |
||
1788 | if (!flag) {
|
||
1789 | model.addElement(formato); |
||
1790 | jComboDate.setModel(model); |
||
1791 | jComboDate.setSelectedItem(formato); |
||
1792 | } |
||
1793 | } else if (type.getStringvalue() != null) { |
||
1794 | jRadioString.setSelected(true);
|
||
1795 | } else if (type.getIntegervalue() != null) { |
||
1796 | jRadioInteger.setSelected(true);
|
||
1797 | } else if (type.getDecimalvalue() != null) { |
||
1798 | jRadioDecimal.setSelected(true);
|
||
1799 | } |
||
1800 | |||
1801 | /* Update field separator */
|
||
1802 | Fieldseparator seps = elem.getFieldseparator(); |
||
1803 | if (seps == null) { |
||
1804 | npm.getDefaultFieldseparators(); |
||
1805 | } |
||
1806 | |||
1807 | this.jTextFieldWidth.setText(Integer.toString(elem.getFieldwidth())); |
||
1808 | boolean isFixedWidth = elem.getFieldwidth() > 0; |
||
1809 | |||
1810 | this.jRadioFixed.setSelected(isFixedWidth);
|
||
1811 | this.jRadioCharacter.setSelected(!isFixedWidth);
|
||
1812 | |||
1813 | if (isFixedWidth) {
|
||
1814 | this.fixedWidthEnable(null); |
||
1815 | } else {
|
||
1816 | this.charDelimitedEnable(null); |
||
1817 | } |
||
1818 | |||
1819 | this.jChkJoin.setSelected(seps.getJoinsep());
|
||
1820 | |||
1821 | this.jChkTab.setSelected(seps.getTabsep());
|
||
1822 | |||
1823 | this.jChkSpace.setSelected(seps.getSpacesep());
|
||
1824 | |||
1825 | this.jChkColon.setSelected(seps.getColonsep());
|
||
1826 | |||
1827 | this.jChkSemicolon.setSelected(seps.getSemicolonsep());
|
||
1828 | |||
1829 | boolean other = seps.getOthersep() != null; |
||
1830 | this.jChkOther.setSelected(other);
|
||
1831 | |||
1832 | if (other) {
|
||
1833 | this.jTextOther.setText(seps.getOthersep());
|
||
1834 | } else {
|
||
1835 | this.jTextOther.setEditable(false); |
||
1836 | this.jTextOther.setText(null); |
||
1837 | } |
||
1838 | |||
1839 | /* Update field separator */
|
||
1840 | |||
1841 | Infieldseparators insep = elem.getInfieldseparators(); |
||
1842 | |||
1843 | this.jTextDecimal
|
||
1844 | .setText(insep.getDecimalseparator().getValue().trim()); |
||
1845 | log.debug("DECIMAL:" + insep.getDecimalseparator().getValue().trim());
|
||
1846 | this.jTextThousand.setText(insep.getThousandseparator().getValue()
|
||
1847 | .trim()); |
||
1848 | log.debug("THOUSAND:" + insep.getThousandseparator().getValue().trim());
|
||
1849 | this.jTextTextDelimiter.setText(insep.getTextseparator().getValue()
|
||
1850 | .trim()); |
||
1851 | log.debug("TEXT:" + insep.getTextseparator().getValue().trim());
|
||
1852 | |||
1853 | updateSelectors(); |
||
1854 | // updateOutputOptions();
|
||
1855 | |||
1856 | } |
||
1857 | |||
1858 | /**
|
||
1859 | * Update the field values in the model
|
||
1860 | */
|
||
1861 | private void updateFieldSettingsModel() { |
||
1862 | log.debug("Updating field in the model");
|
||
1863 | int pos = npm.getSelectedFieldInList();
|
||
1864 | Addresselement elem = this.npm.getAddresselement(pos);
|
||
1865 | |||
1866 | /* name */
|
||
1867 | elem.setNewfieldname(this.jTextFieldName.getText());
|
||
1868 | |||
1869 | /* don't import */
|
||
1870 | elem.setImportfield(!this.jChkDontImport.isSelected());
|
||
1871 | |||
1872 | /* Update type */
|
||
1873 | Newfieldtype type = new Newfieldtype();
|
||
1874 | |||
1875 | if (jRadioString.isSelected()) {
|
||
1876 | Stringvalue strval = new Stringvalue();
|
||
1877 | strval.setWidth(50);
|
||
1878 | type.setStringvalue(strval); |
||
1879 | } else if (jRadioInteger.isSelected()) { |
||
1880 | Integervalue intval = new Integervalue();
|
||
1881 | intval.setWidth(25);
|
||
1882 | type.setIntegervalue(intval); |
||
1883 | } else if (jRadioDecimal.isSelected()) { |
||
1884 | Decimalvalue dec = new Decimalvalue();
|
||
1885 | /* DECIMALES = 10 */
|
||
1886 | dec.setDecimals(10);
|
||
1887 | dec.setIntegers(25);
|
||
1888 | type.setDecimalvalue(dec); |
||
1889 | } else {
|
||
1890 | Datevalue date = new Datevalue();
|
||
1891 | String form = jComboDate.getSelectedItem().toString();
|
||
1892 | date.setFormat(form); |
||
1893 | type.setDatevalue(date); |
||
1894 | } |
||
1895 | elem.setNewfieldtype(type); |
||
1896 | |||
1897 | /* Update field separator */
|
||
1898 | Fieldseparator seps = elem.getFieldseparator(); |
||
1899 | |||
1900 | if (elem.getFieldseparator() == null) { |
||
1901 | seps = new Fieldseparator();
|
||
1902 | } |
||
1903 | |||
1904 | boolean isFixedWidth = this.jRadioFixed.isSelected(); |
||
1905 | 22820 | vsanjaime | int val;
|
1906 | 22677 | jsanz | if (isFixedWidth) {
|
1907 | 22820 | vsanjaime | try{
|
1908 | val = Integer.parseInt(jTextFieldWidth.getText());
|
||
1909 | elem.setFieldwidth(val); |
||
1910 | } |
||
1911 | catch(Exception e){ |
||
1912 | jTextFieldWidth.requestFocus(); |
||
1913 | } |
||
1914 | |||
1915 | 22677 | jsanz | } else {
|
1916 | elem.setFieldwidth(0);
|
||
1917 | } |
||
1918 | |||
1919 | seps.setJoinsep(this.jChkJoin.isSelected());
|
||
1920 | seps.setSpacesep(this.jChkSpace.isSelected());
|
||
1921 | seps.setColonsep(this.jChkColon.isSelected());
|
||
1922 | seps.setSemicolonsep(this.jChkSemicolon.isSelected());
|
||
1923 | seps.setTabsep(this.jChkTab.isSelected());
|
||
1924 | |||
1925 | if (jChkOther.isSelected() && jTextOther.getText().length() == 1) { |
||
1926 | seps.setOthersep(jTextOther.getText()); |
||
1927 | } else {
|
||
1928 | seps.setOthersep(null);
|
||
1929 | } |
||
1930 | |||
1931 | /* Update In-field separator */
|
||
1932 | Infieldseparators inseps = elem.getInfieldseparators(); |
||
1933 | |||
1934 | if (elem.getInfieldseparators() == null) { |
||
1935 | inseps = new Infieldseparators();
|
||
1936 | } |
||
1937 | |||
1938 | Decimalseparator deci = inseps.getDecimalseparator(); |
||
1939 | if (inseps.getDecimalseparator() == null) { |
||
1940 | deci = new Decimalseparator();
|
||
1941 | } |
||
1942 | String decim = this.jTextDecimal.getText().trim(); |
||
1943 | deci.setValue(decim); |
||
1944 | |||
1945 | Thousandseparator thous = inseps.getThousandseparator(); |
||
1946 | if (inseps.getThousandseparator() == null) { |
||
1947 | thous = new Thousandseparator();
|
||
1948 | } |
||
1949 | String thousa = this.jTextThousand.getText().trim(); |
||
1950 | thous.setValue(thousa); |
||
1951 | |||
1952 | Textseparator textsep = inseps.getTextseparator(); |
||
1953 | if (inseps.getTextseparator() == null) { |
||
1954 | textsep = new Textseparator();
|
||
1955 | } |
||
1956 | String ttxi = this.jTextTextDelimiter.getText().trim(); |
||
1957 | textsep.setValue(ttxi); |
||
1958 | |||
1959 | } |
||
1960 | |||
1961 | /**
|
||
1962 | * Gets from the model the
|
||
1963 | *
|
||
1964 | * @return table model
|
||
1965 | */
|
||
1966 | private DefaultTableModel getSourceData() { |
||
1967 | log.debug("getting data");
|
||
1968 | if (this.npm == null) { |
||
1969 | return null; |
||
1970 | } |
||
1971 | String[] samples = null; |
||
1972 | if (isFile) {
|
||
1973 | samples = this.npm.getSamplesFile();
|
||
1974 | } else {
|
||
1975 | samples = this.npm.getSamplesTable();
|
||
1976 | } |
||
1977 | int size = samples.length;
|
||
1978 | |||
1979 | Object[][] data = new Object[size][1]; |
||
1980 | |||
1981 | for (int i = 0; i < size; i++) { |
||
1982 | data[i][0] = samples[i];
|
||
1983 | } |
||
1984 | DefaultTableModel dtm1 = null; |
||
1985 | if (!isFile) {
|
||
1986 | dtm1 = new DefaultTableModel(data, new String[] { this.npm |
||
1987 | .getFieldToNormalize() }) { |
||
1988 | |||
1989 | /**
|
||
1990 | *
|
||
1991 | */
|
||
1992 | private static final long serialVersionUID = -7429493540158414622L; |
||
1993 | boolean[] canEdit = new boolean[] { false }; |
||
1994 | |||
1995 | public boolean isCellEditable(int rowIndex, int columnIndex) { |
||
1996 | return canEdit[columnIndex];
|
||
1997 | } |
||
1998 | }; |
||
1999 | } else {
|
||
2000 | Object[] names = { npm.getFileName() }; |
||
2001 | dtm1 = new DefaultTableModel(data, names); |
||
2002 | } |
||
2003 | |||
2004 | return dtm1;
|
||
2005 | } |
||
2006 | |||
2007 | /**
|
||
2008 | * Update GUI elements with model info
|
||
2009 | */
|
||
2010 | private void updateGUI() { |
||
2011 | log.debug("Updating main GUI");
|
||
2012 | |||
2013 | /* Source Samples values */
|
||
2014 | jTableSource.setModel(getSourceData()); |
||
2015 | |||
2016 | /* Fields List */
|
||
2017 | jListFieldList.setModel(npm.updateListModel()); |
||
2018 | jListFieldList.setSelectedIndex(0);
|
||
2019 | |||
2020 | /* Fields List in Original Table */
|
||
2021 | if (!isFile) {
|
||
2022 | DefaultListModel dlmot = npm.getAllOriginalFields();
|
||
2023 | jListOriginalFields.setModel(dlmot); |
||
2024 | jListOriginalFields.setSelectedIndex(0);
|
||
2025 | } |
||
2026 | /* Disable any controls */
|
||
2027 | if (isFile) {
|
||
2028 | jTableSource.setName(npm.getFileName()); |
||
2029 | jCheckFirstRow.setEnabled(true);
|
||
2030 | 22820 | vsanjaime | jLabelNumberRows.setEnabled(true);
|
2031 | jCheckFirstRow.setSelected(npm.getFirstRows() != 0);
|
||
2032 | jTextNumberRows.setText(npm.getFirstRows()+"");
|
||
2033 | 22677 | jsanz | jRadioAlterTable.setEnabled(false);
|
2034 | jListOriginalFields.removeAll(); |
||
2035 | jRadioNewTable.setSelected(true);
|
||
2036 | npm.setInNewTable(true);
|
||
2037 | jListOriginalFields.setEnabled(false);
|
||
2038 | |||
2039 | } |
||
2040 | |||
2041 | } |
||
2042 | |||
2043 | class IntVerifier extends InputVerifier { |
||
2044 | |||
2045 | public boolean verify(JComponent input) { |
||
2046 | try {
|
||
2047 | Integer.parseInt(((JTextField) input).getText()); |
||
2048 | return true; |
||
2049 | } catch (NumberFormatException e) { |
||
2050 | 22820 | vsanjaime | log.error("Parsing the value");
|
2051 | 22677 | jsanz | return false; |
2052 | // this.errorIntMessage
|
||
2053 | } |
||
2054 | } |
||
2055 | } |
||
2056 | |||
2057 | class CharVerifier extends InputVerifier { |
||
2058 | |||
2059 | @Override
|
||
2060 | public boolean verify(JComponent input) { |
||
2061 | String text = ((JTextField) input).getText(); |
||
2062 | if (text != null && text.length() == 1) { |
||
2063 | return true; |
||
2064 | } else {
|
||
2065 | |||
2066 | return false; |
||
2067 | } |
||
2068 | } |
||
2069 | } |
||
2070 | |||
2071 | /**
|
||
2072 | * Update the in separators
|
||
2073 | *
|
||
2074 | */
|
||
2075 | private void updateSelectors() { |
||
2076 | boolean isDecimal = false; |
||
2077 | boolean isThousand = false; |
||
2078 | boolean isText = false; |
||
2079 | |||
2080 | if (this.jRadioString.isSelected()) { |
||
2081 | isText = true;
|
||
2082 | } else if (this.jRadioInteger.isSelected()) { |
||
2083 | isThousand = true;
|
||
2084 | } else if (this.jRadioDecimal.isSelected()) { |
||
2085 | isThousand = true;
|
||
2086 | isDecimal = true;
|
||
2087 | } |
||
2088 | |||
2089 | this.jTextDecimal.setEditable(isDecimal);
|
||
2090 | this.jTextThousand.setEditable(isThousand);
|
||
2091 | this.jTextTextDelimiter.setEditable(isText);
|
||
2092 | } |
||
2093 | |||
2094 | /**
|
||
2095 | * This method updates the labels
|
||
2096 | */
|
||
2097 | private void setMessages() { |
||
2098 | |||
2099 | if (this.pServ == null) |
||
2100 | return;
|
||
2101 | |||
2102 | this.setName(pServ.getText("normtitle")); |
||
2103 | jPanSource.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2104 | .getText("normsource")));
|
||
2105 | 22820 | vsanjaime | jCheckFirstRow.setText(pServ.getText("normfirstrows"));
|
2106 | jLabelNumberRows.setText(pServ.getText("normfirstnumberrows"));
|
||
2107 | 22677 | jsanz | |
2108 | jPanFieldList.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2109 | .getText("normfields")));
|
||
2110 | |||
2111 | jPanFieldSettings.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2112 | .getText("normfieldsettings")));
|
||
2113 | jLabFieldName.setText(pServ.getText("normfieldname"));
|
||
2114 | jChkDontImport.setText(pServ.getText("normdontimport"));
|
||
2115 | |||
2116 | jPanFieldType.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2117 | .getText("normfieldtype")));
|
||
2118 | jRadioString.setText(pServ.getText("normfieldstring"));
|
||
2119 | jRadioInteger.setText(pServ.getText("normfieldinteger"));
|
||
2120 | jRadioDecimal.setText(pServ.getText("normfielddecimal"));
|
||
2121 | jRadioDate.setText(pServ.getText("normfielddate"));
|
||
2122 | |||
2123 | jPanSeparators.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2124 | .getText("normdelimetersnext")));
|
||
2125 | jRadioCharacter.setText(pServ.getText("normcharacter"));
|
||
2126 | jRadioFixed.setText(pServ.getText("normfixedwidth"));
|
||
2127 | |||
2128 | jPanFieldSeparators.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2129 | .getText("normfieldseparators")));
|
||
2130 | jChkTab.setText(pServ.getText("normtab"));
|
||
2131 | jChkSpace.setText(pServ.getText("normspace"));
|
||
2132 | jChkColon.setText(pServ.getText("normcolon"));
|
||
2133 | jChkSemicolon.setText(pServ.getText("normsemicolon"));
|
||
2134 | jChkOther.setText(pServ.getText("normother"));
|
||
2135 | jChkJoin.setText(pServ.getText("normjoin"));
|
||
2136 | |||
2137 | jPanInField.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2138 | .getText("norminfieldseparators")));
|
||
2139 | jLabDecimal.setText(pServ.getText("normdecimal"));
|
||
2140 | jLabThousand.setText(pServ.getText("normthousand"));
|
||
2141 | jLabTextDel.setText(pServ.getText("normtextdelimiter"));
|
||
2142 | |||
2143 | jButTest.setText(pServ.getText("normtest"));
|
||
2144 | |||
2145 | jPanSampleOutput.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2146 | .getText("normsampleout")));
|
||
2147 | |||
2148 | jPanOutputOpt.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2149 | .getText("normoutputopt")));
|
||
2150 | jRadioAlterTable.setText(pServ.getText("normaltertable"));
|
||
2151 | jRadioNewTable.setText(pServ.getText("normnewtable"));
|
||
2152 | jLabelSelFields.setText(pServ.getText("normjoinfield"));
|
||
2153 | |||
2154 | jPanConsole.setBorder(BorderFactory.createTitledBorder(pServ
|
||
2155 | .getText("normconsole")));
|
||
2156 | |||
2157 | jButLoad.setText(pServ.getText("normload"));
|
||
2158 | jButSave.setText(pServ.getText("normsave"));
|
||
2159 | jButRun.setText(pServ.getText("normrun"));
|
||
2160 | jButCancel.setText(pServ.getText("normcancel"));
|
||
2161 | } |
||
2162 | |||
2163 | /**
|
||
2164 | * this method says if the panel has changed any parameter
|
||
2165 | *
|
||
2166 | * @return the dirty
|
||
2167 | */
|
||
2168 | private boolean isDirty() { |
||
2169 | return dirty;
|
||
2170 | } |
||
2171 | |||
2172 | /**
|
||
2173 | *
|
||
2174 | * When the panel has changed any parameter (true)
|
||
2175 | *
|
||
2176 | * @param dirty
|
||
2177 | * flag
|
||
2178 | */
|
||
2179 | private void setDirty(boolean dirty) { |
||
2180 | this.dirty = dirty;
|
||
2181 | } |
||
2182 | |||
2183 | /**
|
||
2184 | * This method updates the images
|
||
2185 | */
|
||
2186 | private void setImages() { |
||
2187 | |||
2188 | if (this.pServ == null) |
||
2189 | return;
|
||
2190 | |||
2191 | String bDir = pServ.getClassLoader().getBaseDir();
|
||
2192 | |||
2193 | jButFieldsUp.setIcon(new ImageIcon(bDir + "/images/go-up.png")); |
||
2194 | jButFieldsDown.setIcon(new ImageIcon(bDir + "/images/go-down.png")); |
||
2195 | jButFieldsAdd.setIcon(new ImageIcon(bDir + "/images/list-add.png")); |
||
2196 | jButFieldsRem.setIcon(new ImageIcon(bDir + "/images/list-remove.png")); |
||
2197 | } |
||
2198 | 22820 | vsanjaime | |
2199 | 22677 | jsanz | /**
|
2200 | 22820 | vsanjaime | * This method parses the info
|
2201 | *
|
||
2202 | 22677 | jsanz | * @param info
|
2203 | * @return
|
||
2204 | */
|
||
2205 | private String parseInfo(String info) { |
||
2206 | String value = ""; |
||
2207 | String temp[] = info.split("\\."); |
||
2208 | |||
2209 | if (temp[0].compareToIgnoreCase("INFO") == 0) { |
||
2210 | value = "INFO: " + PluginServices.getText(null, temp[1]); |
||
2211 | } else {
|
||
2212 | value = "ERROR: " + PluginServices.getText(null, temp[1]); |
||
2213 | } |
||
2214 | 22820 | vsanjaime | |
2215 | if (temp.length == 3) { |
||
2216 | value = value + " " + temp[2]; |
||
2217 | 22677 | jsanz | } |
2218 | |||
2219 | 22820 | vsanjaime | return value + "\n"; |
2220 | 22677 | jsanz | } |
2221 | } |