1 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 ; 52 import javax.swing.DefaultListSelectionModel ; 53 import javax.swing.JComboBox ; 54 import javax.swing.event.ListSelectionEvent ; 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 ; 60 import org.w3c.dom.Node ; 61 import org.w3c.dom.NodeList ; 62 import org.w3c.dom.DOMException ; 63 64 import org.xml.sax.SAXException ; 65 66 import javax.swing.ImageIcon ; 67 import javax.swing.JOptionPane ; 68 69 73 public class WizardDialog extends javax.swing.JDialog implements Runnable , LanguageChangedListener { 74 76 Thread t = null; 77 Vector templates = null; 78 org.syntax.jedit.JEditTextArea jRSQLExpressionArea1 = null; 79 80 UserChoicesWizardTemplate userTemplate = null; 81 int maxStepVisited = 0; 82 83 84 public WizardDialog(java.awt.Frame 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 gridBagConstraints= null; 98 gridBagConstraints = new java.awt.GridBagConstraints (); 99 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 100 gridBagConstraints.weightx = 1.0; 102 gridBagConstraints.weighty = 1.0; 103 104 DefaultListSelectionModel dlsm = (DefaultListSelectionModel ) this.jTableFields.getSelectionModel(); 105 dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 106 public void valueChanged(ListSelectionEvent 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 () { 123 public void changedUpdate(javax.swing.event.DocumentEvent evt) { 124 jRSQLExpressionArea1TextConnectionExpressionTextChanged(); 125 } 126 public void insertUpdate(javax.swing.event.DocumentEvent evt) { 127 jRSQLExpressionArea1TextConnectionExpressionTextChanged(); 128 } 129 public void removeUpdate(javax.swing.event.DocumentEvent evt) { 130 jRSQLExpressionArea1TextConnectionExpressionTextChanged(); 131 } 132 }); 133 134 this.jTextFieldBean.getDocument().addDocumentListener( new javax.swing.event.DocumentListener () { 135 public void changedUpdate(javax.swing.event.DocumentEvent evt) { 136 jRSQLExpressionArea1TextConnectionExpressionTextChanged(); 137 } 138 public void insertUpdate(javax.swing.event.DocumentEvent evt) { 139 jRSQLExpressionArea1TextConnectionExpressionTextChanged(); 140 } 141 public void removeUpdate(javax.swing.event.DocumentEvent evt) { 142 jRSQLExpressionArea1TextConnectionExpressionTextChanged(); 143 } 144 }); 145 146 this.jRSQLExpressionArea1.requestFocusInWindow(); 147 jList1.setModel(new javax.swing.DefaultListModel ()); 148 jList2.setModel(new javax.swing.DefaultListModel ()); 149 jList3.setModel(new javax.swing.DefaultListModel ()); 150 151 String templates_dir = MainFrame.IREPORT_HOME_DIR; templates_dir += File.separator + "templates"; 153 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 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; 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 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 iconname = templates_files[i]+""; 190 iconname = Misc.changeFileExtension(iconname,".gif"); 191 itemplate.setIcon( new javax.swing.ImageIcon ( iconname) ); 192 } catch (Exception ex){} 193 194 templates.add( itemplate ); 195 } 196 197 } catch (Exception ex) { 198 } 199 200 201 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 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 source = xml_template_files.elementAt(i); 213 DOMParser parser = new DOMParser(); 215 try { 218 219 parser.setEntityResolver( new org.xml.sax.EntityResolver () { 220 221 public org.xml.sax.InputSource resolveEntity( 222 String publicId, 223 String systemId 224 ) throws SAXException { 226 org.xml.sax.InputSource inputSource = null; 227 228 if (systemId != null) { 229 String 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 (systemId); 235 } 236 237 238 ClassLoader classLoader = this.getClass().getClassLoader(); 239 240 java.io.InputStream is = classLoader.getResourceAsStream(dtd); 241 if (is != null) { 242 inputSource = new org.xml.sax.InputSource (is); 243 } 244 245 } 246 247 return inputSource; 248 } 249 }); 250 251 InputStream input_source = null; 252 if ( source instanceof java.io.File ) { 253 input_source = new FileInputStream((java.io.File )source); 254 255 } else if ( source instanceof java.net.URL ){ 256 257 input_source = ((java.net.URL )source).openStream(); 258 259 } 260 261 parser.parse(new org.xml.sax.InputSource ( input_source )); 262 Document document = parser.getDocument(); 263 264 Node node = document.getDocumentElement(); 266 267 NodeList list = XPathAPI.selectNodeList(node, "/iReportTemplateSet/iReportTemplate"); 268 Node 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 (getClass().getClassLoader().getResource(childnode.getNodeValue()))); 286 } catch (DOMException e) { 287 e.printStackTrace(); 289 } 290 } 291 292 templates.add(ireportTemplate); 293 } 294 } catch (SAXException e) { 295 System.err.println(e); 296 } catch (java.io.IOException e) { 297 System.err.println(e); 298 } 299 } 301 } catch (Exception 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 ucTemplates = MainFrame.getMainInstance().getUserChoicesWizardTemplates(); 311 312 java.util.List tnames= new java.util.ArrayList (); 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 s = I18n.getFormattedString("MyTemplate","My template {0}", new Object []{new Integer (i)}); 323 if (!tnames.contains(s)) 324 { 325 jTextFieldTemplateName.setText(s); 326 break; 327 } 328 } 329 331 332 updateConnections(); 337 338 } 339 340 public void updateConnections() { 341 Object 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 )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 377 ((javax.swing.DefaultListModel )jList3.getModel()).addElement(itemplate); 378 } 379 if ( ((javax.swing.DefaultListModel )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 395 private void initComponents() { 397 java.awt.GridBagConstraints gridBagConstraints; 398 399 buttonGroup1 = new javax.swing.ButtonGroup (); 400 jPanel2 = new javax.swing.JPanel (); 401 jPanelSteps = new javax.swing.JPanel (); 402 jLabel1 = new javax.swing.JLabel (); 403 jSeparator2 = new javax.swing.JSeparator (); 404 jLabelStep1 = new javax.swing.JLabel (); 405 jLabelStep2 = new javax.swing.JLabel (); 406 jLabelStep3 = new javax.swing.JLabel (); 407 jLabelStep4 = new javax.swing.JLabel (); 408 jLabelStep5 = new javax.swing.JLabel (); 409 jLabel7 = new javax.swing.JLabel (); 410 jPanelStepCaption = new javax.swing.JPanel (); 411 jLabelStepCaption = new javax.swing.JLabel (); 412 jSeparator8 = new javax.swing.JSeparator (); 413 jPanelRoot = new javax.swing.JPanel (); 414 jPanelStep1 = new javax.swing.JPanel (); 415 jLabel13 = new javax.swing.JLabel (); 416 jComboBoxTemplates = new javax.swing.JComboBox (); 417 jLabel12 = new javax.swing.JLabel (); 418 jComboBoxConnection = new javax.swing.JComboBox (); 419 jLabel2 = new javax.swing.JLabel (); 420 jPanel1 = new javax.swing.JPanel (); 421 jButtonNewConnection = new javax.swing.JButton (); 422 jTextFieldBean = new javax.swing.JTextField (); 423 jPanel3 = new javax.swing.JPanel (); 424 jButtonDesignQuery = new javax.swing.JButton (); 425 jButtonLoadQuery = new javax.swing.JButton (); 426 jButtonSaveQuery = new javax.swing.JButton (); 427 jPanelStep2 = new javax.swing.JPanel (); 428 jScrollPane2 = new javax.swing.JScrollPane (); 429 jList1 = new javax.swing.JList (); 430 jScrollPane1 = new javax.swing.JScrollPane (); 431 jList2 = new javax.swing.JList (); 432 jPanel5 = new javax.swing.JPanel (); 433 jButton4 = new javax.swing.JButton (); 434 jButton5 = new javax.swing.JButton (); 435 jButton6 = new javax.swing.JButton (); 436 jButton7 = new javax.swing.JButton (); 437 jPanelStep3 = new javax.swing.JPanel (); 438 jScrollPane4 = new javax.swing.JScrollPane (); 439 jTableFields = new javax.swing.JTable (); 440 jButtonModifyField = new javax.swing.JButton (); 441 jPanelStep4 = new javax.swing.JPanel (); 442 jComboBox1 = new javax.swing.JComboBox (); 443 jLabelG1 = new javax.swing.JLabel (); 444 jLabelG2 = new javax.swing.JLabel (); 445 jComboBox2 = new javax.swing.JComboBox (); 446 jLabelG3 = new javax.swing.JLabel (); 447 jComboBox3 = new javax.swing.JComboBox (); 448 jLabelG4 = new javax.swing.JLabel (); 449 jComboBox4 = new javax.swing.JComboBox (); 450 jPanelStep5 = new javax.swing.JPanel (); 451 jRadioButtonColumnarLayout = new javax.swing.JRadioButton (); 452 jRadioButtonTabularLayout = new javax.swing.JRadioButton (); 453 jScrollPane3 = new javax.swing.JScrollPane (); 454 jList3 = new javax.swing.JList (); 455 jLabelImage = new javax.swing.JLabel (); 456 jCheckBoxSetHeader = new javax.swing.JCheckBox (); 457 jPanelStep6 = new javax.swing.JPanel (); 458 jLabel4 = new javax.swing.JLabel (); 459 jLabel10 = new javax.swing.JLabel (); 460 jLabel11 = new javax.swing.JLabel (); 461 jCheckBoxSaveTemplate = new javax.swing.JCheckBox (); 462 jTextFieldTemplateName = new javax.swing.JTextField (); 463 jSeparator1 = new javax.swing.JSeparator (); 464 jPanel4 = new javax.swing.JPanel (); 465 jButtonCancel = new javax.swing.JButton (); 466 jButtonNext = new javax.swing.JButton (); 467 jButtonPrev = new javax.swing.JButton (); 468 469 getContentPane().setLayout(new java.awt.GridBagLayout ()); 470 471 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 472 setTitle("iReport Wizard"); 473 setResizable(false); 474 addWindowListener(new java.awt.event.WindowAdapter () { 475 public void windowClosing(java.awt.event.WindowEvent evt) { 476 closeDialog(evt); 477 } 478 }); 479 480 jPanel2.setLayout(new java.awt.GridBagLayout ()); 481 482 jPanelSteps.setLayout(new java.awt.GridBagLayout ()); 483 484 jPanelSteps.setBackground(new java.awt.Color (165, 172, 181)); 485 jLabel1.setFont(new java.awt.Font ("Tahoma", 1, 11)); 486 jLabel1.setText("Steps"); 487 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (10, 8, 0, 0); 494 jPanelSteps.add(jLabel1, gridBagConstraints); 495 496 jSeparator2.setBackground(new java.awt.Color (204, 204, 255)); 497 jSeparator2.setForeground(new java.awt.Color (0, 0, 0)); 498 jSeparator2.setMaximumSize(new java.awt.Dimension (32767, 1)); 499 jSeparator2.setMinimumSize(new java.awt.Dimension (98, 1)); 500 jSeparator2.setPreferredSize(new java.awt.Dimension (1, 1)); 501 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 8, 0, 0); 509 jPanelSteps.add(jSeparator2, gridBagConstraints); 510 511 jLabelStep1.setFont(new java.awt.Font ("Tahoma", 1, 11)); 512 jLabelStep1.setText("1. Query"); 513 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 8, 0, 0); 521 jPanelSteps.add(jLabelStep1, gridBagConstraints); 522 523 jLabelStep2.setText("2. Fields selection"); 524 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 8, 0, 0); 532 jPanelSteps.add(jLabelStep2, gridBagConstraints); 533 534 jLabelStep3.setText("3. Group by ..."); 535 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 8, 0, 0); 543 jPanelSteps.add(jLabelStep3, gridBagConstraints); 544 545 jLabelStep4.setText("4. Layout"); 546 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 8, 0, 0); 554 jPanelSteps.add(jLabelStep4, gridBagConstraints); 555 556 jLabelStep5.setText("5. Finish"); 557 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 8, 0, 0); 565 jPanelSteps.add(jLabelStep5, gridBagConstraints); 566 567 jLabel7.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/wizard.jpg"))); 568 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (); 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 ()); 584 585 jLabelStepCaption.setFont(new java.awt.Font ("Tahoma", 1, 11)); 586 jLabelStepCaption.setText("Step 4: choose layout"); 587 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (12, 8, 0, 0); 593 jPanelStepCaption.add(jLabelStepCaption, gridBagConstraints); 594 595 jSeparator8.setBackground(new java.awt.Color (204, 204, 204)); 596 jSeparator8.setForeground(new java.awt.Color (0, 0, 0)); 597 jSeparator8.setMaximumSize(new java.awt.Dimension (32767, 1)); 598 jSeparator8.setMinimumSize(new java.awt.Dimension (98, 1)); 599 jSeparator8.setPreferredSize(new java.awt.Dimension (10, 1)); 600 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 0, 0, 0); 606 jPanelStepCaption.add(jSeparator8, gridBagConstraints); 607 608 gridBagConstraints = new java.awt.GridBagConstraints (); 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 ()); 614 615 jPanelRoot.setPreferredSize(new java.awt.Dimension (300, 300)); 616 jPanelStep1.setLayout(new java.awt.GridBagLayout ()); 617 618 jLabel13.setText("Use the following template..."); 619 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (74, 0, 0, 0); 627 jPanelStep1.add(jLabel13, gridBagConstraints); 628 629 jComboBoxTemplates.setModel(new javax.swing.DefaultComboBoxModel (new String [] { "Item 1", "Item 2", "Item 3", "Item 4" })); 630 jComboBoxTemplates.setMinimumSize(new java.awt.Dimension (51, 22)); 631 jComboBoxTemplates.addActionListener(new java.awt.event.ActionListener () { 632 public void actionPerformed(java.awt.event.ActionEvent evt) { 633 jComboBoxConnectionActionPerformed1(evt); 634 } 635 }); 636 637 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 0, 0, 0); 645 jPanelStep1.add(jComboBoxTemplates, gridBagConstraints); 646 647 jLabel12.setText("Connection / Datasource"); 648 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (10, 0, 0, 0); 656 jPanelStep1.add(jLabel12, gridBagConstraints); 657 658 jComboBoxConnection.setModel(new javax.swing.DefaultComboBoxModel (new String [] { "Item 1", "Item 2", "Item 3", "Item 4" })); 659 jComboBoxConnection.setMinimumSize(new java.awt.Dimension (51, 22)); 660 jComboBoxConnection.addActionListener(new java.awt.event.ActionListener () { 661 public void actionPerformed(java.awt.event.ActionEvent evt) { 662 jComboBoxConnectionActionPerformed(evt); 663 } 664 }); 665 666 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 0, 0, 0); 673 jPanelStep1.add(jComboBoxConnection, gridBagConstraints); 674 675 jLabel2.setText("Query string"); 676 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (21, 0, 0, 0); 683 jPanelStep1.add(jLabel2, gridBagConstraints); 684 685 jPanel1.setLayout(new java.awt.GridBagLayout ()); 686 687 jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED)); 688 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 0, 0, 0); 698 jPanelStep1.add(jPanel1, gridBagConstraints); 699 700 jButtonNewConnection.setText("New"); 701 jButtonNewConnection.addActionListener(new java.awt.event.ActionListener () { 702 public void actionPerformed(java.awt.event.ActionEvent evt) { 703 jButtonNewConnectionActionPerformed(evt); 704 } 705 }); 706 707 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 4, 0, 0); 713 jPanelStep1.add(jButtonNewConnection, gridBagConstraints); 714 715 jTextFieldBean.addActionListener(new java.awt.event.ActionListener () { 716 public void actionPerformed(java.awt.event.ActionEvent evt) { 717 jTextFieldBeanActionPerformed(evt); 718 } 719 }); 720 721 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 0, 0, 0); 730 jPanelStep1.add(jTextFieldBean, gridBagConstraints); 731 732 jPanel3.setLayout(new java.awt.GridBagLayout ()); 733 734 jButtonDesignQuery.setText("Design query"); 735 jButtonDesignQuery.setMaximumSize(new java.awt.Dimension (95, 25)); 736 jButtonDesignQuery.setMinimumSize(new java.awt.Dimension (95, 25)); 737 jButtonDesignQuery.setPreferredSize(new java.awt.Dimension (95, 25)); 738 jButtonDesignQuery.addActionListener(new java.awt.event.ActionListener () { 739 public void actionPerformed(java.awt.event.ActionEvent evt) { 740 jButtonDesignQueryActionPerformed(evt); 741 } 742 }); 743 744 gridBagConstraints = new java.awt.GridBagConstraints (); 745 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 746 jPanel3.add(jButtonDesignQuery, gridBagConstraints); 747 748 jButtonLoadQuery.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/menu/folder_database.png"))); 749 jButtonLoadQuery.setText("Load query"); 750 jButtonLoadQuery.setMargin(new java.awt.Insets (2, 4, 2, 4)); 751 jButtonLoadQuery.addActionListener(new java.awt.event.ActionListener () { 752 public void actionPerformed(java.awt.event.ActionEvent evt) { 753 jButtonLoadQueryActionPerformed1(evt); 754 } 755 }); 756 757 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 0, 4, 0); 763 jPanel3.add(jButtonLoadQuery, gridBagConstraints); 764 765 jButtonSaveQuery.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/menu/database_save.png"))); 766 jButtonSaveQuery.setText("Save query"); 767 jButtonSaveQuery.setMargin(new java.awt.Insets (2, 4, 2, 4)); 768 jButtonSaveQuery.addActionListener(new java.awt.event.ActionListener () { 769 public void actionPerformed(java.awt.event.ActionEvent evt) { 770 jButtonSaveQueryActionPerformed1(evt); 771 } 772 }); 773 774 gridBagConstraints = new java.awt.GridBagConstraints (); 775 gridBagConstraints.gridx = 1; 776 gridBagConstraints.gridy = 0; 777 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 778 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 0); 779 jPanel3.add(jButtonSaveQuery, gridBagConstraints); 780 781 gridBagConstraints = new java.awt.GridBagConstraints (); 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 ()); 794 795 jScrollPane2.setPreferredSize(new java.awt.Dimension (50, 130)); 796 jScrollPane2.setViewportView(jList1); 797 798 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 806 jPanelStep2.add(jScrollPane2, gridBagConstraints); 807 808 jScrollPane1.setPreferredSize(new java.awt.Dimension (50, 130)); 809 jScrollPane1.setViewportView(jList2); 810 811 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 819 jPanelStep2.add(jScrollPane1, gridBagConstraints); 820 821 jPanel5.setLayout(new java.awt.GridBagLayout ()); 822 823 jButton4.setFont(new java.awt.Font ("Tahoma", 1, 14)); 824 jButton4.setText(">"); 825 jButton4.setMargin(new java.awt.Insets (2, 0, 2, 0)); 826 jButton4.addActionListener(new java.awt.event.ActionListener () { 827 public void actionPerformed(java.awt.event.ActionEvent evt) { 828 jButton4ActionPerformed(evt); 829 } 830 }); 831 832 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 839 jPanel5.add(jButton4, gridBagConstraints); 840 841 jButton5.setFont(new java.awt.Font ("Tahoma", 1, 14)); 842 jButton5.setText(">>"); 843 jButton5.setMargin(new java.awt.Insets (2, 0, 2, 0)); 844 jButton5.addActionListener(new java.awt.event.ActionListener () { 845 public void actionPerformed(java.awt.event.ActionEvent evt) { 846 jButton5ActionPerformed(evt); 847 } 848 }); 849 850 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 856 jPanel5.add(jButton5, gridBagConstraints); 857 858 jButton6.setFont(new java.awt.Font ("Tahoma", 1, 14)); 859 jButton6.setText("<"); 860 jButton6.setMargin(new java.awt.Insets (2, 0, 2, 0)); 861 jButton6.addActionListener(new java.awt.event.ActionListener () { 862 public void actionPerformed(java.awt.event.ActionEvent evt) { 863 jButton6ActionPerformed(evt); 864 } 865 }); 866 867 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 873 jPanel5.add(jButton6, gridBagConstraints); 874 875 jButton7.setFont(new java.awt.Font ("Tahoma", 1, 14)); 876 jButton7.setText("<<"); 877 jButton7.setMargin(new java.awt.Insets (2, 0, 2, 0)); 878 jButton7.addActionListener(new java.awt.event.ActionListener () { 879 public void actionPerformed(java.awt.event.ActionEvent evt) { 880 jButton7ActionPerformed(evt); 881 } 882 }); 883 884 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 4, 4, 4); 891 jPanel5.add(jButton7, gridBagConstraints); 892 893 gridBagConstraints = new java.awt.GridBagConstraints (); 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 ()); 903 904 jTableFields.setModel(new javax.swing.table.DefaultTableModel ( 905 new Object [][] { 906 907 }, 908 new String [] { 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 () { 921 public void mouseClicked(java.awt.event.MouseEvent evt) { 922 jTableFieldsMouseClicked(evt); 923 } 924 }); 925 926 jScrollPane4.setViewportView(jTableFields); 927 928 gridBagConstraints = new java.awt.GridBagConstraints (); 929 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 930 gridBagConstraints.weightx = 1.0; 931 gridBagConstraints.weighty = 1.0; 932 gridBagConstraints.insets = new java.awt.Insets (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 () { 938 public void actionPerformed(java.awt.event.ActionEvent evt) { 939 jButtonModifyFieldActionPerformed(evt); 940 } 941 }); 942 943 gridBagConstraints = new java.awt.GridBagConstraints (); 944 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 945 gridBagConstraints.insets = new java.awt.Insets (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 ()); 951 952 jComboBox1.addActionListener(new java.awt.event.ActionListener () { 953 public void actionPerformed(java.awt.event.ActionEvent evt) { 954 jComboBox1ActionPerformed(evt); 955 } 956 }); 957 958 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 4, 4, 4); 966 jPanelStep4.add(jComboBox1, gridBagConstraints); 967 968 jLabelG1.setText("Group 1"); 969 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (50, 4, 0, 0); 975 jPanelStep4.add(jLabelG1, gridBagConstraints); 976 977 jLabelG2.setText("Group 2"); 978 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 6, 0, 0); 985 jPanelStep4.add(jLabelG2, gridBagConstraints); 986 987 jComboBox2.addActionListener(new java.awt.event.ActionListener () { 988 public void actionPerformed(java.awt.event.ActionEvent evt) { 989 jComboBox2ActionPerformed(evt); 990 } 991 }); 992 993 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 4, 4, 4); 1001 jPanelStep4.add(jComboBox2, gridBagConstraints); 1002 1003 jLabelG3.setText("Group 3"); 1004 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 6, 0, 0); 1011 jPanelStep4.add(jLabelG3, gridBagConstraints); 1012 1013 jComboBox3.addActionListener(new java.awt.event.ActionListener () { 1014 public void actionPerformed(java.awt.event.ActionEvent evt) { 1015 jComboBox3ActionPerformed(evt); 1016 } 1017 }); 1018 1019 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 4, 4, 4); 1027 jPanelStep4.add(jComboBox3, gridBagConstraints); 1028 1029 jLabelG4.setText("Group 4"); 1030 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 6, 0, 0); 1037 jPanelStep4.add(jLabelG4, gridBagConstraints); 1038 1039 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 ()); 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 (0, 0, 0, 0)); 1058 jRadioButtonColumnarLayout.addActionListener(new java.awt.event.ActionListener () { 1059 public void actionPerformed(java.awt.event.ActionEvent evt) { 1060 jRadioButtonColumnarLayoutActionPerformed(evt); 1061 } 1062 }); 1063 1064 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (0, 0, 0, 0)); 1078 jRadioButtonTabularLayout.addActionListener(new java.awt.event.ActionListener () { 1079 public void actionPerformed(java.awt.event.ActionEvent evt) { 1080 jRadioButtonTabularLayoutActionPerformed(evt); 1081 } 1082 }); 1083 1084 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (5, 10, 0, 0); 1092 jPanelStep5.add(jRadioButtonTabularLayout, gridBagConstraints); 1093 1094 jScrollPane3.setPreferredSize(new java.awt.Dimension (0, 0)); 1095 jList3.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); 1096 jList3.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 1097 public void valueChanged(javax.swing.event.ListSelectionEvent evt) { 1098 jList3ValueChanged(evt); 1099 } 1100 }); 1101 1102 jScrollPane3.setViewportView(jList3); 1103 1104 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (); 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 (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 (0, 0, 0, 0)); 1130 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 ()); 1142 1143 jLabel4.setFont(new java.awt.Font ("Tahoma", 0, 14)); 1144 jLabel4.setText("Congratulation!"); 1145 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (); 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 (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 (); 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 (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 (0, 0, 0, 0)); 1176 jCheckBoxSaveTemplate.addActionListener(new java.awt.event.ActionListener () { 1177 public void actionPerformed(java.awt.event.ActionEvent evt) { 1178 jCheckBoxSaveTemplateActionPerformed(evt); 1179 } 1180 }); 1181 1182 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (250, 19)); 1192 jTextFieldTemplateName.setPreferredSize(new java.awt.Dimension (250, 19)); 1193 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (); 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 (0, 6, 0, 5); 1214 jPanel2.add(jPanelRoot, gridBagConstraints); 1215 1216 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (2, 2)); 1223 gridBagConstraints = new java.awt.GridBagConstraints (); 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 ()); 1231 1232 jButtonCancel.setMnemonic('f'); 1233 jButtonCancel.setText("Cancel"); 1234 jButtonCancel.addActionListener(new java.awt.event.ActionListener () { 1235 public void actionPerformed(java.awt.event.ActionEvent evt) { 1236 jButtonCancelActionPerformed(evt); 1237 } 1238 }); 1239 1240 gridBagConstraints = new java.awt.GridBagConstraints (); 1241 gridBagConstraints.gridx = 6; 1242 gridBagConstraints.gridy = 9; 1243 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1244 gridBagConstraints.insets = new java.awt.Insets (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 () { 1251 public void actionPerformed(java.awt.event.ActionEvent evt) { 1252 jButtonNextActionPerformed(evt); 1253 } 1254 }); 1255 1256 gridBagConstraints = new java.awt.GridBagConstraints (); 1257 gridBagConstraints.gridx = 5; 1258 gridBagConstraints.gridy = 9; 1259 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1260 gridBagConstraints.insets = new java.awt.Insets (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 () { 1267 public void actionPerformed(java.awt.event.ActionEvent evt) { 1268 jButtonPrevActionPerformed(evt); 1269 } 1270 }); 1271 1272 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (4, 0, 4, 4); 1278 jPanel4.add(jButtonPrev, gridBagConstraints); 1279 1280 gridBagConstraints = new java.awt.GridBagConstraints (); 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 } 1289 private void jComboBoxConnectionActionPerformed1(java.awt.event.ActionEvent evt) { 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 } 1316 private void jCheckBoxSaveTemplateActionPerformed(java.awt.event.ActionEvent evt) { 1318 jTextFieldTemplateName.setEnabled( jCheckBoxSaveTemplate.isSelected() ); 1319 1320 } 1322 private void jButtonModifyFieldActionPerformed(java.awt.event.ActionEvent evt) { 1324 if (jTableFields.getSelectedRow() >=0) 1325 { 1326 int row = jTableFields.getSelectedRow(); 1327 JRField field = (JRField)jTableFields.getValueAt(row,0); 1328 java.awt.Frame 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 } 1344 1345 private void jTableFieldsMouseClicked(java.awt.event.MouseEvent evt) { 1347 if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1 && 1348 jTableFields.getSelectedRow() >= 0) { 1349 jButtonModifyFieldActionPerformed( null ); 1350 } 1351 1352 1357 } 1359 private void jButtonDesignQueryActionPerformed(java.awt.event.ActionEvent evt) { 1361 1362 IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem(); 1363 1364 String 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 ex) { 1383 ex.printStackTrace(); 1384 } 1385 1386 1387 } 1389 private void jButtonSaveQueryActionPerformed1(java.awt.event.ActionEvent evt) { Misc.saveSQLQuery( jRSQLExpressionArea1.getText(), this ); 1391 } 1393 private void jButtonLoadQueryActionPerformed1(java.awt.event.ActionEvent evt) { String query = Misc.loadSQLQuery(this); 1395 1396 if (query != null) { 1397 jRSQLExpressionArea1.setText(query); 1398 } 1399 } 1401 private void jTextFieldBeanActionPerformed(java.awt.event.ActionEvent evt) { jComboBoxConnectionActionPerformed(null); 1403 } 1405 private void jButtonNewConnectionActionPerformed(java.awt.event.ActionEvent evt) { 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 } 1431 private void jComboBoxConnectionActionPerformed(java.awt.event.ActionEvent evt) { 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(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(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(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 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 } 1517 1518 private void jRadioButtonColumnarLayoutActionPerformed(java.awt.event.ActionEvent evt) { updateTemplatesList(); 1520 } 1522 private void jRadioButtonTabularLayoutActionPerformed(java.awt.event.ActionEvent evt) { updateTemplatesList(); 1524 } 1526 private void jList3ValueChanged(javax.swing.event.ListSelectionEvent evt) { 1528 if (jList3.getSelectedIndex() >= 0) { 1529 IReportTemplate tf = (IReportTemplate)jList3.getSelectedValue(); 1530 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 } 1542 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) { Object obj1 = jComboBox1.getSelectedItem(); 1545 Object obj2 = jComboBox2.getSelectedItem(); 1546 Object 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 dlm = (javax.swing.DefaultListModel )jList2.getModel(); 1553 jComboBox4.removeAllItems(); 1554 jComboBox4.addItem(""); 1555 for (int i=0; i<dlm.getSize(); ++i) { 1556 Object obj = dlm.getElementAt(i); 1557 if (obj != obj1 && obj != obj2 && obj != obj3) 1558 jComboBox4.addItem( obj ); 1559 } 1560 } 1561 } 1563 private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) { Object obj1 = jComboBox1.getSelectedItem(); 1566 Object 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 dlm = (javax.swing.DefaultListModel )jList2.getModel(); 1574 jComboBox3.removeAllItems(); 1575 jComboBox3.addItem(""); 1576 for (int i=0; i<dlm.getSize(); ++i) { 1577 Object obj = dlm.getElementAt(i); 1578 if (obj != obj1 && obj != obj2) 1579 jComboBox3.addItem( obj ); 1580 } 1581 } 1582 } 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 evt) { 1604 Object 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 dlm = (javax.swing.DefaultListModel )jList2.getModel(); 1613 jComboBox2.removeAllItems(); 1614 jComboBox2.addItem(""); 1615 for (int i=0; i<dlm.getSize(); ++i) { 1616 Object obj = dlm.getElementAt(i); 1617 if (obj != obj1) 1618 jComboBox2.addItem( obj ); 1619 } 1620 } 1621 1622 1623 } 1625 private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { 1627 javax.swing.DefaultListModel list1 = (javax.swing.DefaultListModel )jList1.getModel(); 1628 javax.swing.DefaultListModel list2 = (javax.swing.DefaultListModel )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 )jList2.getModel()).getSize() == 0 ) 1635 jButtonNext.setEnabled(false); 1636 else 1637 jButtonNext.setEnabled(true); 1638 } 1640 private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) { int index = jList2.getSelectedIndex(); 1642 if (index <0) return; 1643 1644 Object [] objs = jList2.getSelectedValues(); 1645 for (int i=0; i< objs.length; ++i) { 1646 Object obj = objs[i]; 1647 ((javax.swing.DefaultListModel )jList1.getModel()).addElement(obj); 1649 jButtonNext.setEnabled(true); 1650 ((javax.swing.DefaultListModel )jList2.getModel()).removeElement(obj); 1651 1659 if ( ((javax.swing.DefaultListModel )jList2.getModel()).getSize() == 0 ) 1660 jButtonNext.setEnabled(false); 1661 else 1662 jButtonNext.setEnabled(true); 1663 } 1664 } 1666 private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { 1668 int index = jList1.getSelectedIndex(); 1669 if (index <0) return; 1670 1671 Object [] objs = jList1.getSelectedValues(); 1672 for (int i=0; i< objs.length; ++i) { 1673 Object obj = objs[i]; 1674 ((javax.swing.DefaultListModel )jList2.getModel()).addElement(obj); 1675 jButtonNext.setEnabled(true); 1676 ((javax.swing.DefaultListModel )jList1.getModel()).removeElement(obj); 1677 1685 if ( ((javax.swing.DefaultListModel )jList2.getModel()).getSize() == 0 ) 1686 jButtonNext.setEnabled(false); 1687 else 1688 jButtonNext.setEnabled(true); 1689 } 1690 } 1692 private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) { 1694 if (t != null && t.isAlive()) { 1695 t.interrupt(); 1696 } 1697 1698 if (wzStep == 6) { 1699 String 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 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 ex) { 1760 java.io.StringWriter sw = new java.io.StringWriter (); 1761 ex.printStackTrace(new java.io.PrintWriter ( 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 } 1775 private void jButtonNextActionPerformed(java.awt.event.ActionEvent evt) { this.nextStep(); 1777 } 1779 private void jButtonPrevActionPerformed(java.awt.event.ActionEvent evt) { this.prevStep(); 1781 } 1783 private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) { javax.swing.DefaultListModel list2 = (javax.swing.DefaultListModel )jList1.getModel(); 1785 javax.swing.DefaultListModel list1 = (javax.swing.DefaultListModel )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 )jList2.getModel()).getSize() == 0 ) 1792 jButtonNext.setEnabled(false); 1793 else 1794 jButtonNext.setEnabled(true); 1795 } 1797 1798 private void closeDialog(java.awt.event.WindowEvent evt) { setVisible(false); 1800 dispose(); 1801 } 1803 1806 public static void main(String args[]) { 1807 new WizardDialog(new javax.swing.JFrame (), true).setVisible(true); 1808 } 1809 1810 1811 private javax.swing.ButtonGroup buttonGroup1; 1813 private javax.swing.JButton jButton4; 1814 private javax.swing.JButton jButton5; 1815 private javax.swing.JButton jButton6; 1816 private javax.swing.JButton jButton7; 1817 private javax.swing.JButton jButtonCancel; 1818 private javax.swing.JButton jButtonDesignQuery; 1819 private javax.swing.JButton jButtonLoadQuery; 1820 private javax.swing.JButton jButtonModifyField; 1821 private javax.swing.JButton jButtonNewConnection; 1822 private javax.swing.JButton jButtonNext; 1823 private javax.swing.JButton jButtonPrev; 1824 private javax.swing.JButton jButtonSaveQuery; 1825 private javax.swing.JCheckBox jCheckBoxSaveTemplate; 1826 private javax.swing.JCheckBox jCheckBoxSetHeader; 1827 private javax.swing.JComboBox jComboBox1; 1828 private javax.swing.JComboBox jComboBox2; 1829 private javax.swing.JComboBox jComboBox3; 1830 private javax.swing.JComboBox jComboBox4; 1831 private javax.swing.JComboBox jComboBoxConnection; 1832 private javax.swing.JComboBox jComboBoxTemplates; 1833 private javax.swing.JLabel jLabel1; 1834 private javax.swing.JLabel jLabel10; 1835 private javax.swing.JLabel jLabel11; 1836 private javax.swing.JLabel jLabel12; 1837 private javax.swing.JLabel jLabel13; 1838 private javax.swing.JLabel jLabel2; 1839 private javax.swing.JLabel jLabel4; 1840 private javax.swing.JLabel jLabel7; 1841 private javax.swing.JLabel jLabelG1; 1842 private javax.swing.JLabel jLabelG2; 1843 private javax.swing.JLabel jLabelG3; 1844 private javax.swing.JLabel jLabelG4; 1845 private javax.swing.JLabel jLabelImage; 1846 private javax.swing.JLabel jLabelStep1; 1847 private javax.swing.JLabel jLabelStep2; 1848 private javax.swing.JLabel jLabelStep3; 1849 private javax.swing.JLabel jLabelStep4; 1850 private javax.swing.JLabel jLabelStep5; 1851 private javax.swing.JLabel jLabelStepCaption; 1852 private javax.swing.JList jList1; 1853 private javax.swing.JList jList2; 1854 private javax.swing.JList jList3; 1855 private javax.swing.JPanel jPanel1; 1856 private javax.swing.JPanel jPanel2; 1857 private javax.swing.JPanel jPanel3; 1858 private javax.swing.JPanel jPanel4; 1859 private javax.swing.JPanel jPanel5; 1860 private javax.swing.JPanel jPanelRoot; 1861 private javax.swing.JPanel jPanelStep1; 1862 private javax.swing.JPanel jPanelStep2; 1863 private javax.swing.JPanel jPanelStep3; 1864 private javax.swing.JPanel jPanelStep4; 1865 private javax.swing.JPanel jPanelStep5; 1866 private javax.swing.JPanel jPanelStep6; 1867 private javax.swing.JPanel jPanelStepCaption; 1868 private javax.swing.JPanel jPanelSteps; 1869 private javax.swing.JRadioButton jRadioButtonColumnarLayout; 1870 private javax.swing.JRadioButton jRadioButtonTabularLayout; 1871 private javax.swing.JScrollPane jScrollPane1; 1872 private javax.swing.JScrollPane jScrollPane2; 1873 private javax.swing.JScrollPane jScrollPane3; 1874 private javax.swing.JScrollPane jScrollPane4; 1875 private javax.swing.JSeparator jSeparator1; 1876 private javax.swing.JSeparator jSeparator2; 1877 private javax.swing.JSeparator jSeparator8; 1878 private javax.swing.JTable jTableFields; 1879 private javax.swing.JTextField jTextFieldBean; 1880 private javax.swing.JTextField jTextFieldTemplateName; 1881 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 if (oldStep < step && jComboBoxConnection.getSelectedIndex() > 0) { 1915 jButtonNext.setEnabled(false); 1917 t = new Thread (this); 1918 t.start(); 1919 return; 1920 } 1921 setViewedPanel(2); 1922 1923 if ( ((javax.swing.DefaultListModel )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 (jComboBoxConnection.getSelectedItem() != null) { 1940 IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem(); 1941 if (irc.isJDBCConnection()) { 1942 wzStep=3; 1943 if (oldStep < step) 1944 { 1945 nextStep(); 1947 } 1948 else 1949 { 1950 prevStep(); 1951 } 1952 return; 1953 } 1954 } 1955 jButtonPrev.setEnabled(true); 1957 jButtonNext.setEnabled(true); 1958 1959 javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel )jTableFields.getModel(); 1960 dtm.setRowCount(0); 1961 javax.swing.DefaultListModel dlmFields = (javax.swing.DefaultListModel )jList2.getModel(); 1962 for (int i=0; i<dlmFields.getSize(); ++i) { 1963 1964 JRField f = (JRField)(dlmFields.getElementAt(i)); 1965 dtm.addRow(new Object []{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 dlm = (javax.swing.DefaultListModel )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 exp = ""+userTemplate.getGroupExpressions().get(k); 1995 if (exp.length() == 0) break; 1996 JComboBox 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 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 break; 2013 } 2014 } 2015 } 2016 2017 jCheckBoxSetHeader.setSelected( userTemplate.isSaveFieldDescriptions() ); 2018 } 2019 } 2020 setViewedPanel(4); 2021 break; 2022 case 5: 2023 2024 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 f = new java.awt.Font ( jLabelStep1.getFont().getName(), java.awt.Font.PLAIN, 11); 2058 java.awt.Font f2 = new java.awt.Font ( 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 2114 public void run() { 2115 2116 Thread.currentThread().setContextClassLoader( MainFrame.getMainInstance().getReportClassLoader() ); 2117 try { 2119 IReportConnection irc = (IReportConnection)jComboBoxConnection.getSelectedItem(); 2120 2121 2122 List fields = readFields(irc,jRSQLExpressionArea1.getText(), jTextFieldBean.getText()); 2124 2125 if (fields == null) return; 2126 DefaultListModel dlm1 = (DefaultListModel )jList1.getModel(); 2127 DefaultListModel dlm2 = (DefaultListModel )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 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 dlm1.addElement(field); 2146 } 2147 } 2148 2149 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 ex) { 2173 java.io.StringWriter sw = new java.io.StringWriter (); 2174 ex.printStackTrace(new java.io.PrintWriter ( 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 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 2216 public int getDialogResult() { 2217 return dialogResult; 2218 } 2219 2220 2224 public void setDialogResult(int dialogResult) { 2225 this.dialogResult = dialogResult; 2226 } 2227 2228 2232 public it.businesslogic.ireport.Report getReport() { 2233 return report; 2234 } 2235 2236 2240 public void setReport(it.businesslogic.ireport.Report report) { 2241 this.report = report; 2242 } 2243 2244 2245 2246 2250 public static List readFields(IReportConnection conn, String query, String className) { 2251 String 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 try { ps.setFetchSize(0); } catch(Exception e ) {} 2265 2266 ResultSet rs = ps.executeQuery(query); 2267 2268 2269 ResultSetMetaData rsmd = rs.getMetaData(); 2270 2271 2272 List 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 ie ) { 2284 error_msg = ie.getMessage(); 2285 } catch (NoClassDefFoundError ex) { 2286 ex.printStackTrace(); 2287 error_msg = I18n.getFormattedString( 2288 "messages.connection.noClassDefFoundError","{0}\nNoClassDefFoundError!!\nCheck your classpath!\n{1}", 2289 new Object []{"", ex.getMessage() } 2290 ); 2291 2292 } catch (java.sql.SQLException ex) { 2293 error_msg = I18n.getFormattedString( 2294 "messages.connection.sqlError","{0}\nSQL problems: {1}\n{2}", 2295 new Object []{"", ex.getMessage() } 2296 ); 2297 } catch (Exception 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 []{"", ex.getMessage() } 2302 ); 2303 } finally { 2304 if(ps!=null) try { ps.close(); } catch(Exception e ) {} 2305 if(con !=null) try { con.close(); } catch(Exception 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 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 []{"", 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 v_fields = new java.util.ArrayList (); 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 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 []{"", ex.getMessage() } 2337 ); 2338 } 2339 } else if ( conn instanceof JRXMLADataSourceConnection) { 2340 2341 try { 2342 2343 CincomMDXFieldsProvider mfp = new CincomMDXFieldsProvider(); 2344 java.util.ArrayList v_fields = mfp.getFields( query, (JRXMLADataSourceConnection)conn); 2345 return v_fields; 2346 2347 } catch (Exception 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 []{"", ex.getMessage() } 2352 ); 2353 } 2354 2355 } else if ( conn instanceof JavaBeanDataSourceConnection) { 2356 java.util.ArrayList v_fields = new java.util.ArrayList (); 2357 try { 2358 2359 Class clazz = Class.forName(className); 2360 2361 java.beans.PropertyDescriptor [] pd = org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(clazz); 2362 for (int nd =0; nd < pd.length; ++nd) { 2363 String fieldName = pd[nd].getName(); 2364 if (pd[nd].getPropertyType() != null && pd[nd].getReadMethod() != null) { 2365 String returnType = pd[nd].getPropertyType().getName(); 2366 it.businesslogic.ireport.JRField field = new it.businesslogic.ireport.JRField(fieldName, Misc.getJRFieldType(returnType)); 2367 field.setDescription(""); v_fields.add( field ); 2369 } 2370 } 2371 return v_fields; 2372 2373 } catch (ClassNotFoundException 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 []{"", cnf.getMessage(), "" } 2379 ); 2380 2381 } catch (Exception 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 []{"", ex.getMessage() } 2386 ); 2387 } 2388 2389 } else if ( conn instanceof JRCSVDataSourceConnection) { 2390 java.util.ArrayList v_fields = new java.util.ArrayList (); 2391 try { 2392 2393 Vector names = ((JRCSVDataSourceConnection)conn).getColumnNames(); 2394 2395 for (int nd =0; nd < names.size(); ++nd) { 2396 String fieldName = ""+names.elementAt(nd); 2397 it.businesslogic.ireport.JRField field = new it.businesslogic.ireport.JRField(fieldName, "java.lang.String"); 2398 field.setDescription(""); v_fields.add( field ); 2400 } 2401 return v_fields; 2402 2403 } catch (Exception ex) { 2404 ex.printStackTrace(); 2405 error_msg = "" + ex.getMessage(); 2406 } 2407 2408 } else if ( conn instanceof NullConnection) { 2409 2410 java.util.ArrayList v_fields = new java.util.ArrayList (); 2411 try { 2412 2413 2414 return v_fields; 2415 2416 } catch (Exception 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 public void applyI18n(){ 2432 jRadioButtonColumnarLayout.setText(I18n.getString("wizardDialog.radioButtonColumnarLayout","Columnar layout")); 2434 jRadioButtonTabularLayout.setText(I18n.getString("wizardDialog.radioButtonTabularLayout","Tabular layout")); 2435 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 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 2479 2480 public void jTableFieldsListSelectionValueChanged(javax.swing.event.ListSelectionEvent 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 name = ""; 2498 public String toString() { return name; } 2499} 2500 2501 | Popular Tags |