KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > WizardDialog


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the 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, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * WizardDialog.java
28  *
29  * Created on 30 giugno 2003, 18.26
30  *
31  */

32
33 package it.businesslogic.ireport.gui;
34 import it.businesslogic.ireport.IReportConnection;
35 import it.businesslogic.ireport.connection.JDBCConnection;
36 import it.businesslogic.ireport.connection.JRCSVDataSourceConnection;
37 import it.businesslogic.ireport.connection.JRDataSourceProviderConnection;
38 import it.businesslogic.ireport.connection.JRHibernateConnection;
39 import it.businesslogic.ireport.connection.JRXMLADataSourceConnection;
40 import it.businesslogic.ireport.connection.JavaBeanDataSourceConnection;
41 import it.businesslogic.ireport.connection.NullConnection;
42 import it.businesslogic.ireport.data.CincomMDXFieldsProvider;
43 import it.businesslogic.ireport.data.MDXFieldsProvider;
44 import it.businesslogic.ireport.data.SQLFieldsProvider;
45 import it.businesslogic.ireport.gui.wizard.UserChoicesWizardTemplate;
46 import it.businesslogic.ireport.util.*;
47 import it.businesslogic.ireport.*;
48 import java.sql.*;
49 import java.util.*;
50 import java.io.*;
51 import javax.swing.DefaultListModel JavaDoc;
52 import javax.swing.DefaultListSelectionModel JavaDoc;
53 import javax.swing.JComboBox JavaDoc;
54 import javax.swing.event.ListSelectionEvent JavaDoc;
55
56 import org.apache.xerces.parsers.DOMParser;
57 import org.apache.xpath.XPathAPI;
58 import org.apache.xpath.objects.XBoolean;
59 import org.w3c.dom.Document JavaDoc;
60 import org.w3c.dom.Node JavaDoc;
61 import org.w3c.dom.NodeList JavaDoc;
62 import org.w3c.dom.DOMException JavaDoc;
63
64 import org.xml.sax.SAXException JavaDoc;
65
66 import javax.swing.ImageIcon JavaDoc;
67 import javax.swing.JOptionPane JavaDoc;
68
69 /**
70  *
71  * @author Administrator
72  */

73 public class WizardDialog extends javax.swing.JDialog JavaDoc implements Runnable JavaDoc, LanguageChangedListener {
74 //Modified by Felix Firgau on Feb 8th 2006
75

76     Thread JavaDoc t = null;
77     Vector templates = null;
78     org.syntax.jedit.JEditTextArea jRSQLExpressionArea1 = null;
79     
80     UserChoicesWizardTemplate userTemplate = null;
81     int maxStepVisited = 0;
82     
83     /** Creates new form WizardDialog */
84     public WizardDialog(java.awt.Frame JavaDoc parent, boolean modal) {
85         super(parent, modal);
86         initComponents();
87         applyI18n();
88         
89         templates = new Vector();
90         
91         jRSQLExpressionArea1 = new org.syntax.jedit.JEditTextArea();
92         jRSQLExpressionArea1.getPainter().setLineHighlightColor(java.awt.Color.WHITE);
93         jRSQLExpressionArea1.setDocument(new org.syntax.jedit.SyntaxDocument());
94         jRSQLExpressionArea1.setTokenMarker(new org.syntax.jedit.tokenmarker.TSQLTokenMarker());
95         jRSQLExpressionArea1.setAutoscrolls(true);
96         
97         java.awt.GridBagConstraints JavaDoc gridBagConstraints= null;
98         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
99         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
100         //gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
101
gridBagConstraints.weightx = 1.0;
102         gridBagConstraints.weighty = 1.0;
103         
104         DefaultListSelectionModel JavaDoc dlsm = (DefaultListSelectionModel JavaDoc) this.jTableFields.getSelectionModel();
105         dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
106             public void valueChanged(ListSelectionEvent JavaDoc e)
107             {
108                 jTableFieldsListSelectionValueChanged(e);
109             }
110         });
111         
112         jPanel1.add(jRSQLExpressionArea1, gridBagConstraints);
113         
114         wzStep = 1;
115         this.setStep(wzStep,wzStep);
116         this.setSize(720, 450);
117         this.setResizable(true);
118         Misc.centerFrame(this);
119         
120         
121         
122         this.jRSQLExpressionArea1.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
123             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
124                 jRSQLExpressionArea1TextConnectionExpressionTextChanged();
125             }
126             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
127                 jRSQLExpressionArea1TextConnectionExpressionTextChanged();
128             }
129             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
130                 jRSQLExpressionArea1TextConnectionExpressionTextChanged();
131             }
132         });
133         
134         this.jTextFieldBean.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
135             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
136                 jRSQLExpressionArea1TextConnectionExpressionTextChanged();
137             }
138             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
139                 jRSQLExpressionArea1TextConnectionExpressionTextChanged();
140             }
141             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
142                 jRSQLExpressionArea1TextConnectionExpressionTextChanged();
143             }
144         });
145         
146         this.jRSQLExpressionArea1.requestFocusInWindow();
147         jList1.setModel(new javax.swing.DefaultListModel JavaDoc());
148         jList2.setModel(new javax.swing.DefaultListModel JavaDoc());
149         jList3.setModel(new javax.swing.DefaultListModel JavaDoc());
150         
151         String JavaDoc templates_dir = MainFrame.IREPORT_HOME_DIR; //System.getProperty("ireport.home",".");
152
templates_dir += File.separator + "templates";
153         //System.out.println("Templates: " + templates_dir);
154
//C:\\documenti\\progetti\\ireport\\iReport2\\templates
155
try {
156             File f = new File(templates_dir);
157             File[] templates_files = null;
158             if (f.exists() && f.isDirectory()) {
159                 templates_files = f.listFiles(new FilenameFilter() {
160                     public boolean accept(File dir, String JavaDoc name) {
161                         if (name.endsWith("T.xml") || name.endsWith("C.xml")) {
162                             return true;
163                         }
164                         return false;
165                     }
166                 });
167             } else {
168                 templates_dir = MainFrame.IREPORT_HOME_DIR; //System.getProperty("ireport.home",".");
169
templates_dir += File.separator + "etc" + File.separator + "templates";
170                 f = new File(templates_dir);
171                 if (f.exists() && f.isDirectory()) {
172                     templates_files = f.listFiles(new FilenameFilter() {
173                         public boolean accept(File dir, String JavaDoc name) {
174                             if (name.endsWith("T.xml") || name.endsWith("C.xml")) {
175                                 return true;
176                             }
177                             return false;
178                         }
179                     });
180                 }
181             }
182             
183             for (int i=0;templates_files != null && i<templates_files.length; ++i) {
184                 IReportTemplate itemplate = new IReportTemplate();
185                 itemplate.setXmlFile(templates_files[i] +"");
186                 itemplate.setName(templates_files[i].getName());
187                 itemplate.setType( templates_files[i].getName().toLowerCase().endsWith("c.xml") ? 0 : 1);
188                 try {
189                     String JavaDoc iconname = templates_files[i]+"";
190                     iconname = Misc.changeFileExtension(iconname,".gif");
191                     itemplate.setIcon( new javax.swing.ImageIcon JavaDoc( iconname) );
192                 } catch (Exception JavaDoc ex){}
193                 
194                 templates.add( itemplate );
195             }
196             
197         } catch (Exception JavaDoc ex) {
198         }
199         
200         
201         // try to look in the classpath...
202
try {
203             Vector xml_template_files = new Vector();
204             Enumeration enum_pl = this.getClass().getClassLoader().getResources("ireport/template.xml");
205             while (enum_pl.hasMoreElements()) {
206                 Object JavaDoc oobj = enum_pl.nextElement();
207                 xml_template_files.add(oobj);
208             }
209             
210             for (int i=0; i<xml_template_files.size(); ++i) {
211                 
212                 Object JavaDoc source = xml_template_files.elementAt(i);
213                 // Create a Xerces DOM Parser
214
DOMParser parser = new DOMParser();
215                 // Parse the Document
216
// and traverse the DOM
217
try {
218                     
219                     parser.setEntityResolver( new org.xml.sax.EntityResolver JavaDoc() {
220                         /* Code by Teodor Danciu */
221                         public org.xml.sax.InputSource JavaDoc resolveEntity(
222                                 String JavaDoc publicId,
223                                 String JavaDoc systemId
224                                 ) throws SAXException JavaDoc//, java.io.IOException
225
{
226                             org.xml.sax.InputSource JavaDoc inputSource = null;
227                             
228                             if (systemId != null) {
229                                 String JavaDoc dtd = null;
230                                 
231                                 if ( systemId.equals("http://ireport.sourceforge.net/dtds/iReportTemplate.dtd") ) {
232                                     dtd = "it/businesslogic/ireport/dtds/iReportTemplate.dtd";
233                                 } else {
234                                     return new org.xml.sax.InputSource JavaDoc(systemId);
235                                 }
236                                 
237                                 
238                                 ClassLoader JavaDoc classLoader = this.getClass().getClassLoader();
239                                 
240                                 java.io.InputStream JavaDoc is = classLoader.getResourceAsStream(dtd);
241                                 if (is != null) {
242                                     inputSource = new org.xml.sax.InputSource JavaDoc(is);
243                                 }
244                                 
245                             }
246                             
247                             return inputSource;
248                         }
249                     });
250                     /* End Code by Teodor Danciu */
251                     InputStream input_source = null;
252                     if ( source instanceof java.io.File JavaDoc ) {
253                         input_source = new FileInputStream((java.io.File JavaDoc)source);
254                         
255                     } else if ( source instanceof java.net.URL JavaDoc){
256                         
257                         input_source = ((java.net.URL JavaDoc)source).openStream();
258                         
259                     }
260                     
261                     parser.parse(new org.xml.sax.InputSource JavaDoc( input_source ));
262                     Document JavaDoc document = parser.getDocument();
263                     
264                     //System.out.println("traverse");
265
Node JavaDoc node = document.getDocumentElement();
266                     
267                     NodeList JavaDoc list = XPathAPI.selectNodeList(node, "/iReportTemplateSet/iReportTemplate");
268                     Node JavaDoc childnode = null;
269                     
270                     for (int n=0; n < list.getLength(); n++) {
271                         IReportTemplate ireportTemplate = new IReportTemplate();
272                         childnode = XPathAPI.selectSingleNode(list.item(n), "@name");
273                         if (childnode != null) ireportTemplate.setName(childnode.getNodeValue());
274                         if (XPathAPI.eval(list.item(n), "@type = 'Tabular'").equals(XBoolean.S_TRUE)) {
275                             ireportTemplate.setType(IReportTemplate.TABULAR);
276                         } else {
277                             ireportTemplate.setType(IReportTemplate.COLUMNAR);
278                         }
279                         childnode = XPathAPI.selectSingleNode(list.item(n), "XmlFile/text()");
280                         if (childnode != null) ireportTemplate.setXmlFile(childnode.getNodeValue());
281                         childnode = XPathAPI.selectSingleNode(list.item(n), "IconFile/text()");
282                         if (childnode != null) {
283                             try {
284                                 ireportTemplate.setIcon(
285                                         new ImageIcon JavaDoc(getClass().getClassLoader().getResource(childnode.getNodeValue())));
286                             } catch (DOMException JavaDoc e) {
287                                 // Don't care
288
e.printStackTrace();
289                             }
290                         }
291                         
292                         templates.add(ireportTemplate);
293                     }
294                 } catch (SAXException JavaDoc e) {
295                     System.err.println(e);
296                 } catch (java.io.IOException JavaDoc e) {
297                     System.err.println(e);
298                 }
299             } // End cycle on iReport plugin files...
300

301         } catch (Exception JavaDoc ex) {
302             MainFrame.getMainInstance().logOnConsole("Error searching ireport/template.xml resources\n");
303         }
304         
305         updateTemplatesList();
306         
307         jComboBoxTemplates.removeAllItems();
308         
309         jComboBoxTemplates.addItem(I18n.getString("noTemplate","None"));
310         java.util.List JavaDoc ucTemplates = MainFrame.getMainInstance().getUserChoicesWizardTemplates();
311         
312         java.util.List JavaDoc tnames= new java.util.ArrayList JavaDoc();
313         
314         for (int i=0; i<ucTemplates.size(); ++i)
315         {
316             jComboBoxTemplates.addItem(ucTemplates.get(i));
317             tnames.add( ""+ucTemplates.get(i) );
318         }
319         
320         for (int i=1; i<1000 ;i++)
321         {
322             String JavaDoc s = I18n.getFormattedString("MyTemplate","My template {0}", new Object JavaDoc[]{new Integer JavaDoc(i)});
323             if (!tnames.contains(s))
324             {
325                 jTextFieldTemplateName.setText(s);
326                 break;
327             }
328         }
329         //jRSQLExpressionArea1.setText("00000000000000000000000000000000000000000000000000000\n\r");
330

331
332         //Added by Felix Firgau for I18n on Feb 8th 2006
333
//it.businesslogic.ireport.util.I18n.setCurrentLocale( System.getProperty("Language"), System.getProperty("Country") );
334
//I18n.addOnLanguageChangedListener( this );
335
//this.pack();
336
updateConnections();
337         
338     }
339     
340     public void updateConnections() {
341         Object JavaDoc ircDefault = MainFrame.getMainInstance().getProperties().get("DefaultConnection");
342         jComboBoxConnection.removeAllItems();
343         
344         Enumeration e = MainFrame.getMainInstance().getConnections().elements();
345         
346         jComboBoxConnection.addItem(new NullConnection());
347         while (e.hasMoreElements()) {
348             IReportConnection irc = (IReportConnection)e.nextElement();
349             jComboBoxConnection.addItem(irc);
350         }
351         
352         if (ircDefault != null) {
353             jComboBoxConnection.setSelectedItem(ircDefault);
354         }
355     }
356     
357     private int wzStep=0;
358     
359     
360     public void updateTemplatesList() {
361         if (templates == null) return;
362         ((javax.swing.DefaultListModel JavaDoc)jList3.getModel()).removeAllElements();
363         
364         for (int i=0; i< templates.size(); ++i) {
365             IReportTemplate itemplate = (IReportTemplate)templates.elementAt(i);
366             
367             if (jRadioButtonTabularLayout.isSelected() && itemplate.getType() != IReportTemplate.TABULAR) continue;
368             if (jRadioButtonColumnarLayout.isSelected() && itemplate.getType() != IReportTemplate.COLUMNAR) continue;
369             //if (jComboBoxTemplates.getItemCount()<2 || (jComboBoxTemplates.getSelectedIndex() == 0 && itemplate.getType() != IReportTemplate.COLUMNAR) ) continue;
370
//if (jComboBoxTemplates.getSelectedIndex() == 1 && itemplate.getType() != IReportTemplate.TABULAR) continue;
371
/*
372             TemplateFile tf = new TemplateFile();
373             tf.file = templates[i];
374              
375             tf.name = templates[i].getName().substring(0, templates[i].getName().length()-4);
376              */

377             ((javax.swing.DefaultListModel JavaDoc)jList3.getModel()).addElement(itemplate);
378         }
379         if ( ((javax.swing.DefaultListModel JavaDoc)jList3.getModel()).getSize()>0)
380             jList3.setSelectedIndex(0);
381         jList3.updateUI();
382     }
383     
384     public void jRSQLExpressionArea1TextConnectionExpressionTextChanged() {
385         jComboBoxConnectionActionPerformed(null);
386         
387     }
388     
389     
390     /** This method is called from within the constructor to
391      * initialize the form.
392      * WARNING: Do NOT modify this code. The content of this method is
393      * always regenerated by the Form Editor.
394      */

395     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
396
private void initComponents() {
397         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
398
399         buttonGroup1 = new javax.swing.ButtonGroup JavaDoc();
400         jPanel2 = new javax.swing.JPanel JavaDoc();
401         jPanelSteps = new javax.swing.JPanel JavaDoc();
402         jLabel1 = new javax.swing.JLabel JavaDoc();
403         jSeparator2 = new javax.swing.JSeparator JavaDoc();
404         jLabelStep1 = new javax.swing.JLabel JavaDoc();
405         jLabelStep2 = new javax.swing.JLabel JavaDoc();
406         jLabelStep3 = new javax.swing.JLabel JavaDoc();
407         jLabelStep4 = new javax.swing.JLabel JavaDoc();
408         jLabelStep5 = new javax.swing.JLabel JavaDoc();
409         jLabel7 = new javax.swing.JLabel JavaDoc();
410         jPanelStepCaption = new javax.swing.JPanel JavaDoc();
411         jLabelStepCaption = new javax.swing.JLabel JavaDoc();
412         jSeparator8 = new javax.swing.JSeparator JavaDoc();
413         jPanelRoot = new javax.swing.JPanel JavaDoc();
414         jPanelStep1 = new javax.swing.JPanel JavaDoc();
415         jLabel13 = new javax.swing.JLabel JavaDoc();
416         jComboBoxTemplates = new javax.swing.JComboBox JavaDoc();
417         jLabel12 = new javax.swing.JLabel JavaDoc();
418         jComboBoxConnection = new javax.swing.JComboBox JavaDoc();
419         jLabel2 = new javax.swing.JLabel JavaDoc();
420         jPanel1 = new javax.swing.JPanel JavaDoc();
421         jButtonNewConnection = new javax.swing.JButton JavaDoc();
422         jTextFieldBean = new javax.swing.JTextField JavaDoc();
423         jPanel3 = new javax.swing.JPanel JavaDoc();
424         jButtonDesignQuery = new javax.swing.JButton JavaDoc();
425         jButtonLoadQuery = new javax.swing.JButton JavaDoc();
426         jButtonSaveQuery = new javax.swing.JButton JavaDoc();
427         jPanelStep2 = new javax.swing.JPanel JavaDoc();
428         jScrollPane2 = new javax.swing.JScrollPane JavaDoc();
429         jList1 = new javax.swing.JList JavaDoc();
430         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
431         jList2 = new javax.swing.JList JavaDoc();
432         jPanel5 = new javax.swing.JPanel JavaDoc();
433         jButton4 = new javax.swing.JButton JavaDoc();
434         jButton5 = new javax.swing.JButton JavaDoc();
435         jButton6 = new javax.swing.JButton JavaDoc();
436         jButton7 = new javax.swing.JButton JavaDoc();
437         jPanelStep3 = new javax.swing.JPanel JavaDoc();
438         jScrollPane4 = new javax.swing.JScrollPane JavaDoc();
439         jTableFields = new javax.swing.JTable JavaDoc();
440         jButtonModifyField = new javax.swing.JButton JavaDoc();
441         jPanelStep4 = new javax.swing.JPanel JavaDoc();
442         jComboBox1 = new javax.swing.JComboBox JavaDoc();
443         jLabelG1 = new javax.swing.JLabel JavaDoc();
444         jLabelG2 = new javax.swing.JLabel JavaDoc();
445         jComboBox2 = new javax.swing.JComboBox JavaDoc();
446         jLabelG3 = new javax.swing.JLabel JavaDoc();
447         jComboBox3 = new javax.swing.JComboBox JavaDoc();
448         jLabelG4 = new javax.swing.JLabel JavaDoc();
449         jComboBox4 = new javax.swing.JComboBox JavaDoc();
450         jPanelStep5 = new javax.swing.JPanel JavaDoc();
451         jRadioButtonColumnarLayout = new javax.swing.JRadioButton JavaDoc();
452         jRadioButtonTabularLayout = new javax.swing.JRadioButton JavaDoc();
453         jScrollPane3 = new javax.swing.JScrollPane JavaDoc();
454         jList3 = new javax.swing.JList JavaDoc();
455         jLabelImage = new javax.swing.JLabel JavaDoc();
456         jCheckBoxSetHeader = new javax.swing.JCheckBox JavaDoc();
457         jPanelStep6 = new javax.swing.JPanel JavaDoc();
458         jLabel4 = new javax.swing.JLabel JavaDoc();
459         jLabel10 = new javax.swing.JLabel JavaDoc();
460         jLabel11 = new javax.swing.JLabel JavaDoc();
461         jCheckBoxSaveTemplate = new javax.swing.JCheckBox JavaDoc();
462         jTextFieldTemplateName = new javax.swing.JTextField JavaDoc();
463         jSeparator1 = new javax.swing.JSeparator JavaDoc();
464         jPanel4 = new javax.swing.JPanel JavaDoc();
465         jButtonCancel = new javax.swing.JButton JavaDoc();
466         jButtonNext = new javax.swing.JButton JavaDoc();
467         jButtonPrev = new javax.swing.JButton JavaDoc();
468
469         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
470
471         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
472         setTitle("iReport Wizard");
473         setResizable(false);
474         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
475             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt) {
476                 closeDialog(evt);
477             }
478         });
479
480         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
481
482         jPanelSteps.setLayout(new java.awt.GridBagLayout JavaDoc());
483
484         jPanelSteps.setBackground(new java.awt.Color JavaDoc(165, 172, 181));
485         jLabel1.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 11));
486         jLabel1.setText("Steps");
487         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
488         gridBagConstraints.gridx = 0;
489         gridBagConstraints.gridy = 0;
490         gridBagConstraints.ipadx = 52;
491         gridBagConstraints.ipady = 2;
492         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
493         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 8, 0, 0);
494         jPanelSteps.add(jLabel1, gridBagConstraints);
495
496         jSeparator2.setBackground(new java.awt.Color JavaDoc(204, 204, 255));
497         jSeparator2.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
498         jSeparator2.setMaximumSize(new java.awt.Dimension JavaDoc(32767, 1));
499         jSeparator2.setMinimumSize(new java.awt.Dimension JavaDoc(98, 1));
500         jSeparator2.setPreferredSize(new java.awt.Dimension JavaDoc(1, 1));
501         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
502         gridBagConstraints.gridx = 0;
503         gridBagConstraints.gridy = 1;
504         gridBagConstraints.gridwidth = 2;
505         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
506         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
507         gridBagConstraints.weightx = 1.0;
508         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 8, 0, 0);
509         jPanelSteps.add(jSeparator2, gridBagConstraints);
510
511         jLabelStep1.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 11));
512         jLabelStep1.setText("1. Query");
513         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
514         gridBagConstraints.gridx = 0;
515         gridBagConstraints.gridy = 2;
516         gridBagConstraints.gridwidth = 3;
517         gridBagConstraints.ipadx = 63;
518         gridBagConstraints.ipady = 2;
519         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
520         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 8, 0, 0);
521         jPanelSteps.add(jLabelStep1, gridBagConstraints);
522
523         jLabelStep2.setText("2. Fields selection");
524         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
525         gridBagConstraints.gridx = 0;
526         gridBagConstraints.gridy = 3;
527         gridBagConstraints.gridwidth = 3;
528         gridBagConstraints.ipadx = 25;
529         gridBagConstraints.ipady = 2;
530         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
531         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 8, 0, 0);
532         jPanelSteps.add(jLabelStep2, gridBagConstraints);
533
534         jLabelStep3.setText("3. Group by ...");
535         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
536         gridBagConstraints.gridx = 0;
537         gridBagConstraints.gridy = 4;
538         gridBagConstraints.gridwidth = 3;
539         gridBagConstraints.ipadx = 38;
540         gridBagConstraints.ipady = 2;
541         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
542         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 8, 0, 0);
543         jPanelSteps.add(jLabelStep3, gridBagConstraints);
544
545         jLabelStep4.setText("4. Layout");
546         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
547         gridBagConstraints.gridx = 0;
548         gridBagConstraints.gridy = 5;
549         gridBagConstraints.gridwidth = 3;
550         gridBagConstraints.ipadx = 64;
551         gridBagConstraints.ipady = 2;
552         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
553         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 8, 0, 0);
554         jPanelSteps.add(jLabelStep4, gridBagConstraints);
555
556         jLabelStep5.setText("5. Finish");
557         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
558         gridBagConstraints.gridx = 0;
559         gridBagConstraints.gridy = 6;
560         gridBagConstraints.gridwidth = 3;
561         gridBagConstraints.ipadx = 70;
562         gridBagConstraints.ipady = 2;
563         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
564         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 8, 0, 0);
565         jPanelSteps.add(jLabelStep5, gridBagConstraints);
566
567         jLabel7.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/wizard.jpg")));
568         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
569         gridBagConstraints.gridx = 0;
570         gridBagConstraints.gridy = 0;
571         gridBagConstraints.gridwidth = 4;
572         gridBagConstraints.gridheight = 9;
573         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
574         gridBagConstraints.weighty = 1.0;
575         jPanelSteps.add(jLabel7, gridBagConstraints);
576
577         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
578         gridBagConstraints.gridheight = 2;
579         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
580         gridBagConstraints.weighty = 1.0;
581         jPanel2.add(jPanelSteps, gridBagConstraints);
582
583         jPanelStepCaption.setLayout(new java.awt.GridBagLayout JavaDoc());
584
585         jLabelStepCaption.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 11));
586         jLabelStepCaption.setText("Step 4: choose layout");
587         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
588         gridBagConstraints.gridx = 0;
589         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
590         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
591         gridBagConstraints.weightx = 1.0;
592         gridBagConstraints.insets = new java.awt.Insets JavaDoc(12, 8, 0, 0);
593         jPanelStepCaption.add(jLabelStepCaption, gridBagConstraints);
594
595         jSeparator8.setBackground(new java.awt.Color JavaDoc(204, 204, 204));
596         jSeparator8.setForeground(new java.awt.Color JavaDoc(0, 0, 0));
597         jSeparator8.setMaximumSize(new java.awt.Dimension JavaDoc(32767, 1));
598         jSeparator8.setMinimumSize(new java.awt.Dimension JavaDoc(98, 1));
599         jSeparator8.setPreferredSize(new java.awt.Dimension JavaDoc(10, 1));
600         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
601         gridBagConstraints.gridx = 0;
602         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
603         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
604         gridBagConstraints.weightx = 1.0;
605         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 0, 0, 0);
606         jPanelStepCaption.add(jSeparator8, gridBagConstraints);
607
608         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
609         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
610         gridBagConstraints.weightx = 1.0;
611         jPanel2.add(jPanelStepCaption, gridBagConstraints);
612
613         jPanelRoot.setLayout(new java.awt.BorderLayout JavaDoc());
614
615         jPanelRoot.setPreferredSize(new java.awt.Dimension JavaDoc(300, 300));
616         jPanelStep1.setLayout(new java.awt.GridBagLayout JavaDoc());
617
618         jLabel13.setText("Use the following template...");
619         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
620         gridBagConstraints.gridx = 0;
621         gridBagConstraints.gridy = 0;
622         gridBagConstraints.gridwidth = 2;
623         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
624         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
625         gridBagConstraints.weightx = 1.0;
626         gridBagConstraints.insets = new java.awt.Insets JavaDoc(74, 0, 0, 0);
627         jPanelStep1.add(jLabel13, gridBagConstraints);
628
629         jComboBoxTemplates.setModel(new javax.swing.DefaultComboBoxModel JavaDoc(new String JavaDoc[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
630         jComboBoxTemplates.setMinimumSize(new java.awt.Dimension JavaDoc(51, 22));
631         jComboBoxTemplates.addActionListener(new java.awt.event.ActionListener JavaDoc() {
632             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
633                 jComboBoxConnectionActionPerformed1(evt);
634             }
635         });
636
637         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
638         gridBagConstraints.gridx = 0;
639         gridBagConstraints.gridy = 2;
640         gridBagConstraints.gridwidth = 2;
641         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
642         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
643         gridBagConstraints.weightx = 1.0;
644         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 0, 0, 0);
645         jPanelStep1.add(jComboBoxTemplates, gridBagConstraints);
646
647         jLabel12.setText("Connection / Datasource");
648         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
649         gridBagConstraints.gridx = 0;
650         gridBagConstraints.gridy = 9;
651         gridBagConstraints.gridwidth = 2;
652         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
653         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
654         gridBagConstraints.weightx = 1.0;
655         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 0, 0);
656         jPanelStep1.add(jLabel12, gridBagConstraints);
657
658         jComboBoxConnection.setModel(new javax.swing.DefaultComboBoxModel JavaDoc(new String JavaDoc[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
659         jComboBoxConnection.setMinimumSize(new java.awt.Dimension JavaDoc(51, 22));
660         jComboBoxConnection.addActionListener(new java.awt.event.ActionListener JavaDoc() {
661             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
662                 jComboBoxConnectionActionPerformed(evt);
663             }
664         });
665
666         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
667         gridBagConstraints.gridx = 0;
668         gridBagConstraints.gridy = 10;
669         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
670         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
671         gridBagConstraints.weightx = 1.0;
672         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 0, 0, 0);
673         jPanelStep1.add(jComboBoxConnection, gridBagConstraints);
674
675         jLabel2.setText("Query string");
676         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
677         gridBagConstraints.gridx = 0;
678         gridBagConstraints.gridy = 14;
679         gridBagConstraints.gridwidth = 2;
680         gridBagConstraints.ipadx = 240;
681         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
682         gridBagConstraints.insets = new java.awt.Insets JavaDoc(21, 0, 0, 0);
683         jPanelStep1.add(jLabel2, gridBagConstraints);
684
685         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
686
687         jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
688         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
689         gridBagConstraints.gridx = 0;
690         gridBagConstraints.gridy = 15;
691         gridBagConstraints.gridwidth = 4;
692         gridBagConstraints.gridheight = 2;
693         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
694         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
695         gridBagConstraints.weightx = 1.0;
696         gridBagConstraints.weighty = 1000.0;
697         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 0, 0, 0);
698         jPanelStep1.add(jPanel1, gridBagConstraints);
699
700         jButtonNewConnection.setText("New");
701         jButtonNewConnection.addActionListener(new java.awt.event.ActionListener JavaDoc() {
702             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
703                 jButtonNewConnectionActionPerformed(evt);
704             }
705         });
706
707         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
708         gridBagConstraints.gridx = 1;
709         gridBagConstraints.gridy = 10;
710         gridBagConstraints.gridheight = 2;
711         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
712         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 0, 0);
713         jPanelStep1.add(jButtonNewConnection, gridBagConstraints);
714
715         jTextFieldBean.addActionListener(new java.awt.event.ActionListener JavaDoc() {
716             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
717                 jTextFieldBeanActionPerformed(evt);
718             }
719         });
720
721         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
722         gridBagConstraints.gridx = 0;
723         gridBagConstraints.gridy = 15;
724         gridBagConstraints.gridwidth = 4;
725         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
726         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
727         gridBagConstraints.weightx = 1.0;
728         gridBagConstraints.weighty = 1.0;
729         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 0, 0, 0);
730         jPanelStep1.add(jTextFieldBean, gridBagConstraints);
731
732         jPanel3.setLayout(new java.awt.GridBagLayout JavaDoc());
733
734         jButtonDesignQuery.setText("Design query");
735         jButtonDesignQuery.setMaximumSize(new java.awt.Dimension JavaDoc(95, 25));
736         jButtonDesignQuery.setMinimumSize(new java.awt.Dimension JavaDoc(95, 25));
737         jButtonDesignQuery.setPreferredSize(new java.awt.Dimension JavaDoc(95, 25));
738         jButtonDesignQuery.addActionListener(new java.awt.event.ActionListener JavaDoc() {
739             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
740                 jButtonDesignQueryActionPerformed(evt);
741             }
742         });
743
744         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
745         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
746         jPanel3.add(jButtonDesignQuery, gridBagConstraints);
747
748         jButtonLoadQuery.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/folder_database.png")));
749         jButtonLoadQuery.setText("Load query");
750         jButtonLoadQuery.setMargin(new java.awt.Insets JavaDoc(2, 4, 2, 4));
751         jButtonLoadQuery.addActionListener(new java.awt.event.ActionListener JavaDoc() {
752             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
753                 jButtonLoadQueryActionPerformed1(evt);
754             }
755         });
756
757         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
758         gridBagConstraints.gridx = 0;
759         gridBagConstraints.gridy = 0;
760         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
761         gridBagConstraints.weightx = 1.0;
762         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 0);
763         jPanel3.add(jButtonLoadQuery, gridBagConstraints);
764
765         jButtonSaveQuery.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/database_save.png")));
766         jButtonSaveQuery.setText("Save query");
767         jButtonSaveQuery.setMargin(new java.awt.Insets JavaDoc(2, 4, 2, 4));
768         jButtonSaveQuery.addActionListener(new java.awt.event.ActionListener JavaDoc() {
769             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
770                 jButtonSaveQueryActionPerformed1(evt);
771             }
772         });
773
774         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
775         gridBagConstraints.gridx = 1;
776         gridBagConstraints.gridy = 0;
777         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
778         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 0);
779         jPanel3.add(jButtonSaveQuery, gridBagConstraints);
780
781         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
782         gridBagConstraints.gridx = 0;
783         gridBagConstraints.gridy = 20;
784         gridBagConstraints.gridwidth = 2;
785         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
786         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
787         gridBagConstraints.weightx = 1.0;
788         gridBagConstraints.weighty = 0.1;
789         jPanelStep1.add(jPanel3, gridBagConstraints);
790
791         jPanelRoot.add(jPanelStep1, java.awt.BorderLayout.CENTER);
792
793         jPanelStep2.setLayout(new java.awt.GridBagLayout JavaDoc());
794
795         jScrollPane2.setPreferredSize(new java.awt.Dimension JavaDoc(50, 130));
796         jScrollPane2.setViewportView(jList1);
797
798         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
799         gridBagConstraints.gridx = 0;
800         gridBagConstraints.gridy = 0;
801         gridBagConstraints.gridheight = 4;
802         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
803         gridBagConstraints.weightx = 1.0;
804         gridBagConstraints.weighty = 1.0;
805         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
806         jPanelStep2.add(jScrollPane2, gridBagConstraints);
807
808         jScrollPane1.setPreferredSize(new java.awt.Dimension JavaDoc(50, 130));
809         jScrollPane1.setViewportView(jList2);
810
811         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
812         gridBagConstraints.gridx = 2;
813         gridBagConstraints.gridy = 0;
814         gridBagConstraints.gridheight = 4;
815         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
816         gridBagConstraints.weightx = 1.0;
817         gridBagConstraints.weighty = 1.0;
818         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
819         jPanelStep2.add(jScrollPane1, gridBagConstraints);
820
821         jPanel5.setLayout(new java.awt.GridBagLayout JavaDoc());
822
823         jButton4.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 14));
824         jButton4.setText(">");
825         jButton4.setMargin(new java.awt.Insets JavaDoc(2, 0, 2, 0));
826         jButton4.addActionListener(new java.awt.event.ActionListener JavaDoc() {
827             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
828                 jButton4ActionPerformed(evt);
829             }
830         });
831
832         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
833         gridBagConstraints.gridx = 1;
834         gridBagConstraints.gridy = 0;
835         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
836         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;
837         gridBagConstraints.weighty = 1.0;
838         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
839         jPanel5.add(jButton4, gridBagConstraints);
840
841         jButton5.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 14));
842         jButton5.setText(">>");
843         jButton5.setMargin(new java.awt.Insets JavaDoc(2, 0, 2, 0));
844         jButton5.addActionListener(new java.awt.event.ActionListener JavaDoc() {
845             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
846                 jButton5ActionPerformed(evt);
847             }
848         });
849
850         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
851         gridBagConstraints.gridx = 1;
852         gridBagConstraints.gridy = 1;
853         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
854         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
855         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
856         jPanel5.add(jButton5, gridBagConstraints);
857
858         jButton6.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 14));
859         jButton6.setText("<");
860         jButton6.setMargin(new java.awt.Insets JavaDoc(2, 0, 2, 0));
861         jButton6.addActionListener(new java.awt.event.ActionListener JavaDoc() {
862             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
863                 jButton6ActionPerformed(evt);
864             }
865         });
866
867         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
868         gridBagConstraints.gridx = 1;
869         gridBagConstraints.gridy = 2;
870         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
871         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
872         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
873         jPanel5.add(jButton6, gridBagConstraints);
874
875         jButton7.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 14));
876         jButton7.setText("<<");
877         jButton7.setMargin(new java.awt.Insets JavaDoc(2, 0, 2, 0));
878         jButton7.addActionListener(new java.awt.event.ActionListener JavaDoc() {
879             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
880                 jButton7ActionPerformed(evt);
881             }
882         });
883
884         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
885         gridBagConstraints.gridx = 1;
886         gridBagConstraints.gridy = 3;
887         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
888         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
889         gridBagConstraints.weighty = 1.0;
890         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
891         jPanel5.add(jButton7, gridBagConstraints);
892
893         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
894         gridBagConstraints.gridx = 1;
895         gridBagConstraints.gridy = 0;
896         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
897         gridBagConstraints.weighty = 1.0;
898         jPanelStep2.add(jPanel5, gridBagConstraints);
899
900         jPanelRoot.add(jPanelStep2, java.awt.BorderLayout.CENTER);
901
902         jPanelStep3.setLayout(new java.awt.GridBagLayout JavaDoc());
903
904         jTableFields.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
905             new Object JavaDoc [][] {
906
907             },
908             new String JavaDoc [] {
909                 "Field name", "Classe"
910             }
911         ) {
912             boolean[] canEdit = new boolean [] {
913                 false, false
914             };
915
916             public boolean isCellEditable(int rowIndex, int columnIndex) {
917                 return canEdit [columnIndex];
918             }
919         });
920         jTableFields.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
921             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
922                 jTableFieldsMouseClicked(evt);
923             }
924         });
925
926         jScrollPane4.setViewportView(jTableFields);
927
928         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
929         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
930         gridBagConstraints.weightx = 1.0;
931         gridBagConstraints.weighty = 1.0;
932         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
933         jPanelStep3.add(jScrollPane4, gridBagConstraints);
934
935         jButtonModifyField.setText("Modify");
936         jButtonModifyField.setEnabled(false);
937         jButtonModifyField.addActionListener(new java.awt.event.ActionListener JavaDoc() {
938             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
939                 jButtonModifyFieldActionPerformed(evt);
940             }
941         });
942
943         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
944         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
945         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
946         jPanelStep3.add(jButtonModifyField, gridBagConstraints);
947
948         jPanelRoot.add(jPanelStep3, java.awt.BorderLayout.NORTH);
949
950         jPanelStep4.setLayout(new java.awt.GridBagLayout JavaDoc());
951
952         jComboBox1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
953             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
954                 jComboBox1ActionPerformed(evt);
955             }
956         });
957
958         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
959         gridBagConstraints.gridx = 0;
960         gridBagConstraints.gridy = 1;
961         gridBagConstraints.gridwidth = 2;
962         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
963         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
964         gridBagConstraints.weightx = 1.0;
965         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 4, 4);
966         jPanelStep4.add(jComboBox1, gridBagConstraints);
967
968         jLabelG1.setText("Group 1");
969         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
970         gridBagConstraints.gridx = 0;
971         gridBagConstraints.gridy = 0;
972         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
973         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
974         gridBagConstraints.insets = new java.awt.Insets JavaDoc(50, 4, 0, 0);
975         jPanelStep4.add(jLabelG1, gridBagConstraints);
976
977         jLabelG2.setText("Group 2");
978         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
979         gridBagConstraints.gridx = 0;
980         gridBagConstraints.gridy = 2;
981         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
982         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
983         gridBagConstraints.weightx = 1.0;
984         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 0, 0);
985         jPanelStep4.add(jLabelG2, gridBagConstraints);
986
987         jComboBox2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
988             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
989                 jComboBox2ActionPerformed(evt);
990             }
991         });
992
993         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
994         gridBagConstraints.gridx = 0;
995         gridBagConstraints.gridy = 3;
996         gridBagConstraints.gridwidth = 2;
997         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
998         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
999         gridBagConstraints.weightx = 1.0;
1000        gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 4, 4);
1001        jPanelStep4.add(jComboBox2, gridBagConstraints);
1002
1003        jLabelG3.setText("Group 3");
1004        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1005        gridBagConstraints.gridx = 0;
1006        gridBagConstraints.gridy = 4;
1007        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1008        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1009        gridBagConstraints.weightx = 1.0;
1010        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 0, 0);
1011        jPanelStep4.add(jLabelG3, gridBagConstraints);
1012
1013        jComboBox3.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1014            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1015                jComboBox3ActionPerformed(evt);
1016            }
1017        });
1018
1019        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1020        gridBagConstraints.gridx = 0;
1021        gridBagConstraints.gridy = 5;
1022        gridBagConstraints.gridwidth = 2;
1023        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1024        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1025        gridBagConstraints.weightx = 1.0;
1026        gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 4, 4);
1027        jPanelStep4.add(jComboBox3, gridBagConstraints);
1028
1029        jLabelG4.setText("Group 4");
1030        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1031        gridBagConstraints.gridx = 0;
1032        gridBagConstraints.gridy = 6;
1033        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1034        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1035        gridBagConstraints.weightx = 1.0;
1036        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 6, 0, 0);
1037        jPanelStep4.add(jLabelG4, gridBagConstraints);
1038
1039        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1040        gridBagConstraints.gridx = 0;
1041        gridBagConstraints.gridy = 7;
1042        gridBagConstraints.gridwidth = 2;
1043        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1044        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1045        gridBagConstraints.weightx = 1.0;
1046        gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 4, 4, 4);
1047        jPanelStep4.add(jComboBox4, gridBagConstraints);
1048
1049        jPanelRoot.add(jPanelStep4, java.awt.BorderLayout.CENTER);
1050
1051        jPanelStep5.setLayout(new java.awt.GridBagLayout JavaDoc());
1052
1053        buttonGroup1.add(jRadioButtonColumnarLayout);
1054        jRadioButtonColumnarLayout.setSelected(true);
1055        jRadioButtonColumnarLayout.setText("Columnar layout");
1056        jRadioButtonColumnarLayout.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1057        jRadioButtonColumnarLayout.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1058        jRadioButtonColumnarLayout.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1059            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1060                jRadioButtonColumnarLayoutActionPerformed(evt);
1061            }
1062        });
1063
1064        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1065        gridBagConstraints.gridx = 0;
1066        gridBagConstraints.gridy = 0;
1067        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.RELATIVE;
1068        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1069        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1070        gridBagConstraints.weightx = 1.0;
1071        gridBagConstraints.insets = new java.awt.Insets JavaDoc(70, 10, 0, 0);
1072        jPanelStep5.add(jRadioButtonColumnarLayout, gridBagConstraints);
1073
1074        buttonGroup1.add(jRadioButtonTabularLayout);
1075        jRadioButtonTabularLayout.setText("Tabular layout");
1076        jRadioButtonTabularLayout.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1077        jRadioButtonTabularLayout.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1078        jRadioButtonTabularLayout.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1079            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1080                jRadioButtonTabularLayoutActionPerformed(evt);
1081            }
1082        });
1083
1084        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1085        gridBagConstraints.gridx = 0;
1086        gridBagConstraints.gridy = 1;
1087        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.RELATIVE;
1088        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1089        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1090        gridBagConstraints.weightx = 1.0;
1091        gridBagConstraints.insets = new java.awt.Insets JavaDoc(5, 10, 0, 0);
1092        jPanelStep5.add(jRadioButtonTabularLayout, gridBagConstraints);
1093
1094        jScrollPane3.setPreferredSize(new java.awt.Dimension JavaDoc(0, 0));
1095        jList3.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
1096        jList3.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
1097            public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
1098                jList3ValueChanged(evt);
1099            }
1100        });
1101
1102        jScrollPane3.setViewportView(jList3);
1103
1104        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1105        gridBagConstraints.gridx = 0;
1106        gridBagConstraints.gridy = 2;
1107        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1108        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1109        gridBagConstraints.weightx = 0.5;
1110        gridBagConstraints.weighty = 1.0;
1111        gridBagConstraints.insets = new java.awt.Insets JavaDoc(13, 8, 0, 0);
1112        jPanelStep5.add(jScrollPane3, gridBagConstraints);
1113
1114        jLabelImage.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
1115        jLabelImage.setVerticalAlignment(javax.swing.SwingConstants.TOP);
1116        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1117        gridBagConstraints.gridx = 1;
1118        gridBagConstraints.gridy = 2;
1119        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1120        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1121        gridBagConstraints.weightx = 0.5;
1122        gridBagConstraints.weighty = 1.0;
1123        gridBagConstraints.insets = new java.awt.Insets JavaDoc(13, 8, 0, 30);
1124        jPanelStep5.add(jLabelImage, gridBagConstraints);
1125
1126        jCheckBoxSetHeader.setSelected(true);
1127        jCheckBoxSetHeader.setText("jCheckBox1");
1128        jCheckBoxSetHeader.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1129        jCheckBoxSetHeader.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1130        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1131        gridBagConstraints.gridx = 0;
1132        gridBagConstraints.gridy = 4;
1133        gridBagConstraints.gridwidth = 3;
1134        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1135        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1136        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 10, 5, 0);
1137        jPanelStep5.add(jCheckBoxSetHeader, gridBagConstraints);
1138
1139        jPanelRoot.add(jPanelStep5, java.awt.BorderLayout.CENTER);
1140
1141        jPanelStep6.setLayout(new java.awt.GridBagLayout JavaDoc());
1142
1143        jLabel4.setFont(new java.awt.Font JavaDoc("Tahoma", 0, 14));
1144        jLabel4.setText("Congratulation!");
1145        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1146        gridBagConstraints.gridx = 0;
1147        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1148        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1149        gridBagConstraints.weightx = 1.0;
1150        gridBagConstraints.insets = new java.awt.Insets JavaDoc(40, 80, 4, 4);
1151        jPanelStep6.add(jLabel4, gridBagConstraints);
1152
1153        jLabel10.setText("You have succesfully created a new report.");
1154        jLabel10.setVerticalAlignment(javax.swing.SwingConstants.TOP);
1155        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1156        gridBagConstraints.gridx = 0;
1157        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1158        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1159        gridBagConstraints.weightx = 1.0;
1160        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 80, 0, 4);
1161        jPanelStep6.add(jLabel10, gridBagConstraints);
1162
1163        jLabel11.setText("Press 'Finish' to generate it.");
1164        jLabel11.setVerticalAlignment(javax.swing.SwingConstants.TOP);
1165        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1166        gridBagConstraints.gridx = 0;
1167        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1168        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1169        gridBagConstraints.weightx = 1.0;
1170        gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 80, 4, 4);
1171        jPanelStep6.add(jLabel11, gridBagConstraints);
1172
1173        jCheckBoxSaveTemplate.setText("Save choices as template...");
1174        jCheckBoxSaveTemplate.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1175        jCheckBoxSaveTemplate.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1176        jCheckBoxSaveTemplate.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1177            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1178                jCheckBoxSaveTemplateActionPerformed(evt);
1179            }
1180        });
1181
1182        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1183        gridBagConstraints.gridx = 0;
1184        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1185        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
1186        gridBagConstraints.insets = new java.awt.Insets JavaDoc(40, 80, 0, 4);
1187        jPanelStep6.add(jCheckBoxSaveTemplate, gridBagConstraints);
1188
1189        jTextFieldTemplateName.setText("My Template 1");
1190        jTextFieldTemplateName.setEnabled(false);
1191        jTextFieldTemplateName.setMinimumSize(new java.awt.Dimension JavaDoc(250, 19));
1192        jTextFieldTemplateName.setPreferredSize(new java.awt.Dimension JavaDoc(250, 19));
1193        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1194        gridBagConstraints.gridx = 0;
1195        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1196        gridBagConstraints.weightx = 1.0;
1197        gridBagConstraints.weighty = 1.0;
1198        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 100, 0, 0);
1199        jPanelStep6.add(jTextFieldTemplateName, gridBagConstraints);
1200
1201        jPanelRoot.add(jPanelStep6, java.awt.BorderLayout.CENTER);
1202
1203        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1204        gridBagConstraints.gridx = 1;
1205        gridBagConstraints.gridwidth = 4;
1206        gridBagConstraints.gridheight = 8;
1207        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1208        gridBagConstraints.ipadx = 323;
1209        gridBagConstraints.ipady = 277;
1210        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1211        gridBagConstraints.weightx = 1.0;
1212        gridBagConstraints.weighty = 1.0;
1213        gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 0, 5);
1214        jPanel2.add(jPanelRoot, gridBagConstraints);
1215
1216        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1217        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
1218        gridBagConstraints.weightx = 1.0;
1219        gridBagConstraints.weighty = 1.0;
1220        getContentPane().add(jPanel2, gridBagConstraints);
1221
1222        jSeparator1.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
1223        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1224        gridBagConstraints.gridx = 0;
1225        gridBagConstraints.gridwidth = 8;
1226        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1227        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1228        getContentPane().add(jSeparator1, gridBagConstraints);
1229
1230        jPanel4.setLayout(new java.awt.GridBagLayout JavaDoc());
1231
1232        jButtonCancel.setMnemonic('f');
1233        jButtonCancel.setText("Cancel");
1234        jButtonCancel.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1235            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1236                jButtonCancelActionPerformed(evt);
1237            }
1238        });
1239
1240        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1241        gridBagConstraints.gridx = 6;
1242        gridBagConstraints.gridy = 9;
1243        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1244        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
1245        jPanel4.add(jButtonCancel, gridBagConstraints);
1246
1247        jButtonNext.setMnemonic('n');
1248        jButtonNext.setText("Next >");
1249        jButtonNext.setEnabled(false);
1250        jButtonNext.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1251            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1252                jButtonNextActionPerformed(evt);
1253            }
1254        });
1255
1256        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1257        gridBagConstraints.gridx = 5;
1258        gridBagConstraints.gridy = 9;
1259        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
1260        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
1261        jPanel4.add(jButtonNext, gridBagConstraints);
1262
1263        jButtonPrev.setMnemonic('p');
1264        jButtonPrev.setText("< Prev");
1265        jButtonPrev.setEnabled(false);
1266        jButtonPrev.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1267            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1268                jButtonPrevActionPerformed(evt);
1269            }
1270        });
1271
1272        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1273        gridBagConstraints.gridx = 4;
1274        gridBagConstraints.gridy = 9;
1275        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
1276        gridBagConstraints.weightx = 1.0;
1277        gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
1278        jPanel4.add(jButtonPrev, gridBagConstraints);
1279
1280        gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
1281        gridBagConstraints.gridx = 0;
1282        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
1283        gridBagConstraints.weightx = 1.0;
1284        getContentPane().add(jPanel4, gridBagConstraints);
1285
1286        pack();
1287    }// </editor-fold>//GEN-END:initComponents
1288

1289    private void jComboBoxConnectionActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxConnectionActionPerformed1
1290

1291        if (jComboBoxTemplates.getSelectedIndex() <= 0)
1292        {
1293            userTemplate = null;
1294        }
1295        else
1296        {
1297            userTemplate = (UserChoicesWizardTemplate)jComboBoxTemplates.getSelectedItem();
1298            this.jRSQLExpressionArea1.setText( userTemplate.getQuery() );
1299            
1300            if (userTemplate.getIRDatasourceName() != null && userTemplate.getIRDatasourceName().length() >0)
1301            {
1302                for (int i=0; i<jComboBoxConnection.getItemCount(); ++i)
1303                {
1304                    IReportConnection c = (IReportConnection)jComboBoxConnection.getItemAt(i);
1305                    if (c.getName().equals(userTemplate.getIRDatasourceName() ))
1306                    {
1307                        jComboBoxConnection.setSelectedIndex(i);
1308                    }
1309                }
1310            }
1311            this.jRSQLExpressionArea1.setText( userTemplate.getQuery() );
1312        }
1313        
1314    }//GEN-LAST:event_jComboBoxConnectionActionPerformed1
1315

1316    private void jCheckBoxSaveTemplateActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxSaveTemplateActionPerformed
1317

1318        jTextFieldTemplateName.setEnabled( jCheckBoxSaveTemplate.isSelected() );
1319        
1320    }//GEN-LAST:event_jCheckBoxSaveTemplateActionPerformed
1321

1322    private void jButtonModifyFieldActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModifyFieldActionPerformed
1323

1324        if (jTableFields.getSelectedRow() >=0)
1325        {
1326            int row = jTableFields.getSelectedRow();
1327            JRField field = (JRField)jTableFields.getValueAt(row,0);
1328            java.awt.Frame JavaDoc parent = Misc.frameFromComponent(this);
1329            JRFieldDialog jrpd = new JRFieldDialog(parent, true);
1330            jrpd.setField(field);
1331            jrpd.setVisible(true);
1332
1333            if (jrpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
1334                field.setName(jrpd.getField().getName());
1335                field.setClassType(jrpd.getField().getClassType());
1336                
1337                jTableFields.setValueAt(field.getClassType(), row,1);
1338                jTableFields.updateUI();
1339            }
1340        }
1341        
1342    }//GEN-LAST:event_jButtonModifyFieldActionPerformed
1343

1344    
1345    private void jTableFieldsMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTableFieldsMouseClicked
1346

1347        if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1 &&
1348                jTableFields.getSelectedRow() >= 0) {
1349                jButtonModifyFieldActionPerformed( null );
1350        }
1351        
1352        //if (evt.getClickCount() == 1 && evt.getButton() == evt.BUTTON3) {
1353
// jPopupMenuFields.show(jTableFields, evt.getPoint().x,
1354
// evt.getPoint().y);
1355
//}
1356

1357    }//GEN-LAST:event_jTableFieldsMouseClicked
1358

1359    private void jButtonDesignQueryActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDesignQueryActionPerformed
1360

1361        
1362        IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem();
1363        
1364        String JavaDoc query = jRSQLExpressionArea1.getText();
1365        
1366        try {
1367            if (irc.isJDBCConnection()) {
1368                SQLFieldsProvider sfp = new SQLFieldsProvider();
1369                query = sfp.designQuery(irc, query, null);
1370            } else if (irc instanceof JRXMLADataSourceConnection) {
1371                
1372                CincomMDXFieldsProvider mfp = new CincomMDXFieldsProvider();
1373                query = mfp.designQuery(irc, query, null);
1374            } else {
1375                return;
1376            }
1377            
1378            if (query != null && query.length() > 0) {
1379                jRSQLExpressionArea1.setText(query);
1380            }
1381            
1382        } catch (Exception JavaDoc ex) {
1383            ex.printStackTrace();
1384        }
1385        
1386        
1387    }//GEN-LAST:event_jButtonDesignQueryActionPerformed
1388

1389    private void jButtonSaveQueryActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonSaveQueryActionPerformed1
1390
Misc.saveSQLQuery( jRSQLExpressionArea1.getText(), this );
1391    }//GEN-LAST:event_jButtonSaveQueryActionPerformed1
1392

1393    private void jButtonLoadQueryActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonLoadQueryActionPerformed1
1394
String JavaDoc query = Misc.loadSQLQuery(this);
1395        
1396        if (query != null) {
1397            jRSQLExpressionArea1.setText(query);
1398        }
1399    }//GEN-LAST:event_jButtonLoadQueryActionPerformed1
1400

1401    private void jTextFieldBeanActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jTextFieldBeanActionPerformed
1402
jComboBoxConnectionActionPerformed(null);
1403    }//GEN-LAST:event_jTextFieldBeanActionPerformed
1404

1405    private void jButtonNewConnectionActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonNewConnectionActionPerformed
1406

1407        
1408        ConnectionDialog cd = new ConnectionDialog(this,true);
1409        
1410        cd.setVisible(true);
1411        
1412        IReportConnection con = null;
1413        if (cd.getDialogResult() == JOptionPane.OK_OPTION) {
1414            con = cd.getIReportConnection();
1415            MainFrame.getMainInstance().getConnections().addElement(con);
1416            
1417            if (MainFrame.getMainInstance().getConnections().size() == 1) {
1418                MainFrame.getMainInstance().setActiveConnection(con);
1419            } else {
1420                MainFrame.getMainInstance().saveiReportConfiguration();
1421            }
1422            
1423            this.updateConnections();
1424            this.jComboBoxConnection.setSelectedItem(con);
1425        }
1426        
1427        
1428        
1429    }//GEN-LAST:event_jButtonNewConnectionActionPerformed
1430

1431    private void jComboBoxConnectionActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxConnectionActionPerformed
1432

1433        boolean canNext = false;
1434        if (jComboBoxConnection.getSelectedItem() != null) {
1435            IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem();
1436            
1437            jButtonDesignQuery.setVisible(false);
1438            if (irc.isJDBCConnection()) {
1439                //jLabel2.setText("SQL query");
1440
jLabel2.setText(it.businesslogic.ireport.util.I18n.getString("sqlQuery","SQL query"));
1441                jPanel1.setVisible(true);
1442                jButtonLoadQuery.setVisible(true);
1443                jButtonSaveQuery.setVisible(true);
1444                jButtonDesignQuery.setVisible( SQLFieldsProvider.useVisualDesigner );
1445                jTextFieldBean.setVisible(false);
1446                jButtonDesignQuery.setEnabled(true);
1447                
1448                if (jRSQLExpressionArea1.getText().length() > 0) canNext = true;
1449            } else if (irc instanceof JRHibernateConnection) {
1450                //jLabel2.setText("HQL query");
1451
jLabel2.setText(it.businesslogic.ireport.util.I18n.getString("hqlQuery","HQL query"));
1452                jPanel1.setVisible(true);
1453                jButtonLoadQuery.setVisible(true);
1454                jButtonSaveQuery.setVisible(true);
1455                jTextFieldBean.setVisible(false);
1456                if (jRSQLExpressionArea1.getText().length() > 0) canNext = true;
1457            } else if (irc instanceof JRXMLADataSourceConnection) {
1458                //jLabel2.setText("HQL query");
1459
jLabel2.setText(it.businesslogic.ireport.util.I18n.getString("mdxQuery","MDX query"));
1460                jPanel1.setVisible(true);
1461                jButtonLoadQuery.setVisible(true);
1462                jButtonSaveQuery.setVisible(true);
1463                jTextFieldBean.setVisible(false);
1464                // Activate the designer button...
1465
jButtonDesignQuery.setVisible( MDXFieldsProvider.useVisualDesigner );
1466                if (jRSQLExpressionArea1.getText().length() > 0) canNext = true;
1467                
1468            } else if (irc instanceof it.businesslogic.ireport.connection.JRDataSourceProviderConnection) {
1469                jLabel2.setText("");
1470                jPanel1.setVisible(false);
1471                jButtonLoadQuery.setVisible(false);
1472                jButtonSaveQuery.setVisible(false);
1473                jTextFieldBean.setVisible(false);
1474                canNext = true;
1475            } else if (irc instanceof it.businesslogic.ireport.connection.JavaBeanDataSourceConnection) {
1476                jLabel2.setText("JavaBean class");
1477                jPanel1.setVisible(false);
1478                jButtonLoadQuery.setVisible(false);
1479                jButtonSaveQuery.setVisible(false);
1480                jTextFieldBean.setVisible(true);
1481                if (jTextFieldBean.getText().length() > 0) canNext = true;
1482            } else if (irc instanceof it.businesslogic.ireport.connection.JRCSVDataSourceConnection) {
1483                jLabel2.setText("");
1484                jPanel1.setVisible(false);
1485                jButtonLoadQuery.setVisible(false);
1486                jButtonSaveQuery.setVisible(false);
1487                jTextFieldBean.setVisible(false);
1488                canNext = true;
1489            } else if (irc instanceof it.businesslogic.ireport.connection.NullConnection) {
1490                jLabel2.setText("");
1491                jPanel1.setVisible(false);
1492                jButtonLoadQuery.setVisible(false);
1493                jButtonSaveQuery.setVisible(false);
1494                jTextFieldBean.setVisible(false);
1495                canNext = true;
1496            } else {
1497                jLabel2.setText("You can't use the wizard with this kind of datasource");
1498                jPanel1.setVisible(false);
1499                jButtonLoadQuery.setVisible(false);
1500                jButtonSaveQuery.setVisible(false);
1501                jTextFieldBean.setVisible(false);
1502                canNext = false;
1503            }
1504            
1505        } else {
1506            jLabel2.setText("Please create a new connection / datasource.");
1507            jPanel1.setVisible(false);
1508            jButtonLoadQuery.setVisible(false);
1509            jButtonSaveQuery.setVisible(false);
1510            jTextFieldBean.setVisible(false);
1511        }
1512        
1513        jButtonNext.setEnabled(canNext);
1514        
1515    }//GEN-LAST:event_jComboBoxConnectionActionPerformed
1516

1517    
1518    private void jRadioButtonColumnarLayoutActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonColumnarLayoutActionPerformed
1519
updateTemplatesList();
1520    }//GEN-LAST:event_jRadioButtonColumnarLayoutActionPerformed
1521

1522    private void jRadioButtonTabularLayoutActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonTabularLayoutActionPerformed
1523
updateTemplatesList();
1524    }//GEN-LAST:event_jRadioButtonTabularLayoutActionPerformed
1525

1526    private void jList3ValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jList3ValueChanged
1527

1528        if (jList3.getSelectedIndex() >= 0) {
1529            IReportTemplate tf = (IReportTemplate)jList3.getSelectedValue();
1530            // Take the image...
1531

1532            this.jLabelImage.setIcon( tf.getIcon() );
1533            
1534            this.jLabelImage.updateUI();
1535            this.jButtonNext.setEnabled(true);
1536        } else {
1537            this.jLabelImage.setIcon( null );
1538            this.jButtonNext.setEnabled(false);
1539        }
1540    }//GEN-LAST:event_jList3ValueChanged
1541

1542    private void jComboBox3ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBox3ActionPerformed
1543
// Add to combobox 2 all not selected items...
1544
Object JavaDoc obj1 = jComboBox1.getSelectedItem();
1545        Object JavaDoc obj2 = jComboBox2.getSelectedItem();
1546        Object JavaDoc obj3 = jComboBox3.getSelectedItem();
1547        if (jComboBox3.getSelectedIndex() <= 0) {
1548            disableGroups( 4 );
1549        } else {
1550            jComboBox4.setEnabled(true);
1551            jLabelG4.setEnabled(true);
1552            javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1553            jComboBox4.removeAllItems();
1554            jComboBox4.addItem("");
1555            for (int i=0; i<dlm.getSize(); ++i) {
1556                Object JavaDoc obj = dlm.getElementAt(i);
1557                if (obj != obj1 && obj != obj2 && obj != obj3)
1558                    jComboBox4.addItem( obj );
1559            }
1560        }
1561    }//GEN-LAST:event_jComboBox3ActionPerformed
1562

1563    private void jComboBox2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBox2ActionPerformed
1564
// Add to combobox 2 all not selected items...
1565
Object JavaDoc obj1 = jComboBox1.getSelectedItem();
1566        Object JavaDoc obj2 = jComboBox2.getSelectedItem();
1567        if (jComboBox2.getSelectedIndex() <= 0) {
1568            disableGroups( 3 );
1569        } else {
1570            disableGroups( 4 );
1571            jComboBox3.setEnabled(true);
1572            jLabelG3.setEnabled(true);
1573            javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1574            jComboBox3.removeAllItems();
1575            jComboBox3.addItem("");
1576            for (int i=0; i<dlm.getSize(); ++i) {
1577                Object JavaDoc obj = dlm.getElementAt(i);
1578                if (obj != obj1 && obj != obj2)
1579                    jComboBox3.addItem( obj );
1580            }
1581        }
1582    }//GEN-LAST:event_jComboBox2ActionPerformed
1583

1584    public void disableGroups(int fromIndex) {
1585        switch (fromIndex) {
1586            case 2:
1587                jComboBox2.removeAllItems();
1588                jComboBox2.setEnabled(false);
1589                jLabelG2.setEnabled(false);
1590            case 3:
1591                jComboBox3.removeAllItems();
1592                jComboBox3.setEnabled(false);
1593                jLabelG3.setEnabled(false);
1594            case 4:
1595                jComboBox4.removeAllItems();
1596                jComboBox4.setEnabled(false);
1597                jLabelG4.setEnabled(false);
1598        }
1599    }
1600    
1601    
1602    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
1603

1604        // Add to combobox 2 all not selected items...
1605
Object JavaDoc obj1 = jComboBox1.getSelectedItem();
1606        if (jComboBox1.getSelectedIndex() <= 0) {
1607            disableGroups( 2 );
1608        } else {
1609            disableGroups( 3 );
1610            jComboBox2.setEnabled(true);
1611            jLabelG2.setEnabled(true);
1612            javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1613            jComboBox2.removeAllItems();
1614            jComboBox2.addItem("");
1615            for (int i=0; i<dlm.getSize(); ++i) {
1616                Object JavaDoc obj = dlm.getElementAt(i);
1617                if (obj != obj1)
1618                    jComboBox2.addItem( obj );
1619            }
1620        }
1621        
1622        
1623    }//GEN-LAST:event_jComboBox1ActionPerformed
1624

1625    private void jButton5ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton5ActionPerformed
1626

1627        javax.swing.DefaultListModel JavaDoc list1 = (javax.swing.DefaultListModel JavaDoc)jList1.getModel();
1628        javax.swing.DefaultListModel JavaDoc list2 = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1629        
1630        for (int i=0; i< list1.getSize(); ++i) {
1631            list2.addElement(list1.getElementAt(i));
1632        }
1633        list1.removeAllElements();
1634        if ( ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).getSize() == 0 )
1635            jButtonNext.setEnabled(false);
1636        else
1637            jButtonNext.setEnabled(true);
1638    }//GEN-LAST:event_jButton5ActionPerformed
1639

1640    private void jButton6ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton6ActionPerformed
1641
int index = jList2.getSelectedIndex();
1642        if (index <0) return;
1643        
1644        Object JavaDoc[] objs = jList2.getSelectedValues();
1645        for (int i=0; i< objs.length; ++i) {
1646            Object JavaDoc obj = objs[i];
1647            //Object obj = jList2.getSelectedValue();
1648
((javax.swing.DefaultListModel JavaDoc)jList1.getModel()).addElement(obj);
1649            jButtonNext.setEnabled(true);
1650            ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).removeElement(obj);
1651            /*
1652            if ( index < ((javax.swing.DefaultListModel)jList2.getModel()).getSize() )
1653                jList2.setSelectedIndex(index);
1654            else if (index-1 >= 0)
1655            {
1656                jList2.setSelectedIndex(index-1);
1657            }
1658             */

1659            if ( ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).getSize() == 0 )
1660                jButtonNext.setEnabled(false);
1661            else
1662                jButtonNext.setEnabled(true);
1663        }
1664    }//GEN-LAST:event_jButton6ActionPerformed
1665

1666    private void jButton4ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton4ActionPerformed
1667

1668        int index = jList1.getSelectedIndex();
1669        if (index <0) return;
1670        
1671        Object JavaDoc[] objs = jList1.getSelectedValues();
1672        for (int i=0; i< objs.length; ++i) {
1673            Object JavaDoc obj = objs[i];
1674            ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).addElement(obj);
1675            jButtonNext.setEnabled(true);
1676            ((javax.swing.DefaultListModel JavaDoc)jList1.getModel()).removeElement(obj);
1677            /*
1678            if ( index < ((javax.swing.DefaultListModel)jList1.getModel()).getSize() )
1679                jList1.setSelectedIndex(index);
1680            else if (index-1 >= 0)
1681            {
1682                jList1.setSelectedIndex(index-1);
1683            }
1684             */

1685            if ( ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).getSize() == 0 )
1686                jButtonNext.setEnabled(false);
1687            else
1688                jButtonNext.setEnabled(true);
1689        }
1690    }//GEN-LAST:event_jButton4ActionPerformed
1691

1692    private void jButtonCancelActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
1693

1694        if (t != null && t.isAlive()) {
1695            t.interrupt();
1696        }
1697        
1698        if (wzStep == 6) {
1699            //javax.swing.JOptionPane.showMessageDialog(null, ((TemplateFile)jList3.getSelectedValue()).file.getAbsolutePath()+"" );
1700
String JavaDoc templateName = "";
1701            if (jCheckBoxSaveTemplate.isSelected() && jTextFieldTemplateName.getText().length() == 0)
1702            {
1703                javax.swing.JOptionPane.showMessageDialog(getParent(),
1704                        I18n.getString("message.invalidTemplateName","Invalid template name!"),
1705                        I18n.getString("message.title.error","Error"), javax.swing.JOptionPane.ERROR_MESSAGE);
1706                return;
1707            }
1708            
1709            try {
1710                Report report = null;
1711                
1712                UserChoicesWizardTemplate ucwt = new UserChoicesWizardTemplate();
1713                ucwt.setName( jTextFieldTemplateName.getText().trim() );
1714                ucwt.setQuery( jRSQLExpressionArea1.getText());
1715                ucwt.setQuery_language( getQueryLanguage() );
1716                ucwt.setTemplateFile( ((IReportTemplate)jList3.getSelectedValue()).getXmlFile() );
1717
1718                ucwt.setSaveFieldDescriptions( jCheckBoxSetHeader.isSelected() );
1719
1720                for (int i=0; i<jList2.getModel().getSize(); ++i) {
1721                    // FIELD
1722
JRField f = (JRField)jList2.getModel().getElementAt(i);
1723                    ucwt.getDisplayFields().add(f);
1724                }
1725
1726                if (jComboBoxConnection.getSelectedItem() != null)
1727                {
1728                    ucwt.setIRDatasourceName("" + jComboBoxConnection.getSelectedItem());
1729                }
1730
1731                if (jComboBox1.getSelectedIndex() > 0)
1732                {
1733                    ucwt.getGroupExpressions().add("" + jComboBox1.getSelectedItem());
1734                }
1735                if (jComboBox2.getSelectedIndex() > 0)
1736                {
1737                    ucwt.getGroupExpressions().add("" + jComboBox2.getSelectedItem());
1738                }
1739                if (jComboBox3.getSelectedIndex() > 0)
1740                {
1741                    ucwt.getGroupExpressions().add("" + jComboBox3.getSelectedItem());
1742                }
1743                if (jComboBox4.getSelectedIndex() > 0)
1744                {
1745                    ucwt.getGroupExpressions().add("" + jComboBox4.getSelectedItem());
1746                }
1747                
1748                report = ReportGenerator.createReport(ucwt);
1749                
1750                if (jCheckBoxSaveTemplate.isSelected())
1751                {
1752                    MainFrame.getMainInstance().getUserChoicesWizardTemplates().add(ucwt);
1753                    UserChoicesWizardTemplate.storeWizardTemplates( MainFrame.getMainInstance().getUserChoicesWizardTemplates() );
1754                }
1755                
1756                this.setReport(report);
1757                MainFrame.getMainInstance().setActiveConnection( (IReportConnection)jComboBoxConnection.getSelectedItem());
1758                this.setDialogResult(javax.swing.JOptionPane.OK_OPTION);
1759            } catch (Exception JavaDoc ex) {
1760                java.io.StringWriter JavaDoc sw = new java.io.StringWriter JavaDoc();
1761                ex.printStackTrace(new java.io.PrintWriter JavaDoc( sw ));
1762                javax.swing.JOptionPane.showMessageDialog(getParent(),sw.getBuffer()+"",
1763                        I18n.getString("message.title.error","Error"), javax.swing.JOptionPane.ERROR_MESSAGE);
1764                return;
1765            }
1766            
1767        } else
1768            this.setDialogResult(javax.swing.JOptionPane.CANCEL_OPTION);
1769        
1770        this.setVisible(false);
1771        this.dispose();
1772        
1773    }//GEN-LAST:event_jButtonCancelActionPerformed
1774

1775    private void jButtonNextActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonNextActionPerformed
1776
this.nextStep();
1777    }//GEN-LAST:event_jButtonNextActionPerformed
1778

1779    private void jButtonPrevActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPrevActionPerformed
1780
this.prevStep();
1781    }//GEN-LAST:event_jButtonPrevActionPerformed
1782

1783    private void jButton7ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton7ActionPerformed
1784
javax.swing.DefaultListModel JavaDoc list2 = (javax.swing.DefaultListModel JavaDoc)jList1.getModel();
1785        javax.swing.DefaultListModel JavaDoc list1 = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1786        
1787        for (int i=0; i< list1.getSize(); ++i) {
1788            list2.addElement(list1.getElementAt(i));
1789        }
1790        list1.removeAllElements();
1791        if ( ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).getSize() == 0 )
1792            jButtonNext.setEnabled(false);
1793        else
1794            jButtonNext.setEnabled(true);
1795    }//GEN-LAST:event_jButton7ActionPerformed
1796

1797    /** Closes the dialog */
1798    private void closeDialog(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_closeDialog
1799
setVisible(false);
1800        dispose();
1801    }//GEN-LAST:event_closeDialog
1802

1803    /**
1804     * @param args the command line arguments
1805     */

1806    public static void main(String JavaDoc args[]) {
1807        new WizardDialog(new javax.swing.JFrame JavaDoc(), true).setVisible(true);
1808    }
1809    
1810    
1811    // Variables declaration - do not modify//GEN-BEGIN:variables
1812
private javax.swing.ButtonGroup JavaDoc buttonGroup1;
1813    private javax.swing.JButton JavaDoc jButton4;
1814    private javax.swing.JButton JavaDoc jButton5;
1815    private javax.swing.JButton JavaDoc jButton6;
1816    private javax.swing.JButton JavaDoc jButton7;
1817    private javax.swing.JButton JavaDoc jButtonCancel;
1818    private javax.swing.JButton JavaDoc jButtonDesignQuery;
1819    private javax.swing.JButton JavaDoc jButtonLoadQuery;
1820    private javax.swing.JButton JavaDoc jButtonModifyField;
1821    private javax.swing.JButton JavaDoc jButtonNewConnection;
1822    private javax.swing.JButton JavaDoc jButtonNext;
1823    private javax.swing.JButton JavaDoc jButtonPrev;
1824    private javax.swing.JButton JavaDoc jButtonSaveQuery;
1825    private javax.swing.JCheckBox JavaDoc jCheckBoxSaveTemplate;
1826    private javax.swing.JCheckBox JavaDoc jCheckBoxSetHeader;
1827    private javax.swing.JComboBox JavaDoc jComboBox1;
1828    private javax.swing.JComboBox JavaDoc jComboBox2;
1829    private javax.swing.JComboBox JavaDoc jComboBox3;
1830    private javax.swing.JComboBox JavaDoc jComboBox4;
1831    private javax.swing.JComboBox JavaDoc jComboBoxConnection;
1832    private javax.swing.JComboBox JavaDoc jComboBoxTemplates;
1833    private javax.swing.JLabel JavaDoc jLabel1;
1834    private javax.swing.JLabel JavaDoc jLabel10;
1835    private javax.swing.JLabel JavaDoc jLabel11;
1836    private javax.swing.JLabel JavaDoc jLabel12;
1837    private javax.swing.JLabel JavaDoc jLabel13;
1838    private javax.swing.JLabel JavaDoc jLabel2;
1839    private javax.swing.JLabel JavaDoc jLabel4;
1840    private javax.swing.JLabel JavaDoc jLabel7;
1841    private javax.swing.JLabel JavaDoc jLabelG1;
1842    private javax.swing.JLabel JavaDoc jLabelG2;
1843    private javax.swing.JLabel JavaDoc jLabelG3;
1844    private javax.swing.JLabel JavaDoc jLabelG4;
1845    private javax.swing.JLabel JavaDoc jLabelImage;
1846    private javax.swing.JLabel JavaDoc jLabelStep1;
1847    private javax.swing.JLabel JavaDoc jLabelStep2;
1848    private javax.swing.JLabel JavaDoc jLabelStep3;
1849    private javax.swing.JLabel JavaDoc jLabelStep4;
1850    private javax.swing.JLabel JavaDoc jLabelStep5;
1851    private javax.swing.JLabel JavaDoc jLabelStepCaption;
1852    private javax.swing.JList JavaDoc jList1;
1853    private javax.swing.JList JavaDoc jList2;
1854    private javax.swing.JList JavaDoc jList3;
1855    private javax.swing.JPanel JavaDoc jPanel1;
1856    private javax.swing.JPanel JavaDoc jPanel2;
1857    private javax.swing.JPanel JavaDoc jPanel3;
1858    private javax.swing.JPanel JavaDoc jPanel4;
1859    private javax.swing.JPanel JavaDoc jPanel5;
1860    private javax.swing.JPanel JavaDoc jPanelRoot;
1861    private javax.swing.JPanel JavaDoc jPanelStep1;
1862    private javax.swing.JPanel JavaDoc jPanelStep2;
1863    private javax.swing.JPanel JavaDoc jPanelStep3;
1864    private javax.swing.JPanel JavaDoc jPanelStep4;
1865    private javax.swing.JPanel JavaDoc jPanelStep5;
1866    private javax.swing.JPanel JavaDoc jPanelStep6;
1867    private javax.swing.JPanel JavaDoc jPanelStepCaption;
1868    private javax.swing.JPanel JavaDoc jPanelSteps;
1869    private javax.swing.JRadioButton JavaDoc jRadioButtonColumnarLayout;
1870    private javax.swing.JRadioButton JavaDoc jRadioButtonTabularLayout;
1871    private javax.swing.JScrollPane JavaDoc jScrollPane1;
1872    private javax.swing.JScrollPane JavaDoc jScrollPane2;
1873    private javax.swing.JScrollPane JavaDoc jScrollPane3;
1874    private javax.swing.JScrollPane JavaDoc jScrollPane4;
1875    private javax.swing.JSeparator JavaDoc jSeparator1;
1876    private javax.swing.JSeparator JavaDoc jSeparator2;
1877    private javax.swing.JSeparator JavaDoc jSeparator8;
1878    private javax.swing.JTable JavaDoc jTableFields;
1879    private javax.swing.JTextField JavaDoc jTextFieldBean;
1880    private javax.swing.JTextField JavaDoc jTextFieldTemplateName;
1881    // End of variables declaration//GEN-END:variables
1882

1883    private int status;
1884    
1885    private Report report;
1886    
1887    private int dialogResult;
1888    
1889    public void nextStep() {
1890        this.setStep( wzStep+1, wzStep);
1891    }
1892    
1893    public void prevStep() {
1894        this.setStep(wzStep-1, wzStep);
1895    }
1896    
1897    
1898    public void setStep(int step, int oldStep) {
1899        jButtonCancel.setText(it.businesslogic.ireport.util.I18n.getString("cancel","Cancel"));
1900        
1901        switch (step) {
1902            case 1:
1903                setViewedPanel(1);
1904                if (jRSQLExpressionArea1.getText().trim().length() > 0 ||
1905                        jComboBoxConnection.getSelectedIndex() == 0) {
1906                    jButtonNext.setEnabled(true);
1907                } else
1908                    jButtonNext.setEnabled(false);
1909                
1910                jButtonPrev.setEnabled(false);
1911                break;
1912            case 2:
1913                // Read fields....
1914
if (oldStep < step && jComboBoxConnection.getSelectedIndex() > 0) {
1915                    // We must retrive fields...
1916
jButtonNext.setEnabled(false);
1917                    t = new Thread JavaDoc(this);
1918                    t.start();
1919                    return;
1920                }
1921                setViewedPanel(2);
1922                
1923                if ( ((javax.swing.DefaultListModel JavaDoc)jList2.getModel()).getSize() == 0
1924                        && jComboBoxConnection.getSelectedIndex() > 0)
1925                    jButtonNext.setEnabled(false);
1926                else
1927                    jButtonNext.setEnabled(true);
1928                
1929                jButton4.setEnabled(jComboBoxConnection.getSelectedIndex() != 0);
1930                jButton5.setEnabled(jComboBoxConnection.getSelectedIndex() != 0);
1931                jButton6.setEnabled(jComboBoxConnection.getSelectedIndex() != 0);
1932                jButton7.setEnabled(jComboBoxConnection.getSelectedIndex() != 0);
1933                
1934                jButtonPrev.setEnabled(true);
1935                break;
1936            case 3:
1937                
1938                // If we are using an sql query, skip this step...
1939
if (jComboBoxConnection.getSelectedItem() != null) {
1940                    IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem();
1941                    if (irc.isJDBCConnection()) {
1942                        wzStep=3;
1943                        if (oldStep < step)
1944                        {
1945                            // Go to step 4...
1946
nextStep();
1947                        }
1948                        else
1949                        {
1950                            prevStep();
1951                        }
1952                        return;
1953                    }
1954                 }
1955                // Review fields....
1956
jButtonPrev.setEnabled(true);
1957                jButtonNext.setEnabled(true);
1958                
1959                javax.swing.table.DefaultTableModel JavaDoc dtm = (javax.swing.table.DefaultTableModel JavaDoc)jTableFields.getModel();
1960                dtm.setRowCount(0);
1961                javax.swing.DefaultListModel JavaDoc dlmFields = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1962                for (int i=0; i<dlmFields.getSize(); ++i) {
1963                
1964                    JRField f = (JRField)(dlmFields.getElementAt(i));
1965                    dtm.addRow(new Object JavaDoc[]{f, f.getClassType()});
1966                }
1967                
1968                setViewedPanel(3);
1969                break;
1970            case 4:
1971                if (oldStep < step) {
1972                    jComboBox1.removeAllItems();
1973                    jComboBox2.removeAllItems();
1974                    jComboBox2.setEnabled(false);
1975                    jLabelG2.setEnabled(false);
1976                    jComboBox3.removeAllItems();
1977                    jComboBox3.setEnabled(false);
1978                    jLabelG3.setEnabled(false);
1979                    jComboBox4.removeAllItems();
1980                    jComboBox4.setEnabled(false);
1981                    jLabelG4.setEnabled(false);
1982                    
1983                    javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jList2.getModel();
1984                    jComboBox1.addItem("");
1985                    for (int i=0; i<dlm.getSize(); ++i) {
1986                        jComboBox1.addItem( dlm.getElementAt(i));
1987                    }
1988                    
1989                    if (this.userTemplate != null)
1990                    {
1991                        boolean found = false;
1992                        for (int k=0; k<userTemplate.getGroupExpressions().size() && k<4; ++k)
1993                        {
1994                            String JavaDoc exp = ""+userTemplate.getGroupExpressions().get(k);
1995                            if (exp.length() == 0) break;
1996                            JComboBox JavaDoc combo = jComboBox1;
1997                            if (k==1) combo = jComboBox2;
1998                            if (k==2) combo = jComboBox3;
1999                            if (k==3) combo = jComboBox4;
2000                            
2001                            System.out.println("Combo " + k + " items: " + combo.getItemCount());
2002                            for (int i=0; i<combo.getItemCount(); ++i) {
2003                                String JavaDoc s = ""+combo.getItemAt(i);
2004                                if (s.equals(exp))
2005                                {
2006                                    combo.setSelectedIndex(i);
2007                                    
2008                                    if (k==0) jComboBox1ActionPerformed(null);
2009                                    else if (k==1) jComboBox2ActionPerformed(null);
2010                                    else if (k==2) jComboBox3ActionPerformed(null);
2011                                    //else if (k==3) jComboBox4ActionPerformed(null);
2012
break;
2013                                }
2014                            }
2015                        }
2016                        
2017                        jCheckBoxSetHeader.setSelected( userTemplate.isSaveFieldDescriptions() );
2018                    }
2019                }
2020                setViewedPanel(4);
2021                break;
2022            case 5:
2023                
2024                // Find the right report template file
2025
if (this.userTemplate != null && oldStep < step)
2026                {
2027                    for (int i=0; i<this.templates.size(); ++i)
2028                    {
2029                        IReportTemplate itemplate = (IReportTemplate)templates.elementAt(i);
2030                        if (itemplate.getXmlFile().equals( userTemplate.getTemplateFile()))
2031                        {
2032                            jRadioButtonColumnarLayout.setSelected( itemplate.getType() == itemplate.COLUMNAR);
2033                            jRadioButtonTabularLayout.setSelected( itemplate.getType() == itemplate.TABULAR);
2034                            
2035                            updateTemplatesList();
2036                            jList3.setSelectedValue(itemplate, true);
2037                        }
2038                    }
2039                }
2040                
2041                jButtonNext.setEnabled( jList3.getSelectedIndex()>=0 );
2042                setViewedPanel(5);
2043                break;
2044            case 6:
2045                jButtonNext.setEnabled( false );
2046                jButtonCancel.setText(it.businesslogic.ireport.util.I18n.getString("finish", "Finish"));
2047                setViewedPanel(6);
2048                break;
2049        }
2050        
2051        if (maxStepVisited < step) maxStepVisited = step;
2052        wzStep = step;
2053    }
2054    
2055    public void setViewedPanel(int panel) {
2056        this.jPanelRoot.removeAll();
2057        java.awt.Font JavaDoc f = new java.awt.Font JavaDoc( jLabelStep1.getFont().getName(), java.awt.Font.PLAIN, 11);
2058        java.awt.Font JavaDoc f2 = new java.awt.Font JavaDoc( jLabelStep1.getFont().getName(), java.awt.Font.BOLD, 11);
2059        this.jLabelStep1.setFont(f);
2060        this.jLabelStep2.setFont(f);
2061        this.jLabelStep3.setFont(f);
2062        this.jLabelStep4.setFont(f);
2063        this.jLabelStep5.setFont(f);
2064        
2065        switch (panel) {
2066            case 1:
2067                this.jPanelRoot.add(jPanelStep1);
2068                this.jLabelStepCaption.setText(it.businesslogic.ireport.util.I18n.getString("wizStep1.1","1. Query"));
2069                this.jLabelStep1.setFont(f2);
2070                break;
2071            case 2:
2072                this.jPanelRoot.add(jPanelStep2);
2073                this.jLabelStepCaption.setText(it.businesslogic.ireport.util.I18n.getString("wizStep2.1","2. Fields selection"));
2074                this.jLabelStep2.setFont(f2);
2075                break;
2076            case 3:
2077                this.jPanelRoot.add(jPanelStep3);
2078                this.jLabelStepCaption.setText(it.businesslogic.ireport.util.I18n.getString("wizStep2.1","2. Fields selection"));
2079                this.jLabelStep2.setFont(f2);
2080                break;
2081            case 4:
2082                this.jPanelRoot.add(jPanelStep4);
2083                this.jLabelStepCaption.setText(it.businesslogic.ireport.util.I18n.getString("wizStep3.1","3. Group by..."));
2084                this.jLabelStep3.setFont(f2);
2085                break;
2086            case 5:
2087                this.jPanelRoot.add(jPanelStep5);
2088                this.jLabelStepCaption.setText(it.businesslogic.ireport.util.I18n.getString("wizStep4.1","4. Layout"));
2089                this.jLabelStep4.setFont(f2);
2090                break;
2091            case 6:
2092                this.jPanelRoot.add(jPanelStep6);
2093                this.jLabelStepCaption.setText(it.businesslogic.ireport.util.I18n.getString("wizStep5.1","5. Finish"));
2094                this.jLabelStep5.setFont(f2);
2095                break;
2096        }
2097        
2098        jPanelRoot.updateUI();
2099    }
2100    
2101    
2102    
2103    /** When an object implementing interface <code>Runnable</code> is used
2104     * to create a thread, starting the thread causes the object's
2105     * <code>run</code> method to be called in that separately executing
2106     * thread.
2107     * <p>
2108     * The general contract of the method <code>run</code> is that it may
2109     * take any action whatsoever.
2110     *
2111     * @see java.lang.Thread#run()
2112     *
2113     */

2114    public void run() {
2115        
2116        Thread.currentThread().setContextClassLoader( MainFrame.getMainInstance().getReportClassLoader() );
2117        // This method is invoked to read fields....
2118
try {
2119            IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem();
2120            
2121            
2122            // Get fields....
2123
List JavaDoc fields = readFields(irc,jRSQLExpressionArea1.getText(), jTextFieldBean.getText());
2124            
2125            if (fields == null) return;
2126            DefaultListModel JavaDoc dlm1 = (DefaultListModel JavaDoc)jList1.getModel();
2127            DefaultListModel JavaDoc dlm2 = (DefaultListModel JavaDoc)jList2.getModel();
2128            
2129            dlm1.removeAllElements();
2130            dlm2.removeAllElements();
2131            
2132            for (int i=0; i <fields.size(); ++i) {
2133                it.businesslogic.ireport.JRField field = (JRField)fields.get(i);
2134                // Check if parameter already exists...
2135
boolean found = false;
2136                for (int k=0; k< dlm1.size(); ++k) {
2137                    it.businesslogic.ireport.JRField f = (it.businesslogic.ireport.JRField)dlm1.getElementAt(k);
2138                    if (f.getName().equalsIgnoreCase(field.getName())) {
2139                        found = true;
2140                        break;
2141                    }
2142                }
2143                if (!found) {
2144                    //this.getJReportFrame().getReport().getFields().addElement(field);
2145
dlm1.addElement(field);
2146                }
2147            }
2148            
2149            // Move the selected fields...
2150
if (this.userTemplate != null)
2151            {
2152                for (int k=0; k<userTemplate.getDisplayFields().size(); ++k)
2153                {
2154                    JRField f_t = (JRField)userTemplate.getDisplayFields().get(k);
2155                    for (int i=0; i <fields.size(); ++i) {
2156                        JRField field = (JRField)fields.get(i);
2157                        if (field.getName().equals( f_t.getName()))
2158                        {
2159                            field.setClassType( f_t.getClassType());
2160                            dlm1.removeElement(field);
2161                            dlm2.addElement(field);
2162                        }
2163                    }
2164                }
2165            }
2166            
2167            jList1.updateUI();
2168            jList2.updateUI();
2169            
2170            setStep(2, 2);
2171            
2172        } catch (Exception JavaDoc ex) {
2173            java.io.StringWriter JavaDoc sw = new java.io.StringWriter JavaDoc();
2174            ex.printStackTrace(new java.io.PrintWriter JavaDoc( sw ));
2175            javax.swing.JOptionPane.showMessageDialog(getParent(),sw.getBuffer()+"",
2176                    I18n.getString("message.title.error","Error"), javax.swing.JOptionPane.ERROR_MESSAGE);
2177            this.cancelElaborationStep1();
2178            return;
2179        }
2180        
2181        
2182    }
2183    
2184    public void cancelElaborationStep1() {
2185        this.jButtonNext.setEnabled(true);
2186        this.jButtonPrev.setEnabled(false);
2187    }
2188    
2189    
2190   
2191    
2192    private String JavaDoc getQueryLanguage()
2193    {
2194        if (jComboBoxConnection.getSelectedItem() == null)
2195        {
2196            return "sql";
2197        }
2198        else if (jComboBoxConnection.getSelectedItem() instanceof JRHibernateConnection) {
2199            return "hql";
2200        }
2201        else if (jComboBoxConnection.getSelectedItem() instanceof JRXMLADataSourceConnection)
2202        {
2203            return "xmla-mdx";
2204        }
2205        return "sql";
2206        
2207    }
2208    
2209    
2210    
2211    
2212    /** Getter for property dialogResult.
2213     * @return Value of property dialogResult.
2214     *
2215     */

2216    public int getDialogResult() {
2217        return dialogResult;
2218    }
2219    
2220    /** Setter for property dialogResult.
2221     * @param dialogResult New value of property dialogResult.
2222     *
2223     */

2224    public void setDialogResult(int dialogResult) {
2225        this.dialogResult = dialogResult;
2226    }
2227    
2228    /** Getter for property report.
2229     * @return Value of property report.
2230     *
2231     */

2232    public it.businesslogic.ireport.Report getReport() {
2233        return report;
2234    }
2235    
2236    /** Setter for property report.
2237     * @param report New value of property report.
2238     *
2239     */

2240    public void setReport(it.businesslogic.ireport.Report report) {
2241        this.report = report;
2242    }
2243    
2244    
2245    
2246    /**
2247     * Return a list of JRField
2248     *
2249     */

2250    public static List JavaDoc readFields(IReportConnection conn, String JavaDoc query, String JavaDoc className) {
2251        String JavaDoc error_msg = null;
2252        if (conn.isJDBCConnection()) {
2253            Connection con = null;
2254            Statement ps = null;
2255            
2256            try {
2257                
2258                
2259                con = conn.getConnection();
2260                
2261                ps = con.createStatement();
2262                
2263                // Some JDBC drivers don't supports this method...
2264
try { ps.setFetchSize(0); } catch(Exception JavaDoc e ) {}
2265                
2266                ResultSet rs = ps.executeQuery(query);
2267                
2268                
2269                ResultSetMetaData rsmd = rs.getMetaData();
2270                
2271                
2272                List JavaDoc columns = new ArrayList();
2273                for (int i=1; i <=rsmd.getColumnCount(); ++i) {
2274                    it.businesslogic.ireport.JRField field =
2275                            new it.businesslogic.ireport.JRField(
2276                            rsmd.getColumnLabel(i),
2277                            Misc.getJdbcTypeClass(rsmd, i) );
2278                    columns.add( field );
2279                }
2280                
2281                
2282                return columns;
2283            } catch( IllegalArgumentException JavaDoc ie ) {
2284                error_msg = ie.getMessage();
2285            } catch (NoClassDefFoundError JavaDoc ex) {
2286                ex.printStackTrace();
2287                error_msg = I18n.getFormattedString(
2288                        "messages.connection.noClassDefFoundError","{0}\nNoClassDefFoundError!!\nCheck your classpath!\n{1}",
2289                        new Object JavaDoc[]{"", ex.getMessage() }
2290                );
2291                
2292            } catch (java.sql.SQLException JavaDoc ex) {
2293                error_msg = I18n.getFormattedString(
2294                        "messages.connection.sqlError","{0}\nSQL problems: {1}\n{2}",
2295                        new Object JavaDoc[]{"", ex.getMessage() }
2296                );
2297            } catch (Exception JavaDoc ex) {
2298                ex.printStackTrace();
2299                error_msg = I18n.getFormattedString(
2300                        "messages.connection.generalError","{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!",
2301                        new Object JavaDoc[]{"", ex.getMessage() }
2302                );
2303            } finally {
2304                if(ps!=null) try { ps.close(); } catch(Exception JavaDoc e ) {}
2305                if(con !=null) try { con.close(); } catch(Exception JavaDoc e ) {}
2306            }
2307        } else if ( conn instanceof JRHibernateConnection) {
2308            it.businesslogic.ireport.data.hibernate.HQLFieldsReader reader = new it.businesslogic.ireport.data.hibernate.HQLFieldsReader(query,new Vector());
2309            try {
2310                return reader.readFields();
2311            } catch (Exception JavaDoc ex) {
2312                ex.printStackTrace();
2313                error_msg = I18n.getFormattedString(
2314                        "messages.connection.generalError","{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!",
2315                        new Object JavaDoc[]{"", ex.getMessage() }
2316                );
2317            }
2318        } else if ( conn instanceof JRDataSourceProviderConnection) {
2319            
2320            try {
2321                net.sf.jasperreports.engine.JRField[] jrfields = ((JRDataSourceProviderConnection)conn).getDataSourceProvider().getFields(null);
2322                
2323                java.util.ArrayList JavaDoc v_fields = new java.util.ArrayList JavaDoc();
2324                for (int i=0; i<jrfields.length; ++i) {
2325                    it.businesslogic.ireport.JRField field = new it.businesslogic.ireport.JRField(jrfields[i].getName(), jrfields[i].getValueClassName());
2326                    field.setDescription( it.businesslogic.ireport.util.Misc.nvl( jrfields[i].getDescription(),""));
2327                    v_fields.add( field );
2328                }
2329                
2330                return v_fields;
2331                
2332            } catch (Exception JavaDoc ex) {
2333                ex.printStackTrace();
2334                error_msg = I18n.getFormattedString(
2335                        "messages.connection.generalError","{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!",
2336                        new Object JavaDoc[]{"", ex.getMessage() }
2337                );
2338            }
2339        } else if ( conn instanceof JRXMLADataSourceConnection) {
2340            
2341            try {
2342                
2343                CincomMDXFieldsProvider mfp = new CincomMDXFieldsProvider();
2344                java.util.ArrayList JavaDoc v_fields = mfp.getFields( query, (JRXMLADataSourceConnection)conn);
2345                return v_fields;
2346                
2347            } catch (Exception JavaDoc ex) {
2348                ex.printStackTrace();
2349                error_msg = I18n.getFormattedString(
2350                        "messages.connection.generalError","{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!",
2351                        new Object JavaDoc[]{"", ex.getMessage() }
2352                );
2353            }
2354            
2355        } else if ( conn instanceof JavaBeanDataSourceConnection) {
2356            java.util.ArrayList JavaDoc v_fields = new java.util.ArrayList JavaDoc();
2357            try {
2358                
2359                Class JavaDoc clazz = Class.forName(className);
2360                
2361                java.beans.PropertyDescriptor JavaDoc[] pd = org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(clazz);
2362                for (int nd =0; nd < pd.length; ++nd) {
2363                    String JavaDoc fieldName = pd[nd].getName();
2364                    if (pd[nd].getPropertyType() != null && pd[nd].getReadMethod() != null) {
2365                        String JavaDoc returnType = pd[nd].getPropertyType().getName();
2366                        it.businesslogic.ireport.JRField field = new it.businesslogic.ireport.JRField(fieldName, Misc.getJRFieldType(returnType));
2367                        field.setDescription(""); //Field returned by " +methods[i].getName() + " (real type: "+ returnType +")");
2368
v_fields.add( field );
2369                    }
2370                }
2371                return v_fields;
2372                
2373            } catch (ClassNotFoundException JavaDoc cnf) {
2374
2375
2376                error_msg = I18n.getFormattedString(
2377                        "messages.connection.classNotFoundError","{0}\nClassNotFoundError!\nMsg: {1}\nPossible not found class: {2}\nCheck your classpath!",
2378                        new Object JavaDoc[]{"", cnf.getMessage(), "" }
2379                );
2380                
2381            } catch (Exception JavaDoc ex) {
2382                ex.printStackTrace();
2383                error_msg = I18n.getFormattedString(
2384                        "messages.connection.generalError","{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!",
2385                        new Object JavaDoc[]{"", ex.getMessage() }
2386                );
2387            }
2388            
2389        } else if ( conn instanceof JRCSVDataSourceConnection) {
2390            java.util.ArrayList JavaDoc v_fields = new java.util.ArrayList JavaDoc();
2391            try {
2392                
2393                Vector names = ((JRCSVDataSourceConnection)conn).getColumnNames();
2394                
2395                for (int nd =0; nd < names.size(); ++nd) {
2396                    String JavaDoc fieldName = ""+names.elementAt(nd);
2397                    it.businesslogic.ireport.JRField field = new it.businesslogic.ireport.JRField(fieldName, "java.lang.String");
2398                    field.setDescription(""); //Field returned by " +methods[i].getName() + " (real type: "+ returnType +")");
2399
v_fields.add( field );
2400                }
2401                return v_fields;
2402                
2403            } catch (Exception JavaDoc ex) {
2404                ex.printStackTrace();
2405                error_msg = "" + ex.getMessage();
2406            }
2407            
2408        } else if ( conn instanceof NullConnection) {
2409            
2410            java.util.ArrayList JavaDoc v_fields = new java.util.ArrayList JavaDoc();
2411            try {
2412                
2413                
2414                return v_fields;
2415                
2416            } catch (Exception JavaDoc ex) {
2417                ex.printStackTrace();
2418                error_msg = "" + ex.getMessage();
2419            }
2420            
2421        }
2422        
2423        if (error_msg != null) {
2424            JOptionPane.showMessageDialog(MainFrame.getMainInstance(),error_msg,
2425                    I18n.getString("message.title.error","Error"), JOptionPane.ERROR_MESSAGE);
2426        }
2427        
2428        return null;
2429    }
2430    //added by Felix Firgau on Feb 8th 2006
2431
public void applyI18n(){
2432        // Start autogenerated code ----------------------
2433
jRadioButtonColumnarLayout.setText(I18n.getString("wizardDialog.radioButtonColumnarLayout","Columnar layout"));
2434        jRadioButtonTabularLayout.setText(I18n.getString("wizardDialog.radioButtonTabularLayout","Tabular layout"));
2435        // End autogenerated code ----------------------
2436
// Start autogenerated code ----------------------
2437
jButton4.setText(I18n.getString("wizardDialog.button4",">"));
2438        jButton5.setText(I18n.getString("wizardDialog.button5",">>"));
2439        jButton6.setText(I18n.getString("wizardDialog.button6","<"));
2440        jButton7.setText(I18n.getString("wizardDialog.button7","<<"));
2441        // End autogenerated code ----------------------
2442

2443        jLabel13.setText(it.businesslogic.ireport.util.I18n.getString("connectionDialog.labelTemplate","Use the following template..."));
2444        jLabel1.setText(it.businesslogic.ireport.util.I18n.getString("wizLabel", "Steps"));
2445        jLabelStep1.setText(it.businesslogic.ireport.util.I18n.getString("wizStep1", "Step 1"));
2446        jLabelStep2.setText(it.businesslogic.ireport.util.I18n.getString("wizStep2", "Step 2"));
2447        jLabelStep3.setText(it.businesslogic.ireport.util.I18n.getString("wizStep3", "Step 3"));
2448        jLabelStep4.setText(it.businesslogic.ireport.util.I18n.getString("wizStep4","Step 4"));
2449        jLabelStep5.setText(it.businesslogic.ireport.util.I18n.getString("wizStep5","Step 5"));
2450        jLabel2.setText(it.businesslogic.ireport.util.I18n.getString("queryString","Query string"));
2451        jLabelG1.setText(it.businesslogic.ireport.util.I18n.getString("group","Group")+" 1");
2452        jLabelG2.setText(it.businesslogic.ireport.util.I18n.getString("group","Group")+" 2");
2453        jLabelG3.setText(it.businesslogic.ireport.util.I18n.getString("group","Group")+" 3");
2454        jLabelG4.setText(it.businesslogic.ireport.util.I18n.getString("group","Group")+" 4");
2455        jLabel4.setText(it.businesslogic.ireport.util.I18n.getString("congratulation","Congratulation!"));
2456        jLabel10.setText(it.businesslogic.ireport.util.I18n.getString("wizardSuccess","You have succesfully created a new report."));
2457        jLabel11.setText(it.businesslogic.ireport.util.I18n.getString("wizardFinished","Press 'Finish' to generate it."));
2458        jLabel12.setText(it.businesslogic.ireport.util.I18n.getString("connectionsDatasources", "Connection / Datasource"));
2459        jButtonPrev.setText(it.businesslogic.ireport.util.I18n.getString("prev","< Prev"));
2460        jButtonNext.setText(it.businesslogic.ireport.util.I18n.getString("next","Next >"));
2461        jButtonCancel.setText(it.businesslogic.ireport.util.I18n.getString("cancel","Cancel"));
2462        jButtonNewConnection.setText(it.businesslogic.ireport.util.I18n.getString("new","New"));
2463        jButtonLoadQuery.setText(it.businesslogic.ireport.util.I18n.getString("loadQuery","Load query"));
2464        jButtonSaveQuery.setText(it.businesslogic.ireport.util.I18n.getString("saveQuery","Save query"));
2465        jCheckBoxSetHeader.setText(it.businesslogic.ireport.util.I18n.getString("setHeader","Get column descriptions from datasource"));
2466        jCheckBoxSaveTemplate.setText(it.businesslogic.ireport.util.I18n.getString("wizardDialog.checkBoxSaveTemplate","Save choices as template..."));
2467        
2468        jButtonModifyField.setText( it.businesslogic.ireport.util.I18n.getString("modify","Modify") );
2469        jTableFields.getColumnModel().getColumn(0).setHeaderValue( I18n.getString("valuesPanel.tableFields.fieldName","Field name") );
2470        jTableFields.getColumnModel().getColumn(1).setHeaderValue( I18n.getString("valuesPanel.tableFields.classType","Class type") );
2471        
2472    }
2473    
2474    public void languageChanged(LanguageChangedEvent evt) {
2475        applyI18n();
2476    }
2477    //Modification end
2478

2479    
2480    public void jTableFieldsListSelectionValueChanged(javax.swing.event.ListSelectionEvent JavaDoc e)
2481    {
2482
2483        if (this.jTableFields.getSelectedRowCount() > 0)
2484        {
2485            this.jButtonModifyField.setEnabled(true);
2486        }
2487        else
2488        {
2489            this.jButtonModifyField.setEnabled(false);
2490        }
2491    }
2492}
2493
2494class TemplateFile {
2495    
2496    public File file = null;
2497    public String JavaDoc name = "";
2498    public String JavaDoc toString() { return name; }
2499}
2500
2501
Popular Tags