1 32 33 package it.businesslogic.ireport.gui; 34 35 import it.businesslogic.ireport.connection.JRCsvDataSourceInspector; 36 import it.businesslogic.ireport.connection.JRHibernateConnection; 37 import it.businesslogic.ireport.gui.sheet.Tag; 38 import it.businesslogic.ireport.util.*; 39 import it.businesslogic.ireport.*; 40 import it.businesslogic.ireport.connection.*; 41 42 import java.awt.Component ; 43 import java.io.File ; 44 import java.sql.*; 45 import java.text.SimpleDateFormat ; 46 import java.util.HashMap ; 47 import java.util.Iterator ; 48 import java.util.Vector ; 49 import javax.swing.*; 50 import javax.swing.table.DefaultTableModel ; 51 import org.hibernate.SessionFactory; 52 import org.hibernate.cfg.Configuration; 53 54 import rex.metadata.*; 55 import rex.graphics.datasourcetree.elements.*; 56 57 61 public class ConnectionDialog extends javax.swing.JDialog { 62 63 JRParameter tmpParameter = null; 64 private boolean init = false; 65 66 67 public ConnectionDialog(java.awt.Dialog parent, boolean modal) { 68 super(parent, modal); 69 initAll(); 70 } 71 72 public ConnectionDialog(java.awt.Frame parent, boolean modal) { 73 74 super(parent, modal); 75 initAll(); 76 } 77 78 public void initAll() 79 { 80 initComponents(); 81 applyI18n(); 83 this.pack(); 84 Misc.centerFrame(this); 85 init = true; 86 jComboBoxConnectionType.addItem(new Tag("0", I18n.getString("connectionType.jdbc", "Database JDBC connection") )); jComboBoxConnectionType.addItem(new Tag("1", I18n.getString("connectionType.xml", "XML file datasource"))); jComboBoxConnectionType.addItem(new Tag("2", I18n.getString("connectionType.javabeans", "JavaBeans set datasource"))); jComboBoxConnectionType.addItem(new Tag("3", I18n.getString("connectionType.customDataSource", "Custom JRDataSource"))); jComboBoxConnectionType.addItem(new Tag("4", I18n.getString("connectionType.csv", "File CSV datasource"))); jComboBoxConnectionType.addItem(new Tag("5", I18n.getString("connectionType.datasourceProvider", "JRDataSourceProvider"))); jComboBoxConnectionType.addItem(new Tag("6", I18n.getString("connectionType.hibernate", "Hibernate connection"))); jComboBoxConnectionType.addItem(new Tag("9", I18n.getString("connectionType.hibernateSpring", "Spring loaded Hibernate connection"))); jComboBoxConnectionType.addItem(new Tag("7", I18n.getString("connectionType.ejbql", "EJBQL connection"))); jComboBoxConnectionType.addItem(new Tag("8", I18n.getString("connectionType.olap", "Mondrian OLAP connection"))); jComboBoxConnectionType.addItem(new Tag("10", I18n.getString("connectionType.queryExecuter", "Query Executer mode"))); jComboBoxConnectionType.addItem(new Tag("11", I18n.getString("connectionType.emptyDataSource", "Empty data source"))); jComboBoxConnectionType.addItem(new Tag("12", I18n.getString("connectionType.customIReportConnection", "Custom iReport connection"))); 105 106 jComboBoxConnectionType.addItem(new Tag("13", I18n.getString("connectionType.xmlaServer", "XMLA Server"))); 108 jComboBoxJDBCDriver.addItem("com.mysql.jdbc.Driver"); 109 jComboBoxJDBCDriver.addItem("org.gjt.mm.mysql.Driver"); 110 jComboBoxJDBCDriver.addItem("com.internetcds.jdbc.tds.Driver"); 111 jComboBoxJDBCDriver.addItem("net.sourceforge.jtds.jdbc.Driver"); 112 jComboBoxJDBCDriver.addItem("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 113 jComboBoxJDBCDriver.addItem("sun.jdbc.odbc.JdbcOdbcDriver"); 114 jComboBoxJDBCDriver.addItem("com.ms.jdbc.odbc.JdbcOdbcDriver"); 115 jComboBoxJDBCDriver.addItem("oracle.jdbc.driver.OracleDriver"); 116 jComboBoxJDBCDriver.addItem("COM.ibm.db2.jdbc.app.DB2Driver"); 117 jComboBoxJDBCDriver.addItem("com.informix.jdbc.IfxDriver"); 118 jComboBoxJDBCDriver.addItem("com.sybase.jdbc2.jdbc.SybDriver"); 119 jComboBoxJDBCDriver.addItem("com.merant.datadirect.jdbc.sqlserver.SQLServerDriver"); 120 jComboBoxJDBCDriver.addItem("com.inet.tds.TdsDriver"); 121 jComboBoxJDBCDriver.addItem("org.postgresql.Driver"); 122 jComboBoxJDBCDriver.addItem("org.hsqldb.jdbcDriver"); 123 jComboBoxJDBCDriver.addItem("COM.cloudscape.JDBCDriver"); 124 125 126 Vector conns = MainFrame.getMainInstance().getConnections(); 127 for (int i=0; i<conns.size(); ++i) 128 { 129 IReportConnection con = (IReportConnection)conns.elementAt(i); 130 if (con instanceof JDBCConnection) 131 { 132 jComboBoxMondrianJdbc.addItem( con.getName() ); 133 } 134 } 135 136 if (jComboBoxMondrianJdbc.getItemCount() > 0) 137 { 138 jComboBoxMondrianJdbc.setSelectedIndex(0); 139 } 140 141 init = false; 142 143 jComboBoxConnectionType.setSelectedIndex(0); 144 jListCVSColumns.setModel( new DefaultListModel()); 146 jTextFieldCVSDateFormat.setText( new SimpleDateFormat ().toPattern()); 147 148 149 javax.swing.KeyStroke escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false); 150 javax.swing.Action escapeAction = new javax.swing.AbstractAction () { 151 public void actionPerformed(java.awt.event.ActionEvent e) { 152 jButtonCancelActionPerformed(e); 153 } 154 }; 155 156 getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE"); 157 getRootPane().getActionMap().put("ESCAPE", escapeAction); 158 159 160 this.getRootPane().setDefaultButton(this.jButtonOK); 162 } 163 164 169 private void initComponents() { 171 java.awt.GridBagConstraints gridBagConstraints; 172 173 buttonGroupBeansSetType = new javax.swing.ButtonGroup (); 174 buttonGroupCVSFieldSeparator = new javax.swing.ButtonGroup (); 175 buttonGroupCVSFieldSeparator1 = new javax.swing.ButtonGroup (); 176 buttonGroup1 = new javax.swing.ButtonGroup (); 177 jPanel1 = new javax.swing.JPanel (); 178 jPanelConnectionType = new javax.swing.JPanel (); 179 jLabel4 = new javax.swing.JLabel (); 180 jComboBoxConnectionType = new javax.swing.JComboBox (); 181 jLabel1 = new javax.swing.JLabel (); 182 jTextFieldName = new javax.swing.JTextField (); 183 jSeparator2 = new javax.swing.JSeparator (); 184 jPanelConnectionRoot = new javax.swing.JPanel (); 185 jPanelXML = new javax.swing.JPanel (); 186 jLabel9 = new javax.swing.JLabel (); 187 jTextFieldXMLFile = new javax.swing.JTextField (); 188 jButton2 = new javax.swing.JButton (); 189 jRadioButtonXML_connection = new javax.swing.JRadioButton (); 190 jRadioButtonXML_datasource = new javax.swing.JRadioButton (); 191 jPanel13 = new javax.swing.JPanel (); 192 jLabelXMLRecordPath = new javax.swing.JLabel (); 193 jTextFieldRecordPath = new javax.swing.JTextField (); 194 jPanel3 = new javax.swing.JPanel (); 195 jSeparator7 = new javax.swing.JSeparator (); 196 jPanelBeansSet = new javax.swing.JPanel (); 197 jLabel12 = new javax.swing.JLabel (); 198 jTextFieldJBSetFactoryClass = new javax.swing.JTextField (); 199 jRadioButtonJBSetCollection = new javax.swing.JRadioButton (); 200 jRadioButtonJBSetArray = new javax.swing.JRadioButton (); 201 jLabel13 = new javax.swing.JLabel (); 202 jTextFieldJBSetMethodToCall = new javax.swing.JTextField (); 203 jCheckBoxisUseFieldDescription = new javax.swing.JCheckBox (); 204 jSeparator6 = new javax.swing.JSeparator (); 205 jPanelJDBC = new javax.swing.JPanel (); 206 jLabel2 = new javax.swing.JLabel (); 207 jLabel3 = new javax.swing.JLabel (); 208 jComboBoxJDBCDriver = new javax.swing.JComboBox (); 209 jTextFieldJDBCUrl = new javax.swing.JTextField (); 210 jPanel2 = new javax.swing.JPanel (); 211 jLabel14 = new javax.swing.JLabel (); 212 jLabel5 = new javax.swing.JLabel (); 213 jTextFieldDBName = new javax.swing.JTextField (); 214 jTextFieldServerAddress = new javax.swing.JTextField (); 215 jButtonWizard = new javax.swing.JButton (); 216 jLabel6 = new javax.swing.JLabel (); 217 jLabel7 = new javax.swing.JLabel (); 218 jTextArea1 = new javax.swing.JTextArea (); 219 jTextFieldPassword = new javax.swing.JPasswordField (); 220 jTextFieldUsername = new javax.swing.JTextField (); 221 jCheckBoxSavePassword = new javax.swing.JCheckBox (); 222 jSeparator5 = new javax.swing.JSeparator (); 223 jPanelCustomDataSourceFactory = new javax.swing.JPanel (); 224 jLabel10 = new javax.swing.JLabel (); 225 jTextFieldJRCustomDataSourceFactoryClass = new javax.swing.JTextField (); 226 jLabel11 = new javax.swing.JLabel (); 227 jTextFieldJRCustomDataSourceMethod = new javax.swing.JTextField (); 228 jSeparator1 = new javax.swing.JSeparator (); 229 jPanelCSV = new javax.swing.JPanel (); 230 jLabel15 = new javax.swing.JLabel (); 231 jTextFieldCSVFilename = new javax.swing.JTextField (); 232 jButtonCSVFilename = new javax.swing.JButton (); 233 jTabbedPane1 = new javax.swing.JTabbedPane (); 234 jPanel11 = new javax.swing.JPanel (); 235 jPanel8 = new javax.swing.JPanel (); 236 jScrollPane1 = new javax.swing.JScrollPane (); 237 jListCVSColumns = new javax.swing.JList (); 238 jPanel9 = new javax.swing.JPanel (); 239 jButtonNewParameter = new javax.swing.JButton (); 240 jButtonModifyParameter = new javax.swing.JButton (); 241 jButtonDeleteParameter = new javax.swing.JButton (); 242 jPanel10 = new javax.swing.JPanel (); 243 jButtonNewParameter1 = new javax.swing.JButton (); 244 jPanel6 = new javax.swing.JPanel (); 245 jCheckBoxCVSDateFormat = new javax.swing.JCheckBox (); 246 jTextFieldCVSDateFormat = new javax.swing.JTextField (); 247 jButtonCVSDateFormat = new javax.swing.JButton (); 248 jCheckBoxCVSFirstRowAsHeader = new javax.swing.JCheckBox (); 249 jPanel7 = new javax.swing.JPanel (); 250 jPanel4 = new javax.swing.JPanel (); 251 jRadioButtonCVSSeparatorComma = new javax.swing.JRadioButton (); 252 jRadioButtonCVSSeparatorSpace = new javax.swing.JRadioButton (); 253 jRadioButtonCVSSeparatorTab = new javax.swing.JRadioButton (); 254 jRadioButtonCVSSeparatorSemicolon = new javax.swing.JRadioButton (); 255 jRadioButtonCVSSeparatorOther = new javax.swing.JRadioButton (); 256 jTextFieldCVSSeparatorText = new javax.swing.JTextField (); 257 jRadioButtonCVSSeparatorNewLine = new javax.swing.JRadioButton (); 258 jPanel5 = new javax.swing.JPanel (); 259 jRadioButtonCVSSeparatorComma1 = new javax.swing.JRadioButton (); 260 jRadioButtonCVSSeparatorSpace1 = new javax.swing.JRadioButton (); 261 jRadioButtonCVSSeparatorTab1 = new javax.swing.JRadioButton (); 262 jRadioButtonCVSSeparatorSemicolon1 = new javax.swing.JRadioButton (); 263 jRadioButtonCVSSeparatorNewLine1 = new javax.swing.JRadioButton (); 264 jRadioButtonCVSSeparatorOther1 = new javax.swing.JRadioButton (); 265 jTextFieldCVSSeparatorText1 = new javax.swing.JTextField (); 266 jPanel12 = new javax.swing.JPanel (); 267 jSeparator4 = new javax.swing.JSeparator (); 268 jPanelDatasourceProvider = new javax.swing.JPanel (); 269 jLabel17 = new javax.swing.JLabel (); 270 jTextFieldJRDataSourceProvider = new javax.swing.JTextField (); 271 jSeparator3 = new javax.swing.JSeparator (); 272 jPanelHibernate = new javax.swing.JPanel (); 273 jTextPane1 = new javax.swing.JTextPane (); 274 jLabel8 = new javax.swing.JLabel (); 275 jPanelEJBQL = new javax.swing.JPanel (); 276 jLabel18 = new javax.swing.JLabel (); 277 jTextFieldPersistanceUnit = new javax.swing.JTextField (); 278 jScrollPane2 = new javax.swing.JScrollPane (); 279 jTextPane2 = new javax.swing.JTextPane (); 280 jPanelMondrian = new javax.swing.JPanel (); 281 jLabel20 = new javax.swing.JLabel (); 282 jComboBoxMondrianJdbc = new javax.swing.JComboBox (); 283 jLabel19 = new javax.swing.JLabel (); 284 jTextFieldCatalogURI = new javax.swing.JTextField (); 285 jButtonBrowseCatalog = new javax.swing.JButton (); 286 jPanel14 = new javax.swing.JPanel (); 287 jPanelSpringLoadedHibernate = new javax.swing.JPanel (); 288 jLabel21 = new javax.swing.JLabel (); 289 jTextFieldSLHSpringConfig = new javax.swing.JTextField (); 290 jLabel22 = new javax.swing.JLabel (); 291 jTextFieldSLHSessionFactory = new javax.swing.JTextField (); 292 jLabel16 = new javax.swing.JLabel (); 293 jPanelQueryExecutorMode = new javax.swing.JPanel (); 294 jLabel23 = new javax.swing.JLabel (); 295 jPanelEmptyDataSource = new javax.swing.JPanel (); 296 jLabel24 = new javax.swing.JLabel (); 297 jSpinnerNumRecords = new javax.swing.JSpinner (); 298 jPanelCustomConnection = new javax.swing.JPanel (); 299 jLabel25 = new javax.swing.JLabel (); 300 jTextFieldIReportConnectionClassName = new javax.swing.JTextField (); 301 jPanel15 = new javax.swing.JPanel (); 302 jLabelPropertiesTable = new javax.swing.JLabel (); 303 jScrollPane3 = new javax.swing.JScrollPane (); 304 jTableCustomProperties = new javax.swing.JTable (); 305 jButtonAddProp = new javax.swing.JButton (); 306 jButtonRemoveProp = new javax.swing.JButton (); 307 jPanelXMLA = new javax.swing.JPanel (); 308 jLabelXMLAUrl = new javax.swing.JLabel (); 309 jTextFieldXMLAUrl = new javax.swing.JTextField (); 310 jButtonGetXMLAMetadata = new javax.swing.JButton (); 311 jLabelXMLADatasource = new javax.swing.JLabel (); 312 jComboBoxXMLADatasource = new javax.swing.JComboBox (); 313 jLabelXMLACatalog = new javax.swing.JLabel (); 314 jComboBoxXMLACatalog = new javax.swing.JComboBox (); 315 jSeparator8 = new javax.swing.JSeparator (); 316 jLabelXMLACube = new javax.swing.JLabel (); 317 jComboBoxXMLACube = new javax.swing.JComboBox (); 318 jPanelButtons = new javax.swing.JPanel (); 319 jButtonOK = new javax.swing.JButton (); 320 jButtonCancel = new javax.swing.JButton (); 321 jButtonOK1 = new javax.swing.JButton (); 322 323 setTitle("Connections properties"); 324 setModal(true); 325 addWindowListener(new java.awt.event.WindowAdapter () { 326 public void windowClosing(java.awt.event.WindowEvent evt) { 327 closeDialog(evt); 328 } 329 }); 330 331 jPanel1.setLayout(new java.awt.BorderLayout ()); 332 333 jPanelConnectionType.setLayout(new java.awt.GridBagLayout ()); 334 335 jPanelConnectionType.setMinimumSize(new java.awt.Dimension (164, 90)); 336 jPanelConnectionType.setPreferredSize(new java.awt.Dimension (10, 90)); 337 jLabel4.setText("Type of connection / datasource"); 338 jLabel4.setMaximumSize(new java.awt.Dimension (157, 21)); 339 jLabel4.setPreferredSize(new java.awt.Dimension (157, 14)); 340 gridBagConstraints = new java.awt.GridBagConstraints (); 341 gridBagConstraints.gridx = 0; 342 gridBagConstraints.gridy = 2; 343 gridBagConstraints.gridwidth = 2; 344 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 345 gridBagConstraints.insets = new java.awt.Insets (3, 5, 0, 3); 346 jPanelConnectionType.add(jLabel4, gridBagConstraints); 347 348 jComboBoxConnectionType.setMinimumSize(new java.awt.Dimension (25, 21)); 349 jComboBoxConnectionType.setPreferredSize(new java.awt.Dimension (25, 21)); 350 jComboBoxConnectionType.addActionListener(new java.awt.event.ActionListener () { 351 public void actionPerformed(java.awt.event.ActionEvent evt) { 352 jComboBoxConnectionTypeActionPerformed(evt); 353 } 354 }); 355 356 gridBagConstraints = new java.awt.GridBagConstraints (); 357 gridBagConstraints.gridx = 0; 358 gridBagConstraints.gridy = 3; 359 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 360 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 361 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 362 gridBagConstraints.insets = new java.awt.Insets (0, 5, 2, 5); 363 jPanelConnectionType.add(jComboBoxConnectionType, gridBagConstraints); 364 365 jLabel1.setText("Name"); 366 gridBagConstraints = new java.awt.GridBagConstraints (); 367 gridBagConstraints.gridx = 0; 368 gridBagConstraints.gridy = 0; 369 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 370 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 371 gridBagConstraints.insets = new java.awt.Insets (0, 5, 0, 3); 372 jPanelConnectionType.add(jLabel1, gridBagConstraints); 373 374 jTextFieldName.setMinimumSize(new java.awt.Dimension (6, 21)); 375 jTextFieldName.setPreferredSize(new java.awt.Dimension (11, 21)); 376 gridBagConstraints = new java.awt.GridBagConstraints (); 377 gridBagConstraints.gridx = 0; 378 gridBagConstraints.gridy = 1; 379 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 380 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 381 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 382 gridBagConstraints.insets = new java.awt.Insets (0, 3, 4, 5); 383 jPanelConnectionType.add(jTextFieldName, gridBagConstraints); 384 385 gridBagConstraints = new java.awt.GridBagConstraints (); 386 gridBagConstraints.gridx = 0; 387 gridBagConstraints.gridy = 4; 388 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 389 gridBagConstraints.weightx = 1.0; 390 gridBagConstraints.weighty = 1.0; 391 jPanelConnectionType.add(jSeparator2, gridBagConstraints); 392 393 jPanel1.add(jPanelConnectionType, java.awt.BorderLayout.NORTH); 394 395 jPanelConnectionRoot.setLayout(new java.awt.BorderLayout ()); 396 397 jPanelConnectionRoot.setPreferredSize(new java.awt.Dimension (400, 350)); 398 jPanelXML.setLayout(new java.awt.GridBagLayout ()); 399 400 jPanelXML.setPreferredSize(new java.awt.Dimension (1, 30)); 401 jLabel9.setText("XML file"); 402 gridBagConstraints = new java.awt.GridBagConstraints (); 403 gridBagConstraints.gridx = 0; 404 gridBagConstraints.gridy = 0; 405 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 406 gridBagConstraints.ipadx = 24; 407 gridBagConstraints.weightx = 1.0; 408 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 409 jPanelXML.add(jLabel9, gridBagConstraints); 410 411 gridBagConstraints = new java.awt.GridBagConstraints (); 412 gridBagConstraints.gridx = 1; 413 gridBagConstraints.gridy = 0; 414 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 415 gridBagConstraints.ipadx = 232; 416 gridBagConstraints.ipady = 1; 417 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; 418 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 419 jPanelXML.add(jTextFieldXMLFile, gridBagConstraints); 420 421 jButton2.setText("Browse"); 422 jButton2.setPreferredSize(new java.awt.Dimension (70, 25)); 423 jButton2.setMaximumSize(new java.awt.Dimension (100, 25)); 424 jButton2.setMinimumSize(new java.awt.Dimension (70, 25)); 425 jButton2.setMargin(new java.awt.Insets (2, 4, 2, 4)); 426 jButton2.addActionListener(new java.awt.event.ActionListener () { 427 public void actionPerformed(java.awt.event.ActionEvent evt) { 428 jButton2ActionPerformed(evt); 429 } 430 }); 431 432 gridBagConstraints = new java.awt.GridBagConstraints (); 433 gridBagConstraints.gridx = 2; 434 gridBagConstraints.gridy = 0; 435 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 436 gridBagConstraints.ipadx = 21; 437 gridBagConstraints.ipady = -3; 438 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 7); 439 jPanelXML.add(jButton2, gridBagConstraints); 440 441 buttonGroup1.add(jRadioButtonXML_connection); 442 jRadioButtonXML_connection.setText("Use the report XPath expression when filling the report"); 443 jRadioButtonXML_connection.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 444 jRadioButtonXML_connection.setMargin(new java.awt.Insets (0, 0, 0, 0)); 445 jRadioButtonXML_connection.addActionListener(new java.awt.event.ActionListener () { 446 public void actionPerformed(java.awt.event.ActionEvent evt) { 447 jRadioButtonXML_connectionActionPerformed(evt); 448 } 449 }); 450 451 gridBagConstraints = new java.awt.GridBagConstraints (); 452 gridBagConstraints.gridx = 0; 453 gridBagConstraints.gridwidth = 3; 454 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 455 gridBagConstraints.weightx = 1.0; 456 gridBagConstraints.insets = new java.awt.Insets (8, 4, 0, 4); 457 jPanelXML.add(jRadioButtonXML_connection, gridBagConstraints); 458 459 buttonGroup1.add(jRadioButtonXML_datasource); 460 jRadioButtonXML_datasource.setSelected(true); 461 jRadioButtonXML_datasource.setText("Create a datasource using this expression"); 462 jRadioButtonXML_datasource.setActionCommand("Create a datasource using the following expression"); 463 jRadioButtonXML_datasource.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 464 jRadioButtonXML_datasource.setMargin(new java.awt.Insets (0, 0, 0, 0)); 465 gridBagConstraints = new java.awt.GridBagConstraints (); 466 gridBagConstraints.gridx = 0; 467 gridBagConstraints.gridwidth = 3; 468 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 469 gridBagConstraints.weightx = 1.0; 470 gridBagConstraints.insets = new java.awt.Insets (8, 4, 0, 4); 471 jPanelXML.add(jRadioButtonXML_datasource, gridBagConstraints); 472 473 jPanel13.setLayout(new java.awt.GridBagLayout ()); 474 475 jLabelXMLRecordPath.setText("Select Expression"); 476 jLabelXMLRecordPath.setMaximumSize(new java.awt.Dimension (2000, 14)); 477 jLabelXMLRecordPath.setMinimumSize(new java.awt.Dimension (2, 14)); 478 jLabelXMLRecordPath.setPreferredSize(new java.awt.Dimension (60, 14)); 479 gridBagConstraints = new java.awt.GridBagConstraints (); 480 gridBagConstraints.gridx = 0; 481 gridBagConstraints.gridy = 4; 482 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 483 gridBagConstraints.ipadx = 24; 484 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 485 jPanel13.add(jLabelXMLRecordPath, gridBagConstraints); 486 487 gridBagConstraints = new java.awt.GridBagConstraints (); 488 gridBagConstraints.gridx = 1; 489 gridBagConstraints.gridy = 4; 490 gridBagConstraints.gridwidth = 2; 491 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 492 gridBagConstraints.ipadx = 232; 493 gridBagConstraints.ipady = 1; 494 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; 495 gridBagConstraints.weightx = 1.0; 496 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 7); 497 jPanel13.add(jTextFieldRecordPath, gridBagConstraints); 498 499 gridBagConstraints = new java.awt.GridBagConstraints (); 500 gridBagConstraints.gridx = 0; 501 gridBagConstraints.gridwidth = 3; 502 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 503 gridBagConstraints.weightx = 1.0; 504 gridBagConstraints.insets = new java.awt.Insets (0, 40, 0, 0); 505 jPanelXML.add(jPanel13, gridBagConstraints); 506 507 gridBagConstraints = new java.awt.GridBagConstraints (); 508 gridBagConstraints.gridx = 0; 509 gridBagConstraints.gridy = 5; 510 gridBagConstraints.gridwidth = 3; 511 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 512 gridBagConstraints.weightx = 1.0; 513 gridBagConstraints.weighty = 1.0; 514 jPanelXML.add(jPanel3, gridBagConstraints); 515 516 gridBagConstraints = new java.awt.GridBagConstraints (); 517 gridBagConstraints.gridx = 0; 518 gridBagConstraints.gridy = 99; 519 gridBagConstraints.gridwidth = 3; 520 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 521 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; 522 gridBagConstraints.weightx = 1.0; 523 gridBagConstraints.weighty = 1.0; 524 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 525 jPanelXML.add(jSeparator7, gridBagConstraints); 526 527 jPanelConnectionRoot.add(jPanelXML, java.awt.BorderLayout.CENTER); 528 529 jPanelBeansSet.setLayout(new java.awt.GridBagLayout ()); 530 531 jLabel12.setText("Factory class (the class that will produce the set)"); 532 gridBagConstraints = new java.awt.GridBagConstraints (); 533 gridBagConstraints.gridx = 0; 534 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 535 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 536 jPanelBeansSet.add(jLabel12, gridBagConstraints); 537 538 jTextFieldJBSetFactoryClass.setText("it.businesslogic.ireport.connection.SampleJRDataSourceFactory"); 539 gridBagConstraints = new java.awt.GridBagConstraints (); 540 gridBagConstraints.gridx = 0; 541 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 542 gridBagConstraints.insets = new java.awt.Insets (2, 4, 4, 4); 543 jPanelBeansSet.add(jTextFieldJBSetFactoryClass, gridBagConstraints); 544 545 buttonGroupBeansSetType.add(jRadioButtonJBSetCollection); 546 jRadioButtonJBSetCollection.setSelected(true); 547 jRadioButtonJBSetCollection.setText(" Collection of javaBeans"); 548 gridBagConstraints = new java.awt.GridBagConstraints (); 549 gridBagConstraints.gridx = 0; 550 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 551 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 552 jPanelBeansSet.add(jRadioButtonJBSetCollection, gridBagConstraints); 553 554 buttonGroupBeansSetType.add(jRadioButtonJBSetArray); 555 jRadioButtonJBSetArray.setText("Array of javaBeans"); 556 jRadioButtonJBSetArray.addActionListener(new java.awt.event.ActionListener () { 557 public void actionPerformed(java.awt.event.ActionEvent evt) { 558 jRadioButtonJBSetArrayActionPerformed(evt); 559 } 560 }); 561 562 gridBagConstraints = new java.awt.GridBagConstraints (); 563 gridBagConstraints.gridx = 0; 564 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 565 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 566 jPanelBeansSet.add(jRadioButtonJBSetArray, gridBagConstraints); 567 568 jLabel13.setText("The static method to call to retrive the array or the the collection of javaBeans"); 569 gridBagConstraints = new java.awt.GridBagConstraints (); 570 gridBagConstraints.gridx = 0; 571 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 572 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 573 jPanelBeansSet.add(jLabel13, gridBagConstraints); 574 575 jTextFieldJBSetMethodToCall.setText("createBeanCollection"); 576 gridBagConstraints = new java.awt.GridBagConstraints (); 577 gridBagConstraints.gridx = 0; 578 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 579 gridBagConstraints.insets = new java.awt.Insets (2, 4, 4, 4); 580 jPanelBeansSet.add(jTextFieldJBSetMethodToCall, gridBagConstraints); 581 582 jCheckBoxisUseFieldDescription.setText("Use field description"); 583 jCheckBoxisUseFieldDescription.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 584 jCheckBoxisUseFieldDescription.setMargin(new java.awt.Insets (0, 0, 0, 0)); 585 gridBagConstraints = new java.awt.GridBagConstraints (); 586 gridBagConstraints.gridx = 0; 587 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 588 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 589 jPanelBeansSet.add(jCheckBoxisUseFieldDescription, gridBagConstraints); 590 591 gridBagConstraints = new java.awt.GridBagConstraints (); 592 gridBagConstraints.gridx = 0; 593 gridBagConstraints.gridy = 99; 594 gridBagConstraints.gridwidth = 3; 595 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 596 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; 597 gridBagConstraints.weightx = 1.0; 598 gridBagConstraints.weighty = 1.0; 599 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 600 jPanelBeansSet.add(jSeparator6, gridBagConstraints); 601 602 jPanelConnectionRoot.add(jPanelBeansSet, java.awt.BorderLayout.CENTER); 603 604 jPanelJDBC.setLayout(new java.awt.GridBagLayout ()); 605 606 jLabel2.setText("JDBC Driver"); 607 gridBagConstraints = new java.awt.GridBagConstraints (); 608 gridBagConstraints.gridx = 0; 609 gridBagConstraints.gridy = 0; 610 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 611 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 612 jPanelJDBC.add(jLabel2, gridBagConstraints); 613 614 jLabel3.setText("JDBC URL"); 615 gridBagConstraints = new java.awt.GridBagConstraints (); 616 gridBagConstraints.gridx = 0; 617 gridBagConstraints.gridy = 1; 618 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 619 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 620 jPanelJDBC.add(jLabel3, gridBagConstraints); 621 622 jComboBoxJDBCDriver.setEditable(true); 623 jComboBoxJDBCDriver.addActionListener(new java.awt.event.ActionListener () { 624 public void actionPerformed(java.awt.event.ActionEvent evt) { 625 jComboBoxJDBCDriverActionPerformed(evt); 626 } 627 }); 628 629 gridBagConstraints = new java.awt.GridBagConstraints (); 630 gridBagConstraints.gridx = 1; 631 gridBagConstraints.gridy = 0; 632 gridBagConstraints.gridwidth = 2; 633 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 634 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 6); 635 jPanelJDBC.add(jComboBoxJDBCDriver, gridBagConstraints); 636 637 gridBagConstraints = new java.awt.GridBagConstraints (); 638 gridBagConstraints.gridx = 1; 639 gridBagConstraints.gridy = 1; 640 gridBagConstraints.gridwidth = 2; 641 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 642 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 6); 643 jPanelJDBC.add(jTextFieldJDBCUrl, gridBagConstraints); 644 645 jPanel2.setLayout(new java.awt.GridBagLayout ()); 646 647 jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("JDBC URL Wizard")); 648 jPanel2.setMinimumSize(new java.awt.Dimension (300, 100)); 649 jLabel14.setText("Server Address"); 650 gridBagConstraints = new java.awt.GridBagConstraints (); 651 gridBagConstraints.gridx = 0; 652 gridBagConstraints.gridy = 0; 653 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 654 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 655 jPanel2.add(jLabel14, gridBagConstraints); 656 657 jLabel5.setText("Database"); 658 gridBagConstraints = new java.awt.GridBagConstraints (); 659 gridBagConstraints.gridx = 0; 660 gridBagConstraints.gridy = 1; 661 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 662 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 663 jPanel2.add(jLabel5, gridBagConstraints); 664 665 gridBagConstraints = new java.awt.GridBagConstraints (); 666 gridBagConstraints.gridx = 1; 667 gridBagConstraints.gridy = 1; 668 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 669 gridBagConstraints.weightx = 1.0; 670 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 671 jPanel2.add(jTextFieldDBName, gridBagConstraints); 672 673 gridBagConstraints = new java.awt.GridBagConstraints (); 674 gridBagConstraints.gridx = 1; 675 gridBagConstraints.gridy = 0; 676 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 677 gridBagConstraints.weightx = 1.0; 678 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 679 jPanel2.add(jTextFieldServerAddress, gridBagConstraints); 680 681 jButtonWizard.setText("Wizard"); 682 jButtonWizard.setMargin(new java.awt.Insets (2, 2, 2, 2)); 683 jButtonWizard.setMaximumSize(new java.awt.Dimension (60, 23)); 684 jButtonWizard.setMinimumSize(new java.awt.Dimension (60, 23)); 685 jButtonWizard.setPreferredSize(new java.awt.Dimension (60, 23)); 686 jButtonWizard.addActionListener(new java.awt.event.ActionListener () { 687 public void actionPerformed(java.awt.event.ActionEvent evt) { 688 jButtonWizardActionPerformed(evt); 689 } 690 }); 691 692 gridBagConstraints = new java.awt.GridBagConstraints (); 693 gridBagConstraints.gridx = 2; 694 gridBagConstraints.gridy = 1; 695 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 696 gridBagConstraints.insets = new java.awt.Insets (2, 6, 2, 0); 697 jPanel2.add(jButtonWizard, gridBagConstraints); 698 699 gridBagConstraints = new java.awt.GridBagConstraints (); 700 gridBagConstraints.gridx = 0; 701 gridBagConstraints.gridy = 4; 702 gridBagConstraints.gridwidth = 3; 703 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 704 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 705 gridBagConstraints.weightx = 1.0; 706 jPanelJDBC.add(jPanel2, gridBagConstraints); 707 708 jLabel6.setText("Username"); 709 gridBagConstraints = new java.awt.GridBagConstraints (); 710 gridBagConstraints.gridx = 0; 711 gridBagConstraints.gridy = 5; 712 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 713 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 714 jPanelJDBC.add(jLabel6, gridBagConstraints); 715 716 jLabel7.setText("Password"); 717 gridBagConstraints = new java.awt.GridBagConstraints (); 718 gridBagConstraints.gridx = 0; 719 gridBagConstraints.gridy = 6; 720 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 721 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 722 jPanelJDBC.add(jLabel7, gridBagConstraints); 723 724 jTextArea1.setEditable(false); 725 jTextArea1.setFont(new java.awt.Font ("Tahoma", 0, 11)); 726 jTextArea1.setLineWrap(true); 727 jTextArea1.setRows(3); 728 jTextArea1.setText("ATTENTION! Passwords are stored in clear text. If you dont specify a password now, iReport will ask you for one only when required and will not save it."); 729 jTextArea1.setWrapStyleWord(true); 730 jTextArea1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); 731 jTextArea1.setMargin(new java.awt.Insets (2, 2, 2, 2)); 732 jTextArea1.setOpaque(false); 733 gridBagConstraints = new java.awt.GridBagConstraints (); 734 gridBagConstraints.gridx = 0; 735 gridBagConstraints.gridy = 7; 736 gridBagConstraints.gridwidth = 3; 737 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 738 gridBagConstraints.weightx = 1.0; 739 gridBagConstraints.insets = new java.awt.Insets (4, 6, 6, 6); 740 jPanelJDBC.add(jTextArea1, gridBagConstraints); 741 742 jTextFieldPassword.setFont(new java.awt.Font ("Tahoma", 0, 11)); 743 gridBagConstraints = new java.awt.GridBagConstraints (); 744 gridBagConstraints.gridx = 1; 745 gridBagConstraints.gridy = 6; 746 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 747 gridBagConstraints.weightx = 1.0; 748 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 749 jPanelJDBC.add(jTextFieldPassword, gridBagConstraints); 750 751 gridBagConstraints = new java.awt.GridBagConstraints (); 752 gridBagConstraints.gridx = 1; 753 gridBagConstraints.gridy = 5; 754 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 755 gridBagConstraints.weightx = 1.0; 756 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 0); 757 jPanelJDBC.add(jTextFieldUsername, gridBagConstraints); 758 759 jCheckBoxSavePassword.setText("Save password"); 760 gridBagConstraints = new java.awt.GridBagConstraints (); 761 gridBagConstraints.gridx = 2; 762 gridBagConstraints.gridy = 6; 763 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 764 gridBagConstraints.insets = new java.awt.Insets (2, 6, 0, 6); 765 jPanelJDBC.add(jCheckBoxSavePassword, gridBagConstraints); 766 767 gridBagConstraints = new java.awt.GridBagConstraints (); 768 gridBagConstraints.gridx = 0; 769 gridBagConstraints.gridy = 99; 770 gridBagConstraints.gridwidth = 3; 771 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 772 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; 773 gridBagConstraints.weightx = 1.0; 774 gridBagConstraints.weighty = 1.0; 775 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 776 jPanelJDBC.add(jSeparator5, gridBagConstraints); 777 778 jPanelConnectionRoot.add(jPanelJDBC, java.awt.BorderLayout.CENTER); 779 780 jPanelCustomDataSourceFactory.setLayout(new java.awt.GridBagLayout ()); 781 782 jLabel10.setText("Factory class"); 783 gridBagConstraints = new java.awt.GridBagConstraints (); 784 gridBagConstraints.gridx = 0; 785 gridBagConstraints.gridy = 0; 786 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 787 gridBagConstraints.insets = new java.awt.Insets (3, 5, 3, 3); 788 jPanelCustomDataSourceFactory.add(jLabel10, gridBagConstraints); 789 790 jTextFieldJRCustomDataSourceFactoryClass.setText("it.businesslogic.ireport.connection.SampleJRDataSourceFactory"); 791 gridBagConstraints = new java.awt.GridBagConstraints (); 792 gridBagConstraints.gridx = 0; 793 gridBagConstraints.gridy = 1; 794 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 795 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 796 gridBagConstraints.insets = new java.awt.Insets (3, 5, 3, 3); 797 jPanelCustomDataSourceFactory.add(jTextFieldJRCustomDataSourceFactoryClass, gridBagConstraints); 798 799 jLabel11.setText("The static method to call to retrive the JRDataSource"); 800 gridBagConstraints = new java.awt.GridBagConstraints (); 801 gridBagConstraints.gridx = 0; 802 gridBagConstraints.gridy = 2; 803 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 804 gridBagConstraints.insets = new java.awt.Insets (3, 5, 3, 3); 805 jPanelCustomDataSourceFactory.add(jLabel11, gridBagConstraints); 806 807 jTextFieldJRCustomDataSourceMethod.setText("createDatasource"); 808 jTextFieldJRCustomDataSourceMethod.setPreferredSize(new java.awt.Dimension (314, 21)); 809 gridBagConstraints = new java.awt.GridBagConstraints (); 810 gridBagConstraints.gridx = 0; 811 gridBagConstraints.gridy = 3; 812 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 813 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 814 gridBagConstraints.weightx = 1.0; 815 gridBagConstraints.insets = new java.awt.Insets (3, 5, 3, 3); 816 jPanelCustomDataSourceFactory.add(jTextFieldJRCustomDataSourceMethod, gridBagConstraints); 817 818 gridBagConstraints = new java.awt.GridBagConstraints (); 819 gridBagConstraints.gridx = 0; 820 gridBagConstraints.gridy = 4; 821 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 822 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; 823 gridBagConstraints.weightx = 1.0; 824 gridBagConstraints.weighty = 1.0; 825 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 826 jPanelCustomDataSourceFactory.add(jSeparator1, gridBagConstraints); 827 828 jPanelConnectionRoot.add(jPanelCustomDataSourceFactory, java.awt.BorderLayout.CENTER); 829 830 jPanelCSV.setLayout(new java.awt.GridBagLayout ()); 831 832 jPanelCSV.setPreferredSize(new java.awt.Dimension (1, 30)); 833 jLabel15.setText("CSV file"); 834 gridBagConstraints = new java.awt.GridBagConstraints (); 835 gridBagConstraints.gridx = 0; 836 gridBagConstraints.gridy = 0; 837 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 838 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 0); 839 jPanelCSV.add(jLabel15, gridBagConstraints); 840 841 gridBagConstraints = new java.awt.GridBagConstraints (); 842 gridBagConstraints.gridx = 1; 843 gridBagConstraints.gridy = 0; 844 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 845 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 846 gridBagConstraints.weightx = 1.0; 847 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 0); 848 jPanelCSV.add(jTextFieldCSVFilename, gridBagConstraints); 849 850 jButtonCSVFilename.setText("Browse"); 851 jButtonCSVFilename.setMargin(new java.awt.Insets (2, 4, 2, 4)); 852 jButtonCSVFilename.addActionListener(new java.awt.event.ActionListener () { 853 public void actionPerformed(java.awt.event.ActionEvent evt) { 854 jButtonCSVFilenameActionPerformed(evt); 855 } 856 }); 857 858 gridBagConstraints = new java.awt.GridBagConstraints (); 859 gridBagConstraints.gridx = 2; 860 gridBagConstraints.gridy = 0; 861 gridBagConstraints.ipadx = 27; 862 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 863 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 4); 864 jPanelCSV.add(jButtonCSVFilename, gridBagConstraints); 865 866 jPanel11.setLayout(new java.awt.GridBagLayout ()); 867 868 jPanel8.setLayout(new java.awt.GridBagLayout ()); 869 870 jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Column names")); 871 jListCVSColumns.addListSelectionListener(new javax.swing.event.ListSelectionListener () { 872 public void valueChanged(javax.swing.event.ListSelectionEvent evt) { 873 jListCVSColumnsValueChanged(evt); 874 } 875 }); 876 jListCVSColumns.addMouseListener(new java.awt.event.MouseAdapter () { 877 public void mouseClicked(java.awt.event.MouseEvent evt) { 878 jListCVSColumnsMouseClicked(evt); 879 } 880 }); 881 882 jScrollPane1.setViewportView(jListCVSColumns); 883 884 gridBagConstraints = new java.awt.GridBagConstraints (); 885 gridBagConstraints.gridx = 0; 886 gridBagConstraints.gridy = 1; 887 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 888 gridBagConstraints.weightx = 1.0; 889 gridBagConstraints.weighty = 1.0; 890 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 891 jPanel8.add(jScrollPane1, gridBagConstraints); 892 893 jPanel9.setLayout(new java.awt.GridBagLayout ()); 894 895 jPanel9.setPreferredSize(new java.awt.Dimension (71, 200)); 896 jButtonNewParameter.setText("New"); 897 jButtonNewParameter.addActionListener(new java.awt.event.ActionListener () { 898 public void actionPerformed(java.awt.event.ActionEvent evt) { 899 jButtonNewParameterActionPerformed1(evt); 900 } 901 }); 902 903 gridBagConstraints = new java.awt.GridBagConstraints (); 904 gridBagConstraints.gridx = 0; 905 gridBagConstraints.gridy = 0; 906 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 907 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 908 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 909 jPanel9.add(jButtonNewParameter, gridBagConstraints); 910 911 jButtonModifyParameter.setText("Modify"); 912 jButtonModifyParameter.setEnabled(false); 913 jButtonModifyParameter.addActionListener(new java.awt.event.ActionListener () { 914 public void actionPerformed(java.awt.event.ActionEvent evt) { 915 jButtonModifyParameterActionPerformed1(evt); 916 } 917 }); 918 919 gridBagConstraints = new java.awt.GridBagConstraints (); 920 gridBagConstraints.gridx = 0; 921 gridBagConstraints.gridy = 1; 922 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 923 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 924 gridBagConstraints.insets = new java.awt.Insets (0, 3, 5, 3); 925 jPanel9.add(jButtonModifyParameter, gridBagConstraints); 926 927 jButtonDeleteParameter.setText("Delete"); 928 jButtonDeleteParameter.setEnabled(false); 929 jButtonDeleteParameter.addActionListener(new java.awt.event.ActionListener () { 930 public void actionPerformed(java.awt.event.ActionEvent evt) { 931 jButtonDeleteParameterActionPerformed1(evt); 932 } 933 }); 934 935 gridBagConstraints = new java.awt.GridBagConstraints (); 936 gridBagConstraints.gridx = 0; 937 gridBagConstraints.gridy = 2; 938 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 939 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 940 gridBagConstraints.weightx = 1.0; 941 gridBagConstraints.insets = new java.awt.Insets (0, 3, 5, 3); 942 jPanel9.add(jButtonDeleteParameter, gridBagConstraints); 943 944 jPanel10.setLayout(null); 945 946 gridBagConstraints = new java.awt.GridBagConstraints (); 947 gridBagConstraints.gridx = 0; 948 gridBagConstraints.weighty = 1.0; 949 jPanel9.add(jPanel10, gridBagConstraints); 950 951 gridBagConstraints = new java.awt.GridBagConstraints (); 952 gridBagConstraints.gridx = 1; 953 gridBagConstraints.gridy = 1; 954 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 955 gridBagConstraints.weighty = 1.0; 956 gridBagConstraints.insets = new java.awt.Insets (4, 0, 4, 4); 957 jPanel8.add(jPanel9, gridBagConstraints); 958 959 jButtonNewParameter1.setText("Get columns name from the first row of the file"); 960 jButtonNewParameter1.addActionListener(new java.awt.event.ActionListener () { 961 public void actionPerformed(java.awt.event.ActionEvent evt) { 962 jButtonNewParameterActionPerformed11(evt); 963 } 964 }); 965 966 gridBagConstraints = new java.awt.GridBagConstraints (); 967 gridBagConstraints.gridx = 0; 968 gridBagConstraints.gridy = 0; 969 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 970 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 971 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 972 jPanel8.add(jButtonNewParameter1, gridBagConstraints); 973 974 gridBagConstraints = new java.awt.GridBagConstraints (); 975 gridBagConstraints.gridy = 5; 976 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 977 gridBagConstraints.weightx = 1.0; 978 gridBagConstraints.weighty = 1.0; 979 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 980 jPanel11.add(jPanel8, gridBagConstraints); 981 982 jPanel6.setLayout(new java.awt.GridBagLayout ()); 983 984 jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Other")); 985 jCheckBoxCVSDateFormat.setText("Use custom date format"); 986 jCheckBoxCVSDateFormat.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 987 jCheckBoxCVSDateFormat.setMargin(new java.awt.Insets (0, 0, 0, 0)); 988 jCheckBoxCVSDateFormat.addActionListener(new java.awt.event.ActionListener () { 989 public void actionPerformed(java.awt.event.ActionEvent evt) { 990 jCheckBoxCVSDateFormatActionPerformed(evt); 991 } 992 }); 993 994 gridBagConstraints = new java.awt.GridBagConstraints (); 995 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 996 jPanel6.add(jCheckBoxCVSDateFormat, gridBagConstraints); 997 998 jTextFieldCVSDateFormat.setEnabled(false); 999 jTextFieldCVSDateFormat.setPreferredSize(new java.awt.Dimension (100, 19)); 1000 gridBagConstraints = new java.awt.GridBagConstraints (); 1001 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1002 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1003 gridBagConstraints.weightx = 1.0; 1004 gridBagConstraints.insets = new java.awt.Insets (0, 10, 0, 0); 1005 jPanel6.add(jTextFieldCVSDateFormat, gridBagConstraints); 1006 1007 jButtonCVSDateFormat.setText("Date format"); 1008 jButtonCVSDateFormat.setEnabled(false); 1009 jButtonCVSDateFormat.addActionListener(new java.awt.event.ActionListener () { 1010 public void actionPerformed(java.awt.event.ActionEvent evt) { 1011 jButtonCVSDateFormatActionPerformed(evt); 1012 } 1013 }); 1014 1015 gridBagConstraints = new java.awt.GridBagConstraints (); 1016 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 1017 jPanel6.add(jButtonCVSDateFormat, gridBagConstraints); 1018 1019 jCheckBoxCVSFirstRowAsHeader.setText("Skip the first line (the column names will be read from the first line)"); 1020 jCheckBoxCVSFirstRowAsHeader.setActionCommand("Skip the first line (column names will be read from the first line)"); 1021 jCheckBoxCVSFirstRowAsHeader.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1022 jCheckBoxCVSFirstRowAsHeader.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1023 jCheckBoxCVSFirstRowAsHeader.addActionListener(new java.awt.event.ActionListener () { 1024 public void actionPerformed(java.awt.event.ActionEvent evt) { 1025 jCheckBoxCVSDateFormatActionPerformed1(evt); 1026 } 1027 }); 1028 1029 gridBagConstraints = new java.awt.GridBagConstraints (); 1030 gridBagConstraints.gridx = 0; 1031 gridBagConstraints.gridwidth = 3; 1032 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1033 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 1034 jPanel6.add(jCheckBoxCVSFirstRowAsHeader, gridBagConstraints); 1035 1036 gridBagConstraints = new java.awt.GridBagConstraints (); 1037 gridBagConstraints.gridx = 0; 1038 gridBagConstraints.gridy = 20; 1039 gridBagConstraints.gridwidth = 3; 1040 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1041 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1042 jPanel11.add(jPanel6, gridBagConstraints); 1043 1044 jTabbedPane1.addTab("Columns", jPanel11); 1045 1046 jPanel7.setLayout(new java.awt.GridBagLayout ()); 1047 1048 jPanel4.setLayout(new java.awt.GridBagLayout ()); 1049 1050 jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Field separator (char)")); 1051 buttonGroupCVSFieldSeparator.add(jRadioButtonCVSSeparatorComma); 1052 jRadioButtonCVSSeparatorComma.setSelected(true); 1053 jRadioButtonCVSSeparatorComma.setText("Comma"); 1054 jRadioButtonCVSSeparatorComma.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1055 jRadioButtonCVSSeparatorComma.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1056 gridBagConstraints = new java.awt.GridBagConstraints (); 1057 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1058 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1059 gridBagConstraints.weightx = 1.0; 1060 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1061 jPanel4.add(jRadioButtonCVSSeparatorComma, gridBagConstraints); 1062 1063 buttonGroupCVSFieldSeparator.add(jRadioButtonCVSSeparatorSpace); 1064 jRadioButtonCVSSeparatorSpace.setText("Space"); 1065 jRadioButtonCVSSeparatorSpace.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1066 jRadioButtonCVSSeparatorSpace.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1067 gridBagConstraints = new java.awt.GridBagConstraints (); 1068 gridBagConstraints.gridx = 0; 1069 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1070 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1071 gridBagConstraints.weightx = 1.0; 1072 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1073 jPanel4.add(jRadioButtonCVSSeparatorSpace, gridBagConstraints); 1074 1075 buttonGroupCVSFieldSeparator.add(jRadioButtonCVSSeparatorTab); 1076 jRadioButtonCVSSeparatorTab.setText("Tab"); 1077 jRadioButtonCVSSeparatorTab.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1078 jRadioButtonCVSSeparatorTab.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1079 gridBagConstraints = new java.awt.GridBagConstraints (); 1080 gridBagConstraints.gridx = 1; 1081 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1082 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1083 gridBagConstraints.weightx = 1.0; 1084 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1085 jPanel4.add(jRadioButtonCVSSeparatorTab, gridBagConstraints); 1086 1087 buttonGroupCVSFieldSeparator.add(jRadioButtonCVSSeparatorSemicolon); 1088 jRadioButtonCVSSeparatorSemicolon.setText("Semicolon"); 1089 jRadioButtonCVSSeparatorSemicolon.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1090 jRadioButtonCVSSeparatorSemicolon.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1091 gridBagConstraints = new java.awt.GridBagConstraints (); 1092 gridBagConstraints.gridx = 1; 1093 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1094 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1095 gridBagConstraints.weightx = 1.0; 1096 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1097 jPanel4.add(jRadioButtonCVSSeparatorSemicolon, gridBagConstraints); 1098 1099 buttonGroupCVSFieldSeparator.add(jRadioButtonCVSSeparatorOther); 1100 jRadioButtonCVSSeparatorOther.setText("Other"); 1101 jRadioButtonCVSSeparatorOther.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1102 jRadioButtonCVSSeparatorOther.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1103 gridBagConstraints = new java.awt.GridBagConstraints (); 1104 gridBagConstraints.gridx = 2; 1105 gridBagConstraints.gridy = 1; 1106 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1107 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1108 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1109 jPanel4.add(jRadioButtonCVSSeparatorOther, gridBagConstraints); 1110 1111 jTextFieldCVSSeparatorText.setPreferredSize(new java.awt.Dimension (30, 19)); 1112 jTextFieldCVSSeparatorText.addActionListener(new java.awt.event.ActionListener () { 1113 public void actionPerformed(java.awt.event.ActionEvent evt) { 1114 jTextFieldCVSSeparatorTextActionPerformed(evt); 1115 } 1116 }); 1117 1118 gridBagConstraints = new java.awt.GridBagConstraints (); 1119 gridBagConstraints.gridy = 1; 1120 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1121 gridBagConstraints.weightx = 1.0; 1122 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 1123 jPanel4.add(jTextFieldCVSSeparatorText, gridBagConstraints); 1124 1125 buttonGroupCVSFieldSeparator.add(jRadioButtonCVSSeparatorNewLine); 1126 jRadioButtonCVSSeparatorNewLine.setText("New line"); 1127 jRadioButtonCVSSeparatorNewLine.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1128 jRadioButtonCVSSeparatorNewLine.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1129 gridBagConstraints = new java.awt.GridBagConstraints (); 1130 gridBagConstraints.gridwidth = 2; 1131 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1132 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1133 gridBagConstraints.weightx = 1.0; 1134 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1135 jPanel4.add(jRadioButtonCVSSeparatorNewLine, gridBagConstraints); 1136 1137 gridBagConstraints = new java.awt.GridBagConstraints (); 1138 gridBagConstraints.gridx = 0; 1139 gridBagConstraints.gridwidth = 3; 1140 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1141 gridBagConstraints.weightx = 1.0; 1142 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1143 jPanel7.add(jPanel4, gridBagConstraints); 1144 1145 jPanel5.setLayout(new java.awt.GridBagLayout ()); 1146 1147 jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Row separator")); 1148 buttonGroupCVSFieldSeparator1.add(jRadioButtonCVSSeparatorComma1); 1149 jRadioButtonCVSSeparatorComma1.setText("Comma"); 1150 jRadioButtonCVSSeparatorComma1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1151 jRadioButtonCVSSeparatorComma1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1152 gridBagConstraints = new java.awt.GridBagConstraints (); 1153 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1154 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1155 gridBagConstraints.weightx = 1.0; 1156 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1157 jPanel5.add(jRadioButtonCVSSeparatorComma1, gridBagConstraints); 1158 1159 buttonGroupCVSFieldSeparator1.add(jRadioButtonCVSSeparatorSpace1); 1160 jRadioButtonCVSSeparatorSpace1.setText("Space"); 1161 jRadioButtonCVSSeparatorSpace1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1162 jRadioButtonCVSSeparatorSpace1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1163 gridBagConstraints = new java.awt.GridBagConstraints (); 1164 gridBagConstraints.gridx = 0; 1165 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1166 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1167 gridBagConstraints.weightx = 1.0; 1168 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1169 jPanel5.add(jRadioButtonCVSSeparatorSpace1, gridBagConstraints); 1170 1171 buttonGroupCVSFieldSeparator1.add(jRadioButtonCVSSeparatorTab1); 1172 jRadioButtonCVSSeparatorTab1.setText("Tab"); 1173 jRadioButtonCVSSeparatorTab1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1174 jRadioButtonCVSSeparatorTab1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1175 gridBagConstraints = new java.awt.GridBagConstraints (); 1176 gridBagConstraints.gridx = 1; 1177 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1178 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1179 gridBagConstraints.weightx = 1.0; 1180 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1181 jPanel5.add(jRadioButtonCVSSeparatorTab1, gridBagConstraints); 1182 1183 buttonGroupCVSFieldSeparator1.add(jRadioButtonCVSSeparatorSemicolon1); 1184 jRadioButtonCVSSeparatorSemicolon1.setText("Semicolon"); 1185 jRadioButtonCVSSeparatorSemicolon1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1186 jRadioButtonCVSSeparatorSemicolon1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1187 gridBagConstraints = new java.awt.GridBagConstraints (); 1188 gridBagConstraints.gridx = 1; 1189 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1190 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1191 gridBagConstraints.weightx = 1.0; 1192 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1193 jPanel5.add(jRadioButtonCVSSeparatorSemicolon1, gridBagConstraints); 1194 1195 buttonGroupCVSFieldSeparator1.add(jRadioButtonCVSSeparatorNewLine1); 1196 jRadioButtonCVSSeparatorNewLine1.setSelected(true); 1197 jRadioButtonCVSSeparatorNewLine1.setText("New line"); 1198 jRadioButtonCVSSeparatorNewLine1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1199 jRadioButtonCVSSeparatorNewLine1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1200 gridBagConstraints = new java.awt.GridBagConstraints (); 1201 gridBagConstraints.gridwidth = 2; 1202 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1203 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1204 gridBagConstraints.weightx = 1.0; 1205 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1206 jPanel5.add(jRadioButtonCVSSeparatorNewLine1, gridBagConstraints); 1207 1208 buttonGroupCVSFieldSeparator1.add(jRadioButtonCVSSeparatorOther1); 1209 jRadioButtonCVSSeparatorOther1.setText("Other"); 1210 jRadioButtonCVSSeparatorOther1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); 1211 jRadioButtonCVSSeparatorOther1.setMargin(new java.awt.Insets (0, 0, 0, 0)); 1212 gridBagConstraints = new java.awt.GridBagConstraints (); 1213 gridBagConstraints.gridx = 2; 1214 gridBagConstraints.gridy = 1; 1215 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1216 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; 1217 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1218 jPanel5.add(jRadioButtonCVSSeparatorOther1, gridBagConstraints); 1219 1220 jTextFieldCVSSeparatorText1.setPreferredSize(new java.awt.Dimension (30, 19)); 1221 jTextFieldCVSSeparatorText1.addActionListener(new java.awt.event.ActionListener () { 1222 public void actionPerformed(java.awt.event.ActionEvent evt) { 1223 jTextFieldCVSSeparatorText1ActionPerformed(evt); 1224 } 1225 }); 1226 1227 gridBagConstraints = new java.awt.GridBagConstraints (); 1228 gridBagConstraints.gridy = 1; 1229 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1230 gridBagConstraints.weightx = 1.0; 1231 gridBagConstraints.insets = new java.awt.Insets (0, 4, 0, 0); 1232 jPanel5.add(jTextFieldCVSSeparatorText1, gridBagConstraints); 1233 1234 gridBagConstraints = new java.awt.GridBagConstraints (); 1235 gridBagConstraints.gridx = 0; 1236 gridBagConstraints.gridwidth = 3; 1237 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1238 gridBagConstraints.weightx = 1.0; 1239 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1240 jPanel7.add(jPanel5, gridBagConstraints); 1241 1242 gridBagConstraints = new java.awt.GridBagConstraints (); 1243 gridBagConstraints.gridx = 0; 1244 gridBagConstraints.weighty = 1.0; 1245 jPanel7.add(jPanel12, gridBagConstraints); 1246 1247 jTabbedPane1.addTab("Separators", jPanel7); 1248 1249 gridBagConstraints = new java.awt.GridBagConstraints (); 1250 gridBagConstraints.gridx = 0; 1251 gridBagConstraints.gridwidth = 3; 1252 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1253 gridBagConstraints.weightx = 1.0; 1254 gridBagConstraints.weighty = 1.0; 1255 jPanelCSV.add(jTabbedPane1, gridBagConstraints); 1256 1257 gridBagConstraints = new java.awt.GridBagConstraints (); 1258 gridBagConstraints.gridx = 0; 1259 gridBagConstraints.gridy = 99; 1260 gridBagConstraints.gridwidth = 3; 1261 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1262 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; 1263 gridBagConstraints.weightx = 1.0; 1264 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 1265 jPanelCSV.add(jSeparator4, gridBagConstraints); 1266 1267 jPanelConnectionRoot.add(jPanelCSV, java.awt.BorderLayout.CENTER); 1268 1269 jPanelDatasourceProvider.setLayout(new java.awt.GridBagLayout ()); 1270 1271 jLabel17.setText("JasperReports DataSource Provider class"); 1272 gridBagConstraints = new java.awt.GridBagConstraints (); 1273 gridBagConstraints.gridx = 0; 1274 gridBagConstraints.gridy = 0; 1275 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1276 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1277 gridBagConstraints.weightx = 1.0; 1278 gridBagConstraints.insets = new java.awt.Insets (3, 5, 1, 3); 1279 jPanelDatasourceProvider.add(jLabel17, gridBagConstraints); 1280 1281 jTextFieldJRDataSourceProvider.setText("it.businesslogic.ireport.examples.PersonBeansDataSource"); 1282 gridBagConstraints = new java.awt.GridBagConstraints (); 1283 gridBagConstraints.gridx = 0; 1284 gridBagConstraints.gridy = 1; 1285 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1286 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1287 gridBagConstraints.insets = new java.awt.Insets (3, 5, 3, 3); 1288 jPanelDatasourceProvider.add(jTextFieldJRDataSourceProvider, gridBagConstraints); 1289 1290 gridBagConstraints = new java.awt.GridBagConstraints (); 1291 gridBagConstraints.gridx = 0; 1292 gridBagConstraints.gridy = 4; 1293 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1294 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; 1295 gridBagConstraints.weightx = 1.0; 1296 gridBagConstraints.weighty = 1.0; 1297 gridBagConstraints.insets = new java.awt.Insets (3, 3, 3, 3); 1298 jPanelDatasourceProvider.add(jSeparator3, gridBagConstraints); 1299 1300 jPanelConnectionRoot.add(jPanelDatasourceProvider, java.awt.BorderLayout.CENTER); 1301 1302 jPanelHibernate.setLayout(new java.awt.GridBagLayout ()); 1303 1304 jTextPane1.setText("Press the test button.\\n\\niReport will look in the classpath for a valid hibernate configuration."); 1305 jTextPane1.setOpaque(false); 1306 gridBagConstraints = new java.awt.GridBagConstraints (); 1307 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1308 gridBagConstraints.weightx = 1.0; 1309 gridBagConstraints.weighty = 1.0; 1310 jPanelHibernate.add(jTextPane1, gridBagConstraints); 1311 1312 jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 1313 jLabel8.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/hibernate.png"))); 1314 jLabel8.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM); 1315 jLabel8.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); 1316 gridBagConstraints = new java.awt.GridBagConstraints (); 1317 gridBagConstraints.gridy = 1; 1318 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1319 jPanelHibernate.add(jLabel8, gridBagConstraints); 1320 1321 jPanelConnectionRoot.add(jPanelHibernate, java.awt.BorderLayout.CENTER); 1322 1323 jPanelEJBQL.setLayout(new java.awt.GridBagLayout ()); 1324 1325 jLabel18.setText("Persistance Unit Name"); 1326 gridBagConstraints = new java.awt.GridBagConstraints (); 1327 gridBagConstraints.gridx = 0; 1328 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1329 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1330 gridBagConstraints.weightx = 1.0; 1331 gridBagConstraints.insets = new java.awt.Insets (4, 4, 2, 4); 1332 jPanelEJBQL.add(jLabel18, gridBagConstraints); 1333 1334 jTextFieldPersistanceUnit.setMargin(new java.awt.Insets (0, 5, 2, 4)); 1335 gridBagConstraints = new java.awt.GridBagConstraints (); 1336 gridBagConstraints.gridx = 0; 1337 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1338 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1339 gridBagConstraints.weightx = 1.0; 1340 gridBagConstraints.insets = new java.awt.Insets (0, 4, 3, 4); 1341 jPanelEJBQL.add(jTextFieldPersistanceUnit, gridBagConstraints); 1342 1343 jScrollPane2.setBorder(null); 1344 jScrollPane2.setFocusable(false); 1345 jScrollPane2.setRequestFocusEnabled(false); 1346 jScrollPane2.setVerifyInputWhenFocusTarget(false); 1347 jTextPane2.setBorder(null); 1348 jTextPane2.setEditable(false); 1349 jTextPane2.setText("iReport will search for persistence.xml files within the META-INF directory of any CLASSPATH element"); 1350 jTextPane2.setOpaque(false); 1351 jScrollPane2.setViewportView(jTextPane2); 1352 1353 gridBagConstraints = new java.awt.GridBagConstraints (); 1354 gridBagConstraints.gridx = 0; 1355 gridBagConstraints.gridy = 2; 1356 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1357 gridBagConstraints.weightx = 1.0; 1358 gridBagConstraints.weighty = 1.0; 1359 gridBagConstraints.insets = new java.awt.Insets (12, 4, 4, 4); 1360 jPanelEJBQL.add(jScrollPane2, gridBagConstraints); 1361 1362 jPanelConnectionRoot.add(jPanelEJBQL, java.awt.BorderLayout.CENTER); 1363 1364 jPanelMondrian.setLayout(new java.awt.GridBagLayout ()); 1365 1366 jLabel20.setText("Jdbc Connection"); 1367 gridBagConstraints = new java.awt.GridBagConstraints (); 1368 gridBagConstraints.gridx = 0; 1369 gridBagConstraints.gridwidth = 2; 1370 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1371 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1372 gridBagConstraints.weightx = 1.0; 1373 gridBagConstraints.insets = new java.awt.Insets (4, 4, 2, 4); 1374 jPanelMondrian.add(jLabel20, gridBagConstraints); 1375 1376 gridBagConstraints = new java.awt.GridBagConstraints (); 1377 gridBagConstraints.gridx = 0; 1378 gridBagConstraints.gridwidth = 2; 1379 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1380 gridBagConstraints.weightx = 1.0; 1381 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 1382 jPanelMondrian.add(jComboBoxMondrianJdbc, gridBagConstraints); 1383 1384 jLabel19.setText("Catalog URI (i.e. file:/path/schema.xml)"); 1385 gridBagConstraints = new java.awt.GridBagConstraints (); 1386 gridBagConstraints.gridx = 0; 1387 gridBagConstraints.gridwidth = 2; 1388 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1389 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1390 gridBagConstraints.weightx = 1.0; 1391 gridBagConstraints.insets = new java.awt.Insets (4, 4, 2, 4); 1392 jPanelMondrian.add(jLabel19, gridBagConstraints); 1393 1394 jTextFieldCatalogURI.setMargin(new java.awt.Insets (0, 5, 2, 4)); 1395 gridBagConstraints = new java.awt.GridBagConstraints (); 1396 gridBagConstraints.gridx = 0; 1397 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1398 gridBagConstraints.weightx = 1.0; 1399 gridBagConstraints.insets = new java.awt.Insets (0, 4, 3, 4); 1400 jPanelMondrian.add(jTextFieldCatalogURI, gridBagConstraints); 1401 1402 jButtonBrowseCatalog.setText("Browse..."); 1403 jButtonBrowseCatalog.addActionListener(new java.awt.event.ActionListener () { 1404 public void actionPerformed(java.awt.event.ActionEvent evt) { 1405 jButtonBrowseCatalogActionPerformed(evt); 1406 } 1407 }); 1408 1409 gridBagConstraints = new java.awt.GridBagConstraints (); 1410 gridBagConstraints.gridx = 1; 1411 jPanelMondrian.add(jButtonBrowseCatalog, gridBagConstraints); 1412 1413 gridBagConstraints = new java.awt.GridBagConstraints (); 1414 gridBagConstraints.gridx = 0; 1415 gridBagConstraints.weighty = 1.0; 1416 jPanelMondrian.add(jPanel14, gridBagConstraints); 1417 1418 jPanelConnectionRoot.add(jPanelMondrian, java.awt.BorderLayout.CENTER); 1419 1420 jPanelSpringLoadedHibernate.setLayout(new java.awt.GridBagLayout ()); 1421 1422 jLabel21.setText("Spring configuration"); 1423 gridBagConstraints = new java.awt.GridBagConstraints (); 1424 gridBagConstraints.gridx = 0; 1425 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1426 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 1427 jPanelSpringLoadedHibernate.add(jLabel21, gridBagConstraints); 1428 1429 gridBagConstraints = new java.awt.GridBagConstraints (); 1430 gridBagConstraints.gridx = 0; 1431 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1432 gridBagConstraints.insets = new java.awt.Insets (2, 4, 4, 4); 1433 jPanelSpringLoadedHibernate.add(jTextFieldSLHSpringConfig, gridBagConstraints); 1434 1435 jLabel22.setText("Session Factory Bean ID"); 1436 gridBagConstraints = new java.awt.GridBagConstraints (); 1437 gridBagConstraints.gridx = 0; 1438 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1439 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 1440 jPanelSpringLoadedHibernate.add(jLabel22, gridBagConstraints); 1441 1442 gridBagConstraints = new java.awt.GridBagConstraints (); 1443 gridBagConstraints.gridx = 0; 1444 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1445 gridBagConstraints.insets = new java.awt.Insets (2, 4, 4, 4); 1446 jPanelSpringLoadedHibernate.add(jTextFieldSLHSessionFactory, gridBagConstraints); 1447 1448 jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 1449 jLabel16.setIcon(new javax.swing.ImageIcon (getClass().getResource("/it/businesslogic/ireport/icons/hibernate.png"))); 1450 jLabel16.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM); 1451 jLabel16.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); 1452 gridBagConstraints = new java.awt.GridBagConstraints (); 1453 gridBagConstraints.gridx = 0; 1454 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1455 gridBagConstraints.weightx = 1.0; 1456 gridBagConstraints.weighty = 1.0; 1457 jPanelSpringLoadedHibernate.add(jLabel16, gridBagConstraints); 1458 1459 jPanelConnectionRoot.add(jPanelSpringLoadedHibernate, java.awt.BorderLayout.CENTER); 1460 1461 jPanelQueryExecutorMode.setLayout(new java.awt.GridBagLayout ()); 1462 1463 jPanelQueryExecutorMode.setMinimumSize(new java.awt.Dimension (125, 204)); 1464 jPanelQueryExecutorMode.setPreferredSize(new java.awt.Dimension (20, 20)); 1465 jLabel23.setText(" "); 1466 jPanelQueryExecutorMode.add(jLabel23, new java.awt.GridBagConstraints ()); 1467 1468 jPanelConnectionRoot.add(jPanelQueryExecutorMode, java.awt.BorderLayout.CENTER); 1469 1470 jPanelEmptyDataSource.setLayout(new java.awt.GridBagLayout ()); 1471 1472 jLabel24.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); 1473 jLabel24.setText("Number of empty records"); 1474 gridBagConstraints = new java.awt.GridBagConstraints (); 1475 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1476 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 1477 gridBagConstraints.weighty = 1.0; 1478 gridBagConstraints.insets = new java.awt.Insets (16, 20, 0, 4); 1479 jPanelEmptyDataSource.add(jLabel24, gridBagConstraints); 1480 1481 jSpinnerNumRecords.setPreferredSize(new java.awt.Dimension (70, 18)); 1482 gridBagConstraints = new java.awt.GridBagConstraints (); 1483 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1484 gridBagConstraints.weightx = 1.0; 1485 gridBagConstraints.weighty = 1.0; 1486 gridBagConstraints.insets = new java.awt.Insets (14, 0, 0, 20); 1487 jPanelEmptyDataSource.add(jSpinnerNumRecords, gridBagConstraints); 1488 1489 jPanelConnectionRoot.add(jPanelEmptyDataSource, java.awt.BorderLayout.CENTER); 1490 1491 jPanelCustomConnection.setLayout(new java.awt.GridBagLayout ()); 1492 1493 jLabel25.setText("Class name of the IReportConnection implementation"); 1494 gridBagConstraints = new java.awt.GridBagConstraints (); 1495 gridBagConstraints.gridx = 0; 1496 gridBagConstraints.gridy = 0; 1497 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1498 gridBagConstraints.insets = new java.awt.Insets (3, 5, 0, 3); 1499 jPanelCustomConnection.add(jLabel25, gridBagConstraints); 1500 1501 jTextFieldIReportConnectionClassName.setText("it.businesslogic.ireport.connection.JREmptyDatasourceConnection"); 1502 gridBagConstraints = new java.awt.GridBagConstraints (); 1503 gridBagConstraints.gridx = 0; 1504 gridBagConstraints.gridy = 1; 1505 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1506 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1507 gridBagConstraints.insets = new java.awt.Insets (3, 5, 3, 3); 1508 jPanelCustomConnection.add(jTextFieldIReportConnectionClassName, gridBagConstraints); 1509 1510 jPanel15.setLayout(new java.awt.GridBagLayout ()); 1511 1512 jLabelPropertiesTable.setText("IReportConnection properties"); 1513 gridBagConstraints = new java.awt.GridBagConstraints (); 1514 gridBagConstraints.gridx = 0; 1515 gridBagConstraints.gridy = 0; 1516 gridBagConstraints.gridwidth = 2; 1517 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1518 gridBagConstraints.insets = new java.awt.Insets (6, 5, 0, 3); 1519 jPanel15.add(jLabelPropertiesTable, gridBagConstraints); 1520 1521 jTableCustomProperties.setModel(new javax.swing.table.DefaultTableModel ( 1522 new Object [][] { 1523 1524 }, 1525 new String [] { 1526 "Name", "Value" 1527 } 1528 ) { 1529 Class [] types = new Class [] { 1530 java.lang.String .class, java.lang.String .class 1531 }; 1532 1533 public Class getColumnClass(int columnIndex) { 1534 return types [columnIndex]; 1535 } 1536 }); 1537 jTableCustomProperties.addMouseListener(new java.awt.event.MouseAdapter () { 1538 public void mouseClicked(java.awt.event.MouseEvent evt) { 1539 jTableCustomPropertiesMouseClicked(evt); 1540 } 1541 }); 1542 1543 jScrollPane3.setViewportView(jTableCustomProperties); 1544 1545 gridBagConstraints = new java.awt.GridBagConstraints (); 1546 gridBagConstraints.gridx = 0; 1547 gridBagConstraints.gridwidth = 2; 1548 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1549 gridBagConstraints.weightx = 1.0; 1550 gridBagConstraints.weighty = 1.0; 1551 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1552 jPanel15.add(jScrollPane3, gridBagConstraints); 1553 1554 jButtonAddProp.setText("Add"); 1555 jButtonAddProp.addActionListener(new java.awt.event.ActionListener () { 1556 public void actionPerformed(java.awt.event.ActionEvent evt) { 1557 jButtonAddPropActionPerformed(evt); 1558 } 1559 }); 1560 1561 gridBagConstraints = new java.awt.GridBagConstraints (); 1562 gridBagConstraints.gridx = 0; 1563 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 1564 jPanel15.add(jButtonAddProp, gridBagConstraints); 1565 1566 jButtonRemoveProp.setText("Remove"); 1567 jButtonRemoveProp.setEnabled(false); 1568 jButtonRemoveProp.addActionListener(new java.awt.event.ActionListener () { 1569 public void actionPerformed(java.awt.event.ActionEvent evt) { 1570 jButtonRemovePropActionPerformed(evt); 1571 } 1572 }); 1573 1574 gridBagConstraints = new java.awt.GridBagConstraints (); 1575 gridBagConstraints.gridx = 1; 1576 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 1577 gridBagConstraints.weightx = 1.0; 1578 gridBagConstraints.insets = new java.awt.Insets (0, 0, 4, 4); 1579 jPanel15.add(jButtonRemoveProp, gridBagConstraints); 1580 1581 gridBagConstraints = new java.awt.GridBagConstraints (); 1582 gridBagConstraints.gridx = 0; 1583 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1584 gridBagConstraints.weightx = 1.0; 1585 gridBagConstraints.weighty = 1.0; 1586 jPanelCustomConnection.add(jPanel15, gridBagConstraints); 1587 1588 jPanelConnectionRoot.add(jPanelCustomConnection, java.awt.BorderLayout.NORTH); 1589 1590 jPanelXMLA.setLayout(new java.awt.GridBagLayout ()); 1591 1592 jLabelXMLAUrl.setText("Url of XML/A server"); 1593 gridBagConstraints = new java.awt.GridBagConstraints (); 1594 gridBagConstraints.gridx = 0; 1595 gridBagConstraints.gridwidth = 2; 1596 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1597 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1598 gridBagConstraints.weightx = 1.0; 1599 gridBagConstraints.insets = new java.awt.Insets (4, 4, 0, 4); 1600 jPanelXMLA.add(jLabelXMLAUrl, gridBagConstraints); 1601 1602 jTextFieldXMLAUrl.setText("http://localhost:8080/mondrian/xmla"); 1603 gridBagConstraints = new java.awt.GridBagConstraints (); 1604 gridBagConstraints.gridx = 0; 1605 gridBagConstraints.gridwidth = 2; 1606 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1607 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1608 gridBagConstraints.weightx = 1.0; 1609 gridBagConstraints.insets = new java.awt.Insets (2, 4, 4, 4); 1610 jPanelXMLA.add(jTextFieldXMLAUrl, gridBagConstraints); 1611 1612 jButtonGetXMLAMetadata.setText("Get metadata"); 1613 jButtonGetXMLAMetadata.addActionListener(new java.awt.event.ActionListener () { 1614 public void actionPerformed(java.awt.event.ActionEvent evt) { 1615 jButtonGetXMLAMetadataActionPerformed(evt); 1616 } 1617 }); 1618 1619 gridBagConstraints = new java.awt.GridBagConstraints (); 1620 gridBagConstraints.gridx = 1; 1621 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 1622 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 1623 jPanelXMLA.add(jButtonGetXMLAMetadata, gridBagConstraints); 1624 1625 jLabelXMLADatasource.setText("Datasource"); 1626 gridBagConstraints = new java.awt.GridBagConstraints (); 1627 gridBagConstraints.gridx = 0; 1628 gridBagConstraints.gridwidth = 2; 1629 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1630 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1631 gridBagConstraints.weightx = 1.0; 1632 gridBagConstraints.insets = new java.awt.Insets (4, 4, 2, 4); 1633 jPanelXMLA.add(jLabelXMLADatasource, gridBagConstraints); 1634 1635 jComboBoxXMLADatasource.setMinimumSize(new java.awt.Dimension (23, 22)); 1636 gridBagConstraints = new java.awt.GridBagConstraints (); 1637 gridBagConstraints.gridx = 0; 1638 gridBagConstraints.gridwidth = 2; 1639 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1640 gridBagConstraints.weightx = 1.0; 1641 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 1642 jPanelXMLA.add(jComboBoxXMLADatasource, gridBagConstraints); 1643 1644 jLabelXMLACatalog.setText("Catalog"); 1645 gridBagConstraints = new java.awt.GridBagConstraints (); 1646 gridBagConstraints.gridx = 0; 1647 gridBagConstraints.gridwidth = 2; 1648 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1649 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1650 gridBagConstraints.weightx = 1.0; 1651 gridBagConstraints.insets = new java.awt.Insets (4, 4, 2, 4); 1652 jPanelXMLA.add(jLabelXMLACatalog, gridBagConstraints); 1653 1654 jComboBoxXMLACatalog.setMinimumSize(new java.awt.Dimension (23, 22)); 1655 gridBagConstraints = new java.awt.GridBagConstraints (); 1656 gridBagConstraints.gridx = 0; 1657 gridBagConstraints.gridwidth = 2; 1658 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 1659 gridBagConstraints.weightx = 1.0; 1660 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 1661 jPanelXMLA.add(jComboBoxXMLACatalog, gridBagConstraints); 1662 1663 gridBagConstraints = new java.awt.GridBagConstraints (); 1664 gridBagConstraints.gridx = 0; 1665 gridBagConstraints.gridwidth = 2; 1666 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1667 gridBagConstraints.weightx = 1.0; 1668 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 1669 jPanelXMLA.add(jSeparator8, gridBagConstraints); 1670 1671 jLabelXMLACube.setText("Cube"); 1672 gridBagConstraints = new java.awt.GridBagConstraints (); 1673 gridBagConstraints.gridx = 0; 1674 gridBagConstraints.gridwidth = 2; 1675 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1676 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 1677 gridBagConstraints.weightx = 1.0; 1678 gridBagConstraints.insets = new java.awt.Insets (4, 4, 2, 4); 1679 jPanelXMLA.add(jLabelXMLACube, gridBagConstraints); 1680 1681 jComboBoxXMLACube.setMinimumSize(new java.awt.Dimension (23, 22)); 1682 gridBagConstraints = new java.awt.GridBagConstraints (); 1683 gridBagConstraints.gridx = 0; 1684 gridBagConstraints.gridwidth = 2; 1685 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 1686 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 1687 gridBagConstraints.weightx = 1.0; 1688 gridBagConstraints.weighty = 1.0; 1689 gridBagConstraints.insets = new java.awt.Insets (0, 4, 4, 4); 1690 jPanelXMLA.add(jComboBoxXMLACube, gridBagConstraints); 1691 1692 jPanelConnectionRoot.add(jPanelXMLA, java.awt.BorderLayout.SOUTH); 1693 1694 jPanel1.add(jPanelConnectionRoot, java.awt.BorderLayout.CENTER); 1695 1696 jPanelButtons.setLayout(new java.awt.FlowLayout (java.awt.FlowLayout.RIGHT)); 1697 1698 jButtonOK.setMnemonic('s'); 1699 jButtonOK.setText("Save"); 1700 jButtonOK.addActionListener(new java.awt.event.ActionListener () { 1701 public void actionPerformed(java.awt.event.ActionEvent evt) { 1702 jButtonOKActionPerformed(evt); 1703 } 1704 }); 1705 1706 jPanelButtons.add(jButtonOK); 1707 1708 jButtonCancel.setMnemonic('c'); 1709 jButtonCancel.setText("Cancel"); 1710 jButtonCancel.addActionListener(new java.awt.event.ActionListener () { 1711 public void actionPerformed(java.awt.event.ActionEvent evt) { 1712 jButtonCancelActionPerformed(evt); 1713 } 1714 }); 1715 1716 jPanelButtons.add(jButtonCancel); 1717 1718 jButtonOK1.setMnemonic('t'); 1719 jButtonOK1.setText("Test"); 1720 jButtonOK1.addActionListener(new java.awt.event.ActionListener () { 1721 public void actionPerformed(java.awt.event.ActionEvent evt) { 1722 jButtonOK1ActionPerformed(evt); 1723 } 1724 }); 1725 1726 jPanelButtons.add(jButtonOK1); 1727 1728 jPanel1.add(jPanelButtons, java.awt.BorderLayout.SOUTH); 1729 1730 getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); 1731 1732 java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 1733 setBounds((screenSize.width-403)/2, (screenSize.height-440)/2, 403, 440); 1734 } 1736 private void jButtonGetXMLAMetadataActionPerformed(java.awt.event.ActionEvent evt) { jComboBoxXMLADatasource.removeActionListener(dsListener); 1738 jComboBoxXMLACatalog.removeActionListener(catListener); 1739 1740 String urlstr = this.jTextFieldXMLAUrl.getText().trim(); 1741 rex.metadata.ServerMetadata smd = new rex.metadata.ServerMetadata(urlstr,(Component )getParent()); 1742 if (smd.isValidUrl() == false) { 1743 JOptionPane.showMessageDialog((Component )getParent(), 1744 I18n.getString("messages.connectionDialog.xmla.invalidUrl","Unable to connect to XMLA server.") ,"",JOptionPane.INFORMATION_MESSAGE); 1745 return; 1746 } 1747 this.jComboBoxXMLADatasource.removeAllItems(); 1748 this.jComboBoxXMLACatalog.removeAllItems(); 1749 this.jComboBoxXMLACube.removeAllItems(); 1750 rex.graphics.datasourcetree.elements.DataSourceTreeElement dste[] = smd.discoverDataSources(); 1751 if (dste == null) { 1752 JOptionPane.showMessageDialog((Component )getParent(), 1753 "No Datasources found.","",JOptionPane.INFORMATION_MESSAGE); 1754 return; 1755 } 1756 for (int i=0;i<dste.length;i++){ 1757 this.jComboBoxXMLADatasource.addItem(dste[i].getDataSourceInfo()); 1758 } 1759 rex.graphics.datasourcetree.elements.DataSourceTreeElement catalogs[] = dste[0].getChildren(); 1760 if (catalogs == null || catalogs.length == 0) { 1761 return; 1762 } 1763 this.jComboBoxXMLACatalog.removeAllItems(); 1764 for (int i = 0;i<catalogs.length;i++){ 1765 this.jComboBoxXMLACatalog.addItem(((rex.graphics.datasourcetree.elements.CatalogElement)catalogs[i]).toString()); 1766 } 1767 rex.graphics.datasourcetree.elements.DataSourceTreeElement cubes[] = catalogs[0].getChildren(); 1769 if(cubes ==null || cubes.length==0){ 1770 return; 1771 } 1772 this.jComboBoxXMLACube.removeAllItems(); 1773 for(int i=0;i<cubes.length; i++){ 1774 this.jComboBoxXMLACube.addItem(((rex.graphics.datasourcetree.elements.CubeElement)cubes[i]).toString()); 1775 } 1776 jComboBoxXMLADatasource.addActionListener(dsListener); 1777 jComboBoxXMLACatalog.addActionListener(catListener); 1778 } 1780 private void jTableCustomPropertiesMouseClicked(java.awt.event.MouseEvent evt) { 1782 jButtonRemoveProp.setEnabled( jTableCustomProperties.getSelectedRow() >= 0 ); 1783 1784 } 1786 private void jButtonRemovePropActionPerformed(java.awt.event.ActionEvent evt) { 1788 if (jTableCustomProperties.getSelectedRow() >= 0) 1789 { 1790 ((DefaultTableModel )jTableCustomProperties.getModel()).removeRow( jTableCustomProperties.getSelectedRow() ); 1791 jButtonRemoveProp.setEnabled( jTableCustomProperties.getSelectedRow() >= 0 ); 1792 } 1793 } 1795 private void jButtonAddPropActionPerformed(java.awt.event.ActionEvent evt) { 1797 ((DefaultTableModel )jTableCustomProperties.getModel()).addRow(new Object []{"name","value"}); 1798 1799 } 1801 private void jRadioButtonXML_connectionActionPerformed(java.awt.event.ActionEvent evt) { 1803 XMLDataSourceCheckBoxesChanged(); 1804 1805 } 1807 1808 public void XMLDataSourceCheckBoxesChanged() 1809 { 1810 jTextFieldRecordPath.setEnabled( jRadioButtonXML_datasource.isSelected() ); 1811 jLabelXMLRecordPath.setEnabled( jRadioButtonXML_datasource.isSelected() ); 1812 } 1813 private void jButtonBrowseCatalogActionPerformed(java.awt.event.ActionEvent evt) { 1815 String fileName = ""; 1816 javax.swing.JFileChooser jfc = new javax.swing.JFileChooser ( MainFrame.getMainInstance().getCurrentDirectory()); 1817 1818 jfc.setDialogTitle("Select file...."); 1819 1820 jfc.addChoosableFileFilter( new javax.swing.filechooser.FileFilter () { 1821 public boolean accept(java.io.File file) { 1822 String filename = file.getName(); 1823 return (filename.toLowerCase().endsWith(".xml") || file.isDirectory()) ; 1824 } 1825 public String getDescription() { 1826 return "XML *.xml"; 1827 } 1828 }); 1829 1830 jfc.setMultiSelectionEnabled(false); 1831 jfc.setDialogType( javax.swing.JFileChooser.OPEN_DIALOG); 1832 if (jfc.showOpenDialog( this) == javax.swing.JOptionPane.OK_OPTION) { 1833 java.io.File file = jfc.getSelectedFile(); 1834 try { 1835 jTextFieldCatalogURI.setText( file.toURI() + ""); 1836 } catch (Exception ex){} 1837 } 1838 1839 1840 } 1842 private void jListCVSColumnsValueChanged(javax.swing.event.ListSelectionEvent evt) { 1844 if (jListCVSColumns.getSelectedIndex() >= 0) 1845 { 1846 jButtonModifyParameter.setEnabled(true); 1847 jButtonDeleteParameter.setEnabled(true); 1848 } 1849 else 1850 { 1851 jButtonModifyParameter.setEnabled(false); 1852 jButtonDeleteParameter.setEnabled(false); 1853 } 1854 1855 } 1857 private void jListCVSColumnsMouseClicked(java.awt.event.MouseEvent evt) { 1859 if (evt.getClickCount() == 2 && evt.getButton() == evt.BUTTON1) 1860 { 1861 jButtonModifyParameterActionPerformed1(null); 1862 } 1863 1864 } 1866 private void jCheckBoxCVSDateFormatActionPerformed1(java.awt.event.ActionEvent evt) { } 1870 private void jButtonNewParameterActionPerformed11(java.awt.event.ActionEvent evt) { 1872 try { 1873 JRCsvDataSourceInspector ds = new JRCsvDataSourceInspector(new File ( jTextFieldCSVFilename.getText())); 1874 1875 if (jRadioButtonCVSSeparatorComma.isSelected()) ds.setFieldDelimiter(','); 1876 if (jRadioButtonCVSSeparatorTab.isSelected()) ds.setFieldDelimiter('\t'); 1877 if (jRadioButtonCVSSeparatorSpace.isSelected()) ds.setFieldDelimiter(' '); 1878 if (jRadioButtonCVSSeparatorSemicolon.isSelected()) ds.setFieldDelimiter(';'); 1879 if (jRadioButtonCVSSeparatorNewLine.isSelected()) ds.setFieldDelimiter('\n'); 1880 if (jRadioButtonCVSSeparatorOther.isSelected()) ds.setFieldDelimiter((jTextFieldCVSSeparatorText.getText()+" ").charAt(0)); 1881 1882 if (jRadioButtonCVSSeparatorComma1.isSelected()) ds.setRecordDelimiter(","); 1883 if (jRadioButtonCVSSeparatorTab1.isSelected()) ds.setRecordDelimiter("\t"); 1884 if (jRadioButtonCVSSeparatorSpace1.isSelected()) ds.setRecordDelimiter(" "); 1885 if (jRadioButtonCVSSeparatorSemicolon1.isSelected()) ds.setRecordDelimiter(";"); 1886 if (jRadioButtonCVSSeparatorNewLine1.isSelected()) ds.setRecordDelimiter("\n"); 1887 if (jRadioButtonCVSSeparatorOther1.isSelected()) ds.setRecordDelimiter(jTextFieldCVSSeparatorText1.getText()); 1888 1889 DefaultListModel dlm = (DefaultListModel)jListCVSColumns.getModel(); 1890 dlm.removeAllElements(); 1891 1892 Vector names = ds.getColumnNames(); 1893 for (int i=0; i < names.size(); ++i ) 1894 { 1895 String fname = (names.elementAt(i)+"").trim(); 1896 if (fname.length() > 0) 1897 dlm.addElement(fname); 1898 } 1899 1900 if (names.size() > 0) 1901 { 1902 jListCVSColumns.setSelectedIndex(0); 1903 } 1904 1905 } catch (Exception ex) 1906 { 1907 JOptionPane.showMessageDialog(this,ex.getMessage(), I18n.getString("message.title.exception","Exception"), JOptionPane.ERROR_MESSAGE); 1908 } 1909 1910 } 1912 private void jButtonDeleteParameterActionPerformed1(java.awt.event.ActionEvent evt) { 1914 DefaultListModel dlm = (DefaultListModel)jListCVSColumns.getModel(); 1916 Object [] values = jListCVSColumns.getSelectedValues(); 1917 1918 for (int i=0; i<values.length; ++i) 1919 { 1920 dlm.removeElement(values[i]); 1921 } 1922 } 1924 private void jButtonModifyParameterActionPerformed1(java.awt.event.ActionEvent evt) { 1926 int index = jListCVSColumns.getSelectedIndex(); 1927 1928 if (index < 0) return; 1929 1930 DefaultListModel dlm = (DefaultListModel)jListCVSColumns.getModel(); 1931 String oldName = (String )dlm.getElementAt(index); 1932 1933 String name = JOptionPane.showInputDialog(this, I18n.getString("connectionDialog.input.columnName","Column name" ), oldName); 1934 1935 if (name != null) 1936 { 1937 dlm.setElementAt(name, index); 1938 } 1939 } 1941 private void jButtonNewParameterActionPerformed1(java.awt.event.ActionEvent evt) { 1943 DefaultListModel dlm = (DefaultListModel)jListCVSColumns.getModel(); 1944 String name = JOptionPane.showInputDialog(this, I18n.getString("connectionDialog.input.columnName","Column name" ), "COLUMN_" + dlm.getSize()); 1945 1946 if (name != null) 1947 { 1948 dlm.addElement(name); 1949 } 1950 1951 if (dlm.size() == 1) 1952 { 1953 jListCVSColumns.setSelectedIndex(0); 1954 } 1955 } 1957 private void jTextFieldCVSSeparatorText1ActionPerformed(java.awt.event.ActionEvent evt) { 1959 if (this.jTextFieldCVSSeparatorText1.getText().length() > 0) 1960 this.jRadioButtonCVSSeparatorOther1.setSelected(true); 1961 } 1963 private void jTextFieldCVSSeparatorTextActionPerformed(java.awt.event.ActionEvent evt) { 1965 if (this.jTextFieldCVSSeparatorText.getText().length() > 0) 1966 this.jRadioButtonCVSSeparatorOther.setSelected(true); 1967 1968 } 1970 private void jButtonCVSDateFormatActionPerformed(java.awt.event.ActionEvent evt) { 1972 FieldPatternDialog fpd = new FieldPatternDialog(this, true); 1973 fpd.setOnlyDate(true); 1974 1975 fpd.setVisible(true); 1976 if (fpd.getDialogResult() == JOptionPane.OK_OPTION) 1977 { 1978 jTextFieldCVSDateFormat.setText( fpd.getPattern() ); 1979 } 1980 1981 } 1983 private void jCheckBoxCVSDateFormatActionPerformed(java.awt.event.ActionEvent evt) { 1985 jTextFieldCVSDateFormat.setEnabled( this.jCheckBoxCVSDateFormat.isSelected()); 1986 jButtonCVSDateFormat.setEnabled( this.jCheckBoxCVSDateFormat.isSelected() ); 1987 1988 if (!this.jCheckBoxCVSDateFormat.isSelected()) 1989 { 1990 jTextFieldCVSDateFormat.setText( new SimpleDateFormat ().toPattern()); 1991 } 1992 1993 } 1995 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { String fileName = ""; 1997 javax.swing.JFileChooser jfc = new javax.swing.JFileChooser ( MainFrame.getMainInstance().getCurrentDirectory()); 1998 1999 jfc.setDialogTitle("Select XML file...."); 2000 2001 jfc.addChoosableFileFilter( new javax.swing.filechooser.FileFilter () { 2002 public boolean accept(java.io.File file) { 2003 String filename = file.getName(); 2004 return (filename.toLowerCase().endsWith(".xml") || file.isDirectory()) ; 2005 } 2006 public String getDescription() { 2007 return "XML *.xml"; 2008 } 2009 }); 2010 2011 jfc.setMultiSelectionEnabled(false); 2012 jfc.setDialogType( javax.swing.JFileChooser.OPEN_DIALOG); 2013 if (jfc.showOpenDialog( this) == javax.swing.JOptionPane.OK_OPTION) { 2014 java.io.File file = jfc.getSelectedFile(); 2015 try { 2016 jTextFieldXMLFile.setText( file.getAbsolutePath() ); 2017 } catch (Exception ex){} 2018 } 2019 2020 2021 } 2023 private void jButtonCSVFilenameActionPerformed(java.awt.event.ActionEvent evt) { String fileName = ""; 2025 javax.swing.JFileChooser jfc = new javax.swing.JFileChooser ( MainFrame.getMainInstance().getCurrentDirectory()); 2026 2027 jfc.setDialogTitle("Select CSV file...."); 2028 2029 jfc.addChoosableFileFilter( new javax.swing.filechooser.FileFilter () { 2030 public boolean accept(java.io.File file) { 2031 String filename = file.getName(); 2032 return (filename.toLowerCase().endsWith(".csv") || file.isDirectory()) ; 2033 } 2034 public String getDescription() { 2035 return "CSV *.csv"; 2036 } 2037 }); 2038 2039 jfc.setMultiSelectionEnabled(false); 2040 jfc.setDialogType( javax.swing.JFileChooser.OPEN_DIALOG); 2041 if (jfc.showOpenDialog( this) == javax.swing.JOptionPane.OK_OPTION) { 2042 java.io.File file = jfc.getSelectedFile(); 2043 try { 2044 jTextFieldCSVFilename.setText( file.getAbsolutePath() ); 2045 } catch (Exception ex){} 2046 } 2047 2048 2049 2050 } 2052 private void jComboBoxJDBCDriverActionPerformed(java.awt.event.ActionEvent evt) { jButtonWizardActionPerformed(null); 2055 } 2057 private void jRadioButtonJBSetArrayActionPerformed(java.awt.event.ActionEvent evt) { } 2061 private void jButtonOK1ActionPerformed(java.awt.event.ActionEvent evt) { MainFrame.getMainInstance().getReportClassLoader().rescanLibDirectory(); 2065 2066 int selectedConnectionType = Integer.parseInt( ""+ ((Tag)jComboBoxConnectionType.getSelectedItem()).getValue() ); 2067 2068 if (selectedConnectionType == 0) 2069 { 2070 2071 Connection conn = null; 2073 Statement stmt = null; 2074 try { 2075 try { 2076 DriverPool.registerDriver( (String )jComboBoxJDBCDriver.getSelectedItem(), MainFrame.getMainInstance().getReportClassLoader() ); 2077 } catch (Exception ex) 2078 { 2079 DriverPool.registerDriver( (String )jComboBoxJDBCDriver.getSelectedItem(), this.getClass().getClassLoader() ); 2080 } 2081 2082 java.sql.Driver driver = DriverPool.getDriver( this.jTextFieldJDBCUrl.getText() ); 2083 2084 java.util.Properties connectProps = new java.util.Properties (); 2085 connectProps.setProperty("user", this.jTextFieldUsername.getText()); 2086 connectProps.setProperty("password", this.jTextFieldPassword.getText()); 2087 2088 conn = driver.connect( this.jTextFieldJDBCUrl.getText(), connectProps); 2089 stmt = conn.createStatement(); 2090 2091 }catch (NoClassDefFoundError ex) 2092 { 2093 JOptionPane.showMessageDialog((Component )getParent(), 2094 I18n.getFormattedString("messages.connection.noClassDefFoundError", 2095 "{0}\nNoClassDefFoundError!!\nCheck your classpath!\n{1}", 2096 new Object []{"", ""+ex.getMessage()}), 2097 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2098 return; 2099 } 2100 catch (ClassNotFoundException ex) 2101 { 2102 JOptionPane.showMessageDialog((Component )getParent(), 2103 I18n.getFormattedString("messages.connection.classNotFoundError", 2104 "{0}\nClassNotFoundError!\nMsg: {1}\nPossible not found class: {2}\nCheck your classpath!", 2105 new Object []{"", ""+ex.getMessage(), "" + jComboBoxJDBCDriver.getSelectedItem()}), 2106 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2107 return; 2108 } 2109 catch (java.sql.SQLException ex) 2110 { 2111 JOptionPane.showMessageDialog((Component )getParent(), 2112 I18n.getFormattedString("messages.connection.sqlError", 2113 "{0}\nSQL problems: {1}\n{2}", 2114 new Object []{"", ""+ex.getMessage(), "" + this.jTextFieldJDBCUrl.getText()}), 2115 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2116 return; 2117 } 2118 catch (Exception ex) 2119 { 2120 JOptionPane.showMessageDialog(MainFrame.getMainInstance(), 2121 I18n.getFormattedString("messages.connection.generalError", 2122 "{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!", 2123 new Object []{"", ""+ex.getMessage()}), 2124 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2125 return; 2126 } finally { 2127 if( stmt!=null ) try{ stmt.close(); } catch(Exception e) { } 2129 if( conn!=null ) try{ conn.close(); } catch(Exception e) { } 2130 } 2131 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2132 return; 2133 } 2134 else if (selectedConnectionType == 1) 2135 { 2136 String xml_file = jTextFieldXMLFile.getText().trim(); 2137 2138 try { 2139 2140 java.io.File f = new java.io.File (xml_file); 2141 if (!f.exists()) 2142 { 2143 JOptionPane.showMessageDialog((Component )getParent(), 2144 I18n.getFormattedString("messages.connectionDialog.fileNotFound","File {0} not found", new Object []{xml_file}), 2145 I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2146 return; 2147 } 2148 2149 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2150 return; 2151 } 2152 catch (Exception ex) 2153 { 2154 JOptionPane.showMessageDialog((Component )getParent(),ex.getMessage(),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2155 ex.printStackTrace(); 2156 return; 2157 } 2158 2159 } 2160 else if (selectedConnectionType == 3) 2161 { 2162 try { 2163 Object obj = Class.forName((String )jTextFieldJRCustomDataSourceFactoryClass.getText().trim(), true, MainFrame.getMainInstance().getReportClassLoader()).newInstance(); 2164 obj.getClass().getMethod( (String )jTextFieldJRCustomDataSourceMethod.getText().trim(), new Class [0]).invoke(obj,new Object [0]); 2165 }catch (NoClassDefFoundError ex) 2166 { 2167 JOptionPane.showMessageDialog((Component )getParent(), 2168 I18n.getFormattedString("messages.connection.noClassDefFoundError", 2169 "{0}\nNoClassDefFoundError!!\nCheck your classpath!\n{1}", 2170 new Object []{"", ""+ex.getMessage()}), 2171 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2172 return; 2173 } 2174 catch (ClassNotFoundException ex) 2175 { 2176 JOptionPane.showMessageDialog((Component )getParent(), 2177 I18n.getFormattedString("messages.connection.classNotFoundError", 2178 "{0}\nClassNotFoundError!\nMsg: {1}\nPossible not found class: {2}\nCheck your classpath!", 2179 new Object []{"", ""+ex.getMessage(), "" + jTextFieldJRCustomDataSourceFactoryClass.getText().trim()}), 2180 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2181 return; 2182 } 2183 catch (Exception ex) 2184 { 2185 JOptionPane.showMessageDialog(MainFrame.getMainInstance(), 2186 I18n.getFormattedString("messages.connection.generalError", 2187 "{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!", 2188 new Object []{"", ""+ex.getMessage()}), 2189 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2190 return; 2191 } 2192 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2193 return; 2194 } 2195 else if (selectedConnectionType == 2) 2196 { 2197 try { 2198 Object obj = Class.forName((String )jTextFieldJBSetFactoryClass.getText().trim(), true, MainFrame.getMainInstance().getReportClassLoader()).newInstance(); 2199 Object ret_obj = obj.getClass().getMethod( (String )jTextFieldJBSetMethodToCall.getText().trim(), new Class [0]).invoke(null,new Object [0]); 2200 2201 if (ret_obj != null && !jRadioButtonJBSetArray.isSelected() && (ret_obj instanceof java.util.Collection )) 2202 { 2203 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2204 } 2205 else if (ret_obj != null && jRadioButtonJBSetArray.isSelected() && (ret_obj instanceof Object [])) 2206 { 2207 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2208 } 2209 else 2210 { 2211 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.notValidValueReturned", 2212 "The method don't return a valid Array or java.util.Collection!\n"),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2213 } 2214 2215 }catch (NoClassDefFoundError ex) 2216 { 2217 JOptionPane.showMessageDialog((Component )getParent(), 2218 I18n.getFormattedString("messages.connection.noClassDefFoundError", 2219 "{0}\nNoClassDefFoundError!!\nCheck your classpath!\n{1}", 2220 new Object []{"", ""+ex.getMessage()}), 2221 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2222 return; 2223 } 2224 catch (ClassNotFoundException ex) 2225 { 2226 JOptionPane.showMessageDialog((Component )getParent(), 2227 I18n.getFormattedString("messages.connection.classNotFoundError", 2228 "{0}\nClassNotFoundError!\nMsg: {1}\nPossible not found class: {2}\nCheck your classpath!", 2229 new Object []{"", ""+ex.getMessage(), "" + jTextFieldJBSetFactoryClass.getText().trim()}), 2230 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2231 return; 2232 } 2233 catch (Exception ex) 2234 { 2235 JOptionPane.showMessageDialog(MainFrame.getMainInstance(), 2236 I18n.getFormattedString("messages.connection.generalError", 2237 "{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!", 2238 new Object []{"", ""+ex.getMessage()}), 2239 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2240 return; 2241 } 2242 2243 return; 2244 } 2245 else if (selectedConnectionType == 4) 2246 { 2247 String csv_file = jTextFieldCSVFilename.getText().trim(); 2248 2249 try { 2250 2251 JRCSVDataSourceConnection con = new JRCSVDataSourceConnection(); 2252 java.io.File f = new java.io.File (csv_file); 2253 if (!f.exists()) 2254 { 2255 JOptionPane.showMessageDialog((Component )getParent(), 2256 I18n.getFormattedString("messages.connectionDialog.fileNotFound","File {0} not found", new Object []{csv_file}), 2257 I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2258 return; 2259 } 2260 2261 con.setFilename( csv_file ); 2262 if (con.getJRDataSource() != null) 2263 { 2264 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2265 return; 2266 } 2267 2268 } 2269 catch (Exception ex) 2270 { 2271 JOptionPane.showMessageDialog((Component )getParent(),ex.getMessage(),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2272 ex.printStackTrace(); 2273 return; 2274 } 2275 2276 return; 2277 } 2278 else if (selectedConnectionType == 5) 2279 { 2280 try { 2281 2282 Object obj = Class.forName((String )jTextFieldJRDataSourceProvider.getText().trim(), true, MainFrame.getMainInstance().getReportClassLoader()).newInstance(); 2283 if (!(obj instanceof net.sf.jasperreports.engine.JRDataSourceProvider)) 2284 { 2285 JOptionPane.showMessageDialog((Component )getParent(),I18n.getFormattedString("messages.connectionDialog.invalidJRDataSourceProvider","\"{0}\" is not a subclass of\nnet.sf.jasperreports.engine.JRDataSourceProvider.", new Object []{jTextFieldJRDataSourceProvider.getText()}),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2286 return; 2287 } 2288 else 2289 { 2290 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2291 return; 2292 } 2293 2294 } catch (NoClassDefFoundError ex) 2295 { 2296 JOptionPane.showMessageDialog((Component )getParent(), 2297 I18n.getFormattedString("messages.connection.noClassDefFoundError", 2298 "{0}\nNoClassDefFoundError!!\nCheck your classpath!\n{1}", 2299 new Object []{"", ""+ex.getMessage()}), 2300 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2301 return; 2302 } 2303 catch (ClassNotFoundException ex) 2304 { 2305 JOptionPane.showMessageDialog((Component )getParent(), 2306 I18n.getFormattedString("messages.connection.classNotFoundError", 2307 "{0}\nClassNotFoundError!\nMsg: {1}\nPossible not found class: {2}\nCheck your classpath!", 2308 new Object []{"", ""+ex.getMessage(), "" + jTextFieldJBSetFactoryClass.getText().trim()}), 2309 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2310 return; 2311 } 2312 catch (Exception ex) 2313 { 2314 JOptionPane.showMessageDialog(MainFrame.getMainInstance(), 2315 I18n.getFormattedString("messages.connection.generalError", 2316 "{0}\nGeneral problem: {1}\nPlease check your username and password. The DBMS is running?!", 2317 new Object []{"", ""+ex.getMessage()}), 2318 I18n.getString("message.title.exception","Exception"),JOptionPane.ERROR_MESSAGE); 2319 return; 2320 } 2321 } 2322 else if (selectedConnectionType == 6) 2323 { 2324 try { 2325 SwingUtilities.invokeLater( new Runnable () 2326 { 2327 public void run() 2328 { 2329 Thread.currentThread().setContextClassLoader( MainFrame.getMainInstance().getReportClassLoader() ); 2330 SessionFactory hb_sessionFactory = null; 2331 try { 2332 2333 hb_sessionFactory = new Configuration().configure().buildSessionFactory(); 2334 2335 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2336 2337 } catch (Exception ex) 2338 { 2339 ex.printStackTrace(); 2340 JOptionPane.showMessageDialog((Component )getParent(),ex.getMessage(),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2341 return; 2342 } 2343 finally 2344 { 2345 2346 } 2347 } 2348 }); 2349 } catch (Exception ex) 2350 {} 2351 } 2352 else if (selectedConnectionType == 7) 2353 { 2354 try { 2355 SwingUtilities.invokeLater( new Runnable () 2356 { 2357 public void run() 2358 { 2359 2360 Thread.currentThread().setContextClassLoader( MainFrame.getMainInstance().getReportClassLoader() ); 2361 SessionFactory hb_sessionFactory = null; 2362 try { 2363 2364 EJBQLConnection iReportConn = new EJBQLConnection(); 2365 if (jTextFieldPersistanceUnit.getText().trim().length() != 0) 2366 { 2367 iReportConn.getProperties().put("PersistenceUnit", jTextFieldPersistanceUnit.getText().trim()); 2368 } 2369 2370 iReportConn.getEntityManager(); 2371 iReportConn.closeEntityManager(); 2372 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2373 2374 } catch (Exception ex) 2375 { 2376 ex.printStackTrace(); 2377 JOptionPane.showMessageDialog((Component )getParent(),ex.getMessage(),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2378 return; 2379 } 2380 finally 2381 { 2382 2383 } 2384 2385 } 2386 }); 2387 } catch (Exception ex) 2388 {} 2389 } 2390 else if (selectedConnectionType == 8) 2391 { 2392 try { 2393 SwingUtilities.invokeLater( new Runnable () 2394 { 2395 public void run() 2396 { 2397 2398 2399 Thread.currentThread().setContextClassLoader( MainFrame.getMainInstance().getReportClassLoader() ); 2400 try { 2401 2402 MondrianConnection iReportConn = new MondrianConnection(); 2403 iReportConn.getProperties().put(MondrianConnection.CATALOG_URI, jTextFieldCatalogURI.getText().trim()); 2404 iReportConn.getProperties().put(MondrianConnection.CONNECTION_NAME, jComboBoxMondrianJdbc.getSelectedItem()+""); 2405 2406 2407 iReportConn.getMondrianConnection(); 2408 iReportConn.closeMondrianConnection(); 2409 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2410 2411 } catch (Exception ex) 2412 { 2413 ex.printStackTrace(); 2414 JOptionPane.showMessageDialog((Component )getParent(),ex.getMessage(),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2415 return; 2416 } 2417 finally 2418 { 2419 2420 } 2421 } 2422 }); 2423 } catch (Exception ex) 2424 {} 2425 } 2426 else if (selectedConnectionType == 9) { 2427 try { 2428 Thread.currentThread().setContextClassLoader( MainFrame.getMainInstance().getReportClassLoader() ); 2429 JRSpringLoadedHibernateConnection iReportConn = new JRSpringLoadedHibernateConnection(); 2430 iReportConn.setSessionFactoryBeanId(jTextFieldSLHSessionFactory.getText().trim()); 2431 iReportConn.setSpringConfig(jTextFieldSLHSpringConfig.getText().trim()); 2432 2433 SessionFactory sf = iReportConn.getSessionFactory(); 2434 if (sf == null) { 2435 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.noSessionFactoryReturned","No session factory returned. Check your session factory bean id against the spring configuration."),I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2436 2437 } 2438 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.hibernateConnectionTestSuccessful","iReport successfully created a Hibernate session factory from your Spring configuration."),"",JOptionPane.INFORMATION_MESSAGE); 2439 } catch (Exception e) { 2440 e.printStackTrace(); 2441 JOptionPane.showMessageDialog((Component )getParent(),e.getMessage(), I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2442 2443 } 2444 } 2445 else if (selectedConnectionType == 10) 2446 { 2447 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2448 return; 2449 } 2450 else if (selectedConnectionType == 11) 2451 { 2452 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2453 return; 2454 } 2455 else if (selectedConnectionType == 13) 2456 { 2457 2463 String urlstr = this.jTextFieldXMLAUrl.getText().trim(); 2464 2465 String dataSource = (String )this.jComboBoxXMLADatasource.getSelectedItem(); 2466 String catalog = (String )this.jComboBoxXMLACatalog.getSelectedItem(); 2467 rex.metadata.ServerMetadata smd = new rex.metadata.ServerMetadata(urlstr,(Component )getParent()); 2468 if (smd.isValidUrl() == false) { 2469 JOptionPane.showMessageDialog((Component )getParent(), 2470 I18n.getString("messages.connectionDialog.connectionXMLATestFailed.InvalidUrl","Connection test failed! Unable to connect to url."), 2471 "",JOptionPane.INFORMATION_MESSAGE); 2472 return; 2473 } 2474 rex.graphics.datasourcetree.elements.DataSourceTreeElement dste[] = smd.discoverDataSources(); 2475 if (dste == null || dste.length == 0) { 2476 JOptionPane.showMessageDialog((Component )getParent(), 2477 I18n.getString("messages.connectionDialog.connectionXMLATestFailed.NoDatasources","Connection test failed! No datasources found."), 2478 "",JOptionPane.INFORMATION_MESSAGE); 2479 return; 2480 } 2481 boolean found = false; 2482 int intI =0; 2483 if (dataSource != null && dataSource.length() > 0) { 2484 while (!found && intI < dste.length) { 2485 if (dataSource.compareTo(dste[intI].getDataSourceInfo()) == 0){ 2486 found = true; 2487 } else { 2488 intI++; 2489 } 2490 } 2491 if (!found) { 2492 JOptionPane.showMessageDialog((Component )getParent(), 2493 I18n.getFormattedString("messages.connectionDialog.connectionXMLATestFailed.NoDatasourceFound","Connection test failed! Datasource {0} not found.", new Object []{dataSource+""} ), 2494 "",JOptionPane.INFORMATION_MESSAGE); 2495 return; 2496 } 2497 if (catalog != null && catalog.length() > 0) { 2498 found = false; 2499 rex.graphics.datasourcetree.elements.DataSourceTreeElement cats[] = dste[intI].getChildren(); 2500 if (cats == null || cats.length == 0) { 2501 JOptionPane.showMessageDialog((Component )getParent(), 2502 I18n.getString("messages.connectionDialog.connectionXMLATestFailed.NoCatalogs","Connection test failed! No catalogs found in datasource."), 2503 "",JOptionPane.INFORMATION_MESSAGE); 2504 return; 2505 } 2506 intI = 0; 2507 while (!found && intI < cats.length) { 2508 if (catalog.compareTo( 2509 ((rex.graphics.datasourcetree.elements.CatalogElement)cats[intI]).toString()) == 0){ 2510 found = true; 2511 } 2512 else{ 2513 intI++; 2514 } 2515 } 2516 if (!found) { 2517 JOptionPane.showMessageDialog((Component )getParent(), 2518 I18n.getFormattedString("messages.connectionDialog.connectionXMLATestFailed.NoCatalogFound","Connection test failed! Catalog {0} not found in datasource.", new Object []{catalog+""} ), 2519 "",JOptionPane.INFORMATION_MESSAGE); 2520 return; 2521 } 2522 } 2523 else { 2524 JOptionPane.showMessageDialog((Component )getParent(), 2525 I18n.getString("messages.connectionDialog.connectionXMLATestSuccessful.NoCatalog","Connection test successful! Connected to server and found datasource, but no catalog specified."), 2526 "",JOptionPane.INFORMATION_MESSAGE); 2527 return; 2528 } 2529 } 2530 else { 2531 JOptionPane.showMessageDialog((Component )getParent(), 2532 I18n.getString("messages.connectionDialog.connectionXMLATestSuccessful.NoDatasource","Connection test successful! Connected to server, but no datasource specified."), 2533 "",JOptionPane.INFORMATION_MESSAGE); 2534 return; 2535 } 2536 JOptionPane.showMessageDialog((Component )getParent(), 2537 I18n.getString("messages.connectionDialog.connectionXMLATestSuccessful","Connection test successful! Catalog found in datasource on xmla server."), 2538 "",JOptionPane.INFORMATION_MESSAGE); 2539 2540 2541 } 2544 else 2545 { 2546 try { 2548 IReportConnection connection = createConnection(selectedConnectionType); 2549 if (connection == null) throw new Exception (I18n.getString("messages.connectionDialog.connectionTestError","unable to instance the connecion class to test!")); 2550 2551 connection.test(); 2552 JOptionPane.showMessageDialog((Component )getParent(),I18n.getString("messages.connectionDialog.connectionTestSuccessful","Connection test successful!"),"",JOptionPane.INFORMATION_MESSAGE); 2553 } catch (Throwable e) { 2554 e.printStackTrace(); 2555 JOptionPane.showMessageDialog((Component )getParent(),e.getMessage(), I18n.getString("message.title.error","Error"),JOptionPane.ERROR_MESSAGE); 2556 } 2557 } 2558 2559 2560 } 2562 private void jButtonWizardActionPerformed(java.awt.event.ActionEvent evt) { 2564 if (jComboBoxJDBCDriver.getSelectedIndex() < 0) return; 2565 String driver = ""+jComboBoxJDBCDriver.getSelectedItem(); 2566 driver = driver.trim(); 2567 if (driver.equals("")) return; 2568 2569 String server = jTextFieldServerAddress.getText().trim(); 2570 if( server.length()==0 ) { 2571 server = "localhost"; 2572 } 2573 2574 String databaseName = jTextFieldDBName.getText().trim(); 2575 2576 if (driver.equalsIgnoreCase("org.gjt.mm.mysql.Driver")) { 2577 String url = "jdbc:mysql://" + server + "/"; 2578 if ( databaseName.length()>0 ) 2579 url += databaseName; 2580 else 2581 url += "MYDATABASE"; 2582 jTextFieldJDBCUrl.setText(url); 2583 } 2584 else if (driver.equalsIgnoreCase("com.mysql.jdbc.Driver")) { 2585 String url = "jdbc:mysql://" + server + "/"; 2586 if (databaseName.length()>0) 2587 url += databaseName; 2588 else 2589 url += "MYDATABASE"; 2590 jTextFieldJDBCUrl.setText(url); 2591 } 2592 else if (driver.equalsIgnoreCase("com.internetcds.jdbc.tds.Driver")) { 2593 String url = "jdbc:freetds:sqlserver://localhost/"; 2594 if (databaseName.length()>0) 2595 url += databaseName; 2596 else 2597 url += "MYDATABASE"; 2598 jTextFieldJDBCUrl.setText(url); 2599 } 2600 else if (driver.equalsIgnoreCase("com.microsoft.jdbc.sqlserver.SQLServerDriver")) { 2601 String url = "jdbc:microsoft:sqlserver://" + server + ":1433;DatabaseName="; 2602 if (databaseName.length()>0) 2603 url += databaseName; 2604 else 2605 url += "MYDATABASE"; 2606 jTextFieldJDBCUrl.setText(url); 2607 } 2608 else if (driver.equalsIgnoreCase("sun.jdbc.odbc.JdbcOdbcDriver")) { 2609 String url = "jdbc:odbc:"; 2610 if (databaseName.length()>0) 2611 url += jTextFieldDBName.getText(); 2612 else 2613 url += "DSNAME"; 2614 jTextFieldJDBCUrl.setText(url); 2615 } 2616 else if (driver.equalsIgnoreCase("com.ms.jdbc.odbc.JdbcOdbcDriver")) { 2617 String url = "jdbc:odbc:"; 2618 if (databaseName.length()>0) 2619 url += databaseName; 2620 else 2621 url += "DSNAME"; 2622 jTextFieldJDBCUrl.setText(url); 2623 } 2624 else if (driver.equalsIgnoreCase("oracle.jdbc.driver.OracleDriver")) { 2625 String url = "jdbc:oracle:thin:@" + server + ":1521:"; 2626 if (databaseName.length()>0) 2627 url += databaseName; 2628 else 2629 url += "MYDATABASE"; 2630 jTextFieldJDBCUrl.setText(url); 2631 } 2632 else if (driver.equalsIgnoreCase("COM.ibm.db2.jdbc.app.DB2Driver")) { 2633 String url = "jdbc:db2:"; 2634 if (databaseName.length()>0) 2635 url += databaseName; 2636 else 2637 url += "MYDATABASE"; 2638 jTextFieldJDBCUrl.setText(url); 2639 } 2640 else if (driver.equalsIgnoreCase("com.informix.jdbc.IfxDriver")) { 2641 String url = "jdbc:informix-sqli://" + server + ":port/"; 2642 if (databaseName.length()>0) 2643 url += databaseName; 2644 else 2645 url += "MYDATABASE"; 2646 2647 url += ":informixserver=SERVERNAME"; 2648 jTextFieldJDBCUrl.setText(url); 2649 } 2650 else if (driver.equalsIgnoreCase("com.sybase.jdbc2.jdbc.SybDriver")) { 2651 String url = "jdbc:sybase:Tds:" + server + ":2638/"; 2652 if (databaseName.length()>0) 2653 url += databaseName; 2654 else 2655 url += "MYDATABASE"; 2656 jTextFieldJDBCUrl.setText(url); 2657 } 2658 else if (driver.equalsIgnoreCase("com.mysql.jdbc.Driver")) { 2659 String url = "jdbc:mysql://"+server+"/"; 2660 if (databaseName.length()>0) 2661 url += databaseName; 2662 else 2663 url += "MYDATABASE"; 2664 jTextFieldJDBCUrl.setText(url); 2665 } 2666 else if (driver.equalsIgnoreCase("com.merant.datadirect.jdbc.sqlserver.SQLServerDriver")) { 2667 String url = "jdbc:sqlserver://" + server + ":1433/"; 2668 if (databaseName.length()>0) 2669 url += databaseName; 2670 else 2671 url += "MYDATABASE"; 2672 jTextFieldJDBCUrl.setText(url); 2673 } 2674 else if (driver.equalsIgnoreCase("com.inet.tds.TdsDriver")) { 2675 String url = "jdbc:inetdae7:"+server+":1433/"; 2676 if (databaseName.length()>0) 2677 url += jTextFieldDBName.getText(); 2678 else 2679 url += "MYDATABASE"; 2680 jTextFieldJDBCUrl.setText(url); 2681 } 2682 else if (driver.equalsIgnoreCase("org.postgresql.Driver")) { 2683 String url = "jdbc:postgresql://" + server + ":5432/"; 2684 if (databaseName.length()>0) 2685 url += databaseName; 2686 else 2687 url += "MYDATABASE"; 2688 jTextFieldJDBCUrl.setText(url); 2689 } 2690 else if (driver.equalsIgnoreCase("org.hsqldb.jdbcDriver")) { 2691 String url = "jdbc:hsqldb:[PATH_TO_DB_FILES]/"; 2692 if (databaseName.length()>0) 2693 url += databaseName; 2694 else 2695 url += "MYDATABASE"; 2696 jTextFieldJDBCUrl.setText(url); 2697 } 2698 else if (driver.equalsIgnoreCase("COM.cloudscape.JDBCDriver ")) { 2699 String url = "jdbc:cloudscape:/cloudscape/"; 2700 if (databaseName.length()>0) 2701 url += databaseName; 2702 else 2703 url += "MYDATABASE"; 2704 jTextFieldJDBCUrl.setText(url); 2705 } 2706 else if (driver.equalsIgnoreCase("net.sourceforge.jtds.jdbc.Driver")) 2707 { 2708 String url = "jdbc:jtds:sqlserver://" + 2709 server + "/"; 2710 if (databaseName.length()>0) 2711 url += databaseName; 2712 else 2713 url += "MYDATABASE"; 2714 url += ";instance="; 2715 jTextFieldJDBCUrl.setText(url); 2716 } 2717 2718 } 2720 private void jComboBoxConnectionTypeActionPerformed(java.awt.event.ActionEvent evt) { if (init) return; 2722 jPanelConnectionRoot.removeAll(); 2723 int selectedConnectionType = Integer.parseInt( ""+ ((Tag)jComboBoxConnectionType.getSelectedItem()).getValue() ); 2724 2725 if (selectedConnectionType == 0) 2726 { 2727 jPanelConnectionRoot.add("Center", jPanelJDBC); 2728 } 2729 else if (selectedConnectionType == 1) 2730 { 2731 jPanelConnectionRoot.add("Center", jPanelXML); 2732 } 2733 else if (selectedConnectionType == 2) 2734 { 2735 jPanelConnectionRoot.add("Center", jPanelBeansSet); 2736 } 2737 else if (selectedConnectionType == 3) 2738 { 2739 jPanelConnectionRoot.add("Center", jPanelCustomDataSourceFactory); 2740 } 2741 else if (selectedConnectionType == 4) 2742 { 2743 jPanelConnectionRoot.add("Center", jPanelCSV); 2744 } 2745 else if (selectedConnectionType == 5) 2746 { 2747 jPanelConnectionRoot.add("Center", jPanelDatasourceProvider); 2748 } 2749 else if (selectedConnectionType == 6) 2750 { 2751 jPanelConnectionRoot.add("Center", jPanelHibernate); 2752 } 2753 else if (selectedConnectionType == 7) 2754 { 2755 jPanelConnectionRoot.add("Center", jPanelEJBQL); 2756 } 2757 else if (selectedConnectionType == 8) 2758 { 2759 jPanelConnectionRoot.add("Center", jPanelMondrian); 2760 } 2761 else if (selectedConnectionType == 9) 2762 { 2763 jPanelConnectionRoot.add("Center", jPanelSpringLoadedHibernate); 2764 } 2765 else if (selectedConnectionType == 10) 2766 { 2767 jPanelConnectionRoot.add("Center", jPanelQueryExecutorMode); 2768 } 2769 else if (selectedConnectionType == 11) 2770 { 2771 jPanelConnectionRoot.add("Center", jPanelEmptyDataSource); 2772 } 2773 else if (selectedConnectionType == 12) 2774 { 2775 jPanelConnectionRoot.add("Center", jPanelCustomConnection); 2776 } 2777 else if (selectedConnectionType == 13) 2778 { 2779 jPanelConnectionRoot.add("Center", jPanelXMLA); 2780 } 2781 2782 2783 jPanelConnectionRoot.updateUI(); 2784 } 2786 private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) { setVisible(false); 2788 this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION); 2789 dispose(); 2790 } 2792 private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) { if (this.jTextFieldName.getText().trim().length() <= 0) { 2794 javax.swing.JOptionPane.showMessageDialog(this, 2795 I18n.getString("messages.connectionDialog.invalidName","Please insert a valid connection name!"), 2796 I18n.getString("messages.connectionDialog.invalidNameCaption","Invalid connection name!"), 2797 javax.swing.JOptionPane.WARNING_MESSAGE ); 2798 return; 2799 } 2800 int selectedConnectionType = Integer.parseInt( ""+ ((Tag)jComboBoxConnectionType.getSelectedItem()).getValue() ); 2801 2802 iReportConnection = createConnection( selectedConnectionType); 2803 if (iReportConnection == null) return; 2804 2805 setVisible(false); 2806 this.setDialogResult( javax.swing.JOptionPane.OK_OPTION); 2807 dispose(); 2808 } 2810 2811 private void closeDialog(java.awt.event.WindowEvent evt) { setVisible(false); 2813 this.setDialogResult( javax.swing.JOptionPane.CLOSED_OPTION); 2814 dispose(); 2815 } 2817 2820 public static void main(String args[]) { 2821 new JRParameterDialog(new javax.swing.JFrame (), true).setVisible(true); 2822 } 2823 2824 2828 public it.businesslogic.ireport.JRParameter getParameter() { 2829 return tmpParameter; 2830 } 2831 2832 2836 public void setParameter(it.businesslogic.ireport.JRParameter tmpParameter) { 2837 } 2838 2839 2843 public int getDialogResult() { 2844 return dialogResult; 2845 } 2846 2847 2851 public void setDialogResult(int dialogResult) { 2852 this.dialogResult = dialogResult; 2853 } 2854 2855 2859 public it.businesslogic.ireport.IReportConnection getIReportConnection() { 2860 return iReportConnection; 2861 } 2862 2863 2867 public void setIReportConnection(it.businesslogic.ireport.IReportConnection iReportConnection) { 2868 this.iReportConnection = iReportConnection; 2869 2870 this.jTextFieldName.setText( iReportConnection.getName()); 2871 if (iReportConnection instanceof JDBCConnection) 2872 { 2873 JDBCConnection con = (JDBCConnection)iReportConnection; 2874 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "0"); 2875 this.jComboBoxJDBCDriver.setSelectedItem(con.getJDBCDriver()); 2876 this.jTextFieldJDBCUrl.setText( con.getUrl()); 2877 this.jTextFieldServerAddress.setText( con.getServerAddress() ); 2878 this.jTextFieldDBName.setText( con.getDatabase() ); 2879 this.jTextFieldUsername.setText( con.getUsername()); 2880 if (con.isSavePassword()) 2881 this.jTextFieldPassword.setText( con.getPassword()); 2882 else 2883 this.jTextFieldPassword.setText( ""); 2884 this.jCheckBoxSavePassword.setSelected( con.isSavePassword()); 2885 } 2886 else if (iReportConnection instanceof JRCustomDataSourceConnection) 2887 { 2888 JRCustomDataSourceConnection con = (JRCustomDataSourceConnection)iReportConnection; 2889 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "3"); 2890 this.jTextFieldJRCustomDataSourceFactoryClass.setText( con.getFactoryClass()); 2891 this.jTextFieldJRCustomDataSourceMethod.setText(con.getMethodToCall()); 2892 } 2893 else if (iReportConnection instanceof JavaBeanDataSourceConnection) 2894 { 2895 JavaBeanDataSourceConnection con = (JavaBeanDataSourceConnection)iReportConnection; 2896 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "2"); 2897 this.jTextFieldJBSetFactoryClass.setText( con.getFactoryClass()); 2898 this.jTextFieldJBSetMethodToCall.setText(con.getMethodToCall()); 2899 this.jCheckBoxisUseFieldDescription.setSelected(con.isUseFieldDescription()); 2900 if (con.getType().equals(con.BEAN_ARRAY) ) 2901 { 2902 jRadioButtonJBSetArray.setSelected(true); 2903 jRadioButtonJBSetCollection.setSelected(false); 2904 } 2905 else 2906 { 2907 jRadioButtonJBSetArray.setSelected(false); 2908 jRadioButtonJBSetCollection.setSelected(true); 2909 } 2910 } 2911 else if (iReportConnection instanceof JRCSVDataSourceConnection) 2912 { 2913 JRCSVDataSourceConnection con = (JRCSVDataSourceConnection)iReportConnection; 2914 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "4"); 2915 this.jTextFieldCSVFilename.setText( con.getFilename() ); 2916 2917 if (con.getCustomDateFormat().length() > 0) 2918 { 2919 this.jCheckBoxCVSDateFormat.setSelected(true); 2920 this.jTextFieldCVSDateFormat.setText(con.getCustomDateFormat()); 2921 this.jTextFieldCVSDateFormat.setEnabled(true); 2922 this.jButtonCVSDateFormat.setEnabled(true); 2923 } 2924 2925 this.jCheckBoxCVSFirstRowAsHeader.setSelected( con.isUseFirstRowAsHeader() ); 2926 2927 String fieldSeparator = con.getFieldDelimiter(); 2928 if (fieldSeparator.equals(",")) this.jRadioButtonCVSSeparatorComma.setSelected(true); 2929 else if (fieldSeparator.equals("\t")) this.jRadioButtonCVSSeparatorTab.setSelected(true); 2930 else if (fieldSeparator.equals(" ")) this.jRadioButtonCVSSeparatorSpace.setSelected(true); 2931 else if (fieldSeparator.equals(";")) this.jRadioButtonCVSSeparatorSemicolon.setSelected(true); 2932 else if (fieldSeparator.equals("\n")) this.jRadioButtonCVSSeparatorNewLine.setSelected(true); 2933 else { 2934 this.jRadioButtonCVSSeparatorOther.setSelected(true); 2935 this.jTextFieldCVSSeparatorText.setText(fieldSeparator); 2936 } 2937 2938 String rowSeparator = con.getRecordDelimiter(); 2939 if (rowSeparator.equals(",")) this.jRadioButtonCVSSeparatorComma1.setSelected(true); 2940 else if (rowSeparator.equals("\t")) this.jRadioButtonCVSSeparatorTab1.setSelected(true); 2941 else if (rowSeparator.equals(" ")) this.jRadioButtonCVSSeparatorSpace1.setSelected(true); 2942 else if (rowSeparator.equals(";")) this.jRadioButtonCVSSeparatorSemicolon1.setSelected(true); 2943 else if (rowSeparator.equals("\n")) this.jRadioButtonCVSSeparatorNewLine1.setSelected(true); 2944 else { 2945 this.jRadioButtonCVSSeparatorOther1.setSelected(true); 2946 this.jTextFieldCVSSeparatorText1.setText(rowSeparator); 2947 } 2948 2949 DefaultListModel dlm = (DefaultListModel)this.jListCVSColumns.getModel(); 2950 2951 for (int i=0; i< con.getColumnNames().size(); ++i) 2952 { 2953 dlm.addElement(con.getColumnNames().elementAt(i)+"" ); 2954 } 2955 2956 if (dlm.size() > 0) 2957 { 2958 jListCVSColumns.setSelectedIndex(0); 2959 } 2960 2961 } 2962 else if (iReportConnection instanceof JRXMLDataSourceConnection) 2963 { 2964 JRXMLDataSourceConnection con = (JRXMLDataSourceConnection)iReportConnection; 2965 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "1"); 2966 this.jTextFieldXMLFile.setText( con.getFilename() ); 2967 this.jTextFieldRecordPath.setText( con.getSelectExpression() ); 2968 this.jRadioButtonXML_connection.setSelected( con.isUseConnection() ); 2969 this.jRadioButtonXML_datasource.setSelected( !con.isUseConnection() ); 2970 XMLDataSourceCheckBoxesChanged(); 2971 } 2972 else if (iReportConnection instanceof JRDataSourceProviderConnection) 2973 { 2974 JRDataSourceProviderConnection con = (JRDataSourceProviderConnection)iReportConnection; 2975 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "5"); 2976 this.jTextFieldJRDataSourceProvider.setText( it.businesslogic.ireport.util.Misc.nvl(con.getProperties().get("JRDataSourceProvider"), "") ); 2977 } 2978 else if (iReportConnection instanceof JRSpringLoadedHibernateConnection) { 2979 2980 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "9"); 2981 this.jTextFieldSLHSpringConfig.setText( ((JRSpringLoadedHibernateConnection)iReportConnection).getSpringConfig() ); 2982 this.jTextFieldSLHSessionFactory.setText( ((JRSpringLoadedHibernateConnection)iReportConnection).getSessionFactoryBeanId() ); 2983 } 2984 else if (iReportConnection instanceof JRHibernateConnection) 2985 { 2986 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "6"); 2987 } 2988 else if (iReportConnection instanceof EJBQLConnection) 2989 { 2990 EJBQLConnection con = (EJBQLConnection)iReportConnection; 2991 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "7"); 2992 this.jTextFieldPersistanceUnit.setText( it.businesslogic.ireport.util.Misc.nvl(con.getProperties().get("PersistenceUnit"), "") ); 2993 } 2994 else if (iReportConnection instanceof MondrianConnection) 2995 { 2996 MondrianConnection con = (MondrianConnection)iReportConnection; 2997 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "8"); 2998 this.jTextFieldCatalogURI.setText( it.businesslogic.ireport.util.Misc.nvl(con.getProperties().get(MondrianConnection.CATALOG_URI), "") ); 2999 jComboBoxMondrianJdbc.setSelectedItem( con.getConnectionName() ); 3000 } 3001 else if (iReportConnection instanceof QueryExecuterConnection) 3002 { 3003 QueryExecuterConnection con = (QueryExecuterConnection)iReportConnection; 3004 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "10"); 3005 } 3006 else if (iReportConnection instanceof JREmptyDatasourceConnection) 3007 { 3008 JREmptyDatasourceConnection con = (JREmptyDatasourceConnection)iReportConnection; 3009 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "11"); 3010 jSpinnerNumRecords.getModel().setValue(new Integer (con.getRecords())); 3011 } 3012 else if (iReportConnection instanceof JRCustomConnection) 3013 { 3014 JRCustomConnection con = (JRCustomConnection)iReportConnection; 3015 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "12"); 3016 jTextFieldIReportConnectionClassName.setText( con.getIReportConnectionClassName() ); 3017 HashMap map = con.getProperties(); 3018 DefaultTableModel dtm = (DefaultTableModel )jTableCustomProperties.getModel(); 3019 dtm.setRowCount(0); 3020 Iterator iterator = map.keySet().iterator(); 3021 while (iterator.hasNext()) 3022 { 3023 String key = ""+iterator.next(); 3024 Object value = map.get(key); 3025 if (key.startsWith(JRCustomConnection.PROPERTY_PREFIX)) 3026 { 3027 dtm.addRow(new Object []{ key.substring(JRCustomConnection.PROPERTY_PREFIX.length()), value+""}); 3028 } 3029 } 3030 } 3031 else if (iReportConnection instanceof JRXMLADataSourceConnection) 3032 { 3033 3039 JRXMLADataSourceConnection con = (JRXMLADataSourceConnection)iReportConnection; 3040 Misc.setComboboxSelectedTagValue(jComboBoxConnectionType, "13"); 3042 this.jTextFieldXMLAUrl.setText( con.getUrl() ); 3043 this.jComboBoxXMLADatasource.removeAllItems(); 3044 this.jComboBoxXMLADatasource.addItem(con.getDatasource()); 3045 this.jComboBoxXMLACatalog.removeAllItems(); 3046 this.jComboBoxXMLACatalog.addItem(con.getCatalog()); 3047 this.jComboBoxXMLACube.removeAllItems(); 3048 this.jComboBoxXMLACube.addItem(con.getCube()); 3049 } 3050 } 3051 3052 private javax.swing.ButtonGroup buttonGroup1; 3054 private javax.swing.ButtonGroup buttonGroupBeansSetType; 3055 private javax.swing.ButtonGroup buttonGroupCVSFieldSeparator; 3056 private javax.swing.ButtonGroup buttonGroupCVSFieldSeparator1; 3057 private javax.swing.JButton jButton2; 3058 private javax.swing.JButton jButtonAddProp; 3059 private javax.swing.JButton jButtonBrowseCatalog; 3060 private javax.swing.JButton jButtonCSVFilename; 3061 private javax.swing.JButton jButtonCVSDateFormat; 3062 private javax.swing.JButton jButtonCancel; 3063 private javax.swing.JButton jButtonDeleteParameter; 3064 private javax.swing.JButton jButtonGetXMLAMetadata; 3065 private javax.swing.JButton jButtonModifyParameter; 3066 private javax.swing.JButton jButtonNewParameter; 3067 private javax.swing.JButton jButtonNewParameter1; 3068 private javax.swing.JButton jButtonOK; 3069 private javax.swing.JButton jButtonOK1; 3070 private javax.swing.JButton jButtonRemoveProp; 3071 private javax.swing.JButton jButtonWizard; 3072 private javax.swing.JCheckBox jCheckBoxCVSDateFormat; 3073 private javax.swing.JCheckBox jCheckBoxCVSFirstRowAsHeader; 3074 private javax.swing.JCheckBox jCheckBoxSavePassword; 3075 private javax.swing.JCheckBox jCheckBoxisUseFieldDescription; 3076 private javax.swing.JComboBox jComboBoxConnectionType; 3077 private javax.swing.JComboBox jComboBoxJDBCDriver; 3078 private javax.swing.JComboBox jComboBoxMondrianJdbc; 3079 private javax.swing.JComboBox jComboBoxXMLACatalog; 3080 private javax.swing.JComboBox jComboBoxXMLACube; 3081 private javax.swing.JComboBox jComboBoxXMLADatasource; 3082 private javax.swing.JLabel jLabel1; 3083 private javax.swing.JLabel jLabel10; 3084 private javax.swing.JLabel jLabel11; 3085 private javax.swing.JLabel jLabel12; 3086 private javax.swing.JLabel jLabel13; 3087 private javax.swing.JLabel jLabel14; 3088 private javax.swing.JLabel jLabel15; 3089 private javax.swing.JLabel jLabel16; 3090 private javax.swing.JLabel jLabel17; 3091 private javax.swing.JLabel jLabel18; 3092 private javax.swing.JLabel jLabel19; 3093 private javax.swing.JLabel jLabel2; 3094 private javax.swing.JLabel jLabel20; 3095 private javax.swing.JLabel jLabel21; 3096 private javax.swing.JLabel jLabel22; 3097 private javax.swing.JLabel jLabel23; 3098 private javax.swing.JLabel jLabel24; 3099 private javax.swing.JLabel jLabel25; 3100 private javax.swing.JLabel jLabel3; 3101 private javax.swing.JLabel jLabel4; 3102 private javax.swing.JLabel jLabel5; 3103 private javax.swing.JLabel jLabel6; 3104 private javax.swing.JLabel jLabel7; 3105 private javax.swing.JLabel jLabel8; 3106 private javax.swing.JLabel jLabel9; 3107 private javax.swing.JLabel jLabelPropertiesTable; 3108 private javax.swing.JLabel jLabelXMLACatalog; 3109 private javax.swing.JLabel jLabelXMLACube; 3110 private javax.swing.JLabel jLabelXMLADatasource; 3111 private javax.swing.JLabel jLabelXMLAUrl; 3112 private javax.swing.JLabel jLabelXMLRecordPath; 3113 private javax.swing.JList jListCVSColumns; 3114 private javax.swing.JPanel jPanel1; 3115 private javax.swing.JPanel jPanel10; 3116 private javax.swing.JPanel jPanel11; 3117 private javax.swing.JPanel jPanel12; 3118 private javax.swing.JPanel jPanel13; 3119 private javax.swing.JPanel jPanel14; 3120 private javax.swing.JPanel jPanel15; 3121 private javax.swing.JPanel jPanel2; 3122 private javax.swing.JPanel jPanel3; 3123 private javax.swing.JPanel jPanel4; 3124 private javax.swing.JPanel jPanel5; 3125 private javax.swing.JPanel jPanel6; 3126 private javax.swing.JPanel jPanel7; 3127 private javax.swing.JPanel jPanel8; 3128 private javax.swing.JPanel jPanel9; 3129 private javax.swing.JPanel jPanelBeansSet; 3130 private javax.swing.JPanel jPanelButtons; 3131 private javax.swing.JPanel jPanelCSV; 3132 private javax.swing.JPanel jPanelConnectionRoot; 3133 private javax.swing.JPanel jPanelConnectionType; 3134 private javax.swing.JPanel jPanelCustomConnection; 3135 private javax.swing.JPanel jPanelCustomDataSourceFactory; 3136 private javax.swing.JPanel jPanelDatasourceProvider; 3137 private javax.swing.JPanel jPanelEJBQL; 3138 private javax.swing.JPanel jPanelEmptyDataSource; 3139 private javax.swing.JPanel jPanelHibernate; 3140 private javax.swing.JPanel jPanelJDBC; 3141 private javax.swing.JPanel jPanelMondrian; 3142 private javax.swing.JPanel jPanelQueryExecutorMode; 3143 private javax.swing.JPanel jPanelSpringLoadedHibernate; 3144 private javax.swing.JPanel jPanelXML; 3145 private javax.swing.JPanel jPanelXMLA; 3146 private javax.swing.JRadioButton jRadioButtonCVSSeparatorComma; 3147 private javax.swing.JRadioButton jRadioButtonCVSSeparatorComma1; 3148 private javax.swing.JRadioButton jRadioButtonCVSSeparatorNewLine; 3149 private javax.swing.JRadioButton jRadioButtonCVSSeparatorNewLine1; 3150 private javax.swing.JRadioButton jRadioButtonCVSSeparatorOther; 3151 private javax.swing.JRadioButton jRadioButtonCVSSeparatorOther1; 3152 private javax.swing.JRadioButton jRadioButtonCVSSeparatorSemicolon; 3153 private javax.swing.JRadioButton jRadioButtonCVSSeparatorSemicolon1; 3154 private javax.swing.JRadioButton jRadioButtonCVSSeparatorSpace; 3155 private javax.swing.JRadioButton jRadioButtonCVSSeparatorSpace1; 3156 private javax.swing.JRadioButton jRadioButtonCVSSeparatorTab; 3157 private javax.swing.JRadioButton jRadioButtonCVSSeparatorTab1; 3158 private javax.swing.JRadioButton jRadioButtonJBSetArray; 3159 private javax.swing.JRadioButton jRadioButtonJBSetCollection; 3160 private javax.swing.JRadioButton jRadioButtonXML_connection; 3161 private javax.swing.JRadioButton jRadioButtonXML_datasource; 3162 private javax.swing.JScrollPane jScrollPane1; 3163 private javax.swing.JScrollPane jScrollPane2; 3164 private javax.swing.JScrollPane jScrollPane3; 3165 private javax.swing.JSeparator jSeparator1; 3166 private javax.swing.JSeparator jSeparator2; 3167 private javax.swing.JSeparator jSeparator3; 3168 private javax.swing.JSeparator jSeparator4; 3169 private javax.swing.JSeparator jSeparator5; 3170 private javax.swing.JSeparator jSeparator6; 3171 private javax.swing.JSeparator jSeparator7; 3172 private javax.swing.JSeparator jSeparator8; 3173 private javax.swing.JSpinner jSpinnerNumRecords; 3174 private javax.swing.JTabbedPane jTabbedPane1; 3175 private javax.swing.JTable jTableCustomProperties; 3176 private javax.swing.JTextArea jTextArea1; 3177 private javax.swing.JTextField jTextFieldCSVFilename; 3178 private javax.swing.JTextField jTextFieldCVSDateFormat; 3179 private javax.swing.JTextField jTextFieldCVSSeparatorText; 3180 private javax.swing.JTextField jTextFieldCVSSeparatorText1; 3181 private javax.swing.JTextField jTextFieldCatalogURI; 3182 private javax.swing.JTextField jTextFieldDBName; 3183 private javax.swing.JTextField jTextFieldIReportConnectionClassName; 3184 private javax.swing.JTextField jTextFieldJBSetFactoryClass; 3185 private javax.swing.JTextField jTextFieldJBSetMethodToCall; 3186 private javax.swing.JTextField jTextFieldJDBCUrl; 3187 private javax.swing.JTextField jTextFieldJRCustomDataSourceFactoryClass; 3188 private javax.swing.JTextField jTextFieldJRCustomDataSourceMethod; 3189 private javax.swing.JTextField jTextFieldJRDataSourceProvider; 3190 private javax.swing.JTextField jTextFieldName; 3191 private javax.swing.JPasswordField jTextFieldPassword; 3192 private javax.swing.JTextField jTextFieldPersistanceUnit; 3193 private javax.swing.JTextField jTextFieldRecordPath; 3194 private javax.swing.JTextField jTextFieldSLHSessionFactory; 3195 private javax.swing.JTextField jTextFieldSLHSpringConfig; 3196 private javax.swing.JTextField jTextFieldServerAddress; 3197 private javax.swing.JTextField jTextFieldUsername; 3198 private javax.swing.JTextField jTextFieldXMLAUrl; 3199 private javax.swing.JTextField jTextFieldXMLFile; 3200 private javax.swing.JTextPane jTextPane1; 3201 private javax.swing.JTextPane jTextPane2; 3202 3204 private int dialogResult; 3205 3206 private IReportConnection iReportConnection; 3207 3208 public void applyI18n(){ 3209 jCheckBoxCVSDateFormat.setText(I18n.getString("connectionDialog.checkBoxCVSDateFormat","Use custom date format")); 3211 jCheckBoxCVSFirstRowAsHeader.setText(I18n.getString("connectionDialog.checkBoxCVSFirstRowAsHeader","Skip the first line (the column names will be read from the first line)")); 3212 jCheckBoxSavePassword.setText(I18n.getString("connectionDialog.checkBoxSavePassword","Save password")); 3213 jCheckBoxisUseFieldDescription.setText(I18n.getString("connectionDialog.checkBoxisUseFieldDescription","Use field description")); 3214 jRadioButtonCVSSeparatorComma.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorComma","Comma")); 3215 jRadioButtonCVSSeparatorComma1.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorComma1","Comma")); 3216 jRadioButtonCVSSeparatorNewLine.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorNewLine","New line")); 3217 jRadioButtonCVSSeparatorNewLine1.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorNewLine1","New line")); 3218 jRadioButtonCVSSeparatorOther.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorOther","Other")); 3219 jRadioButtonCVSSeparatorOther1.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorOther1","Other")); 3220 jRadioButtonCVSSeparatorSemicolon.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorSemicolon","Semicolon")); 3221 jRadioButtonCVSSeparatorSemicolon1.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorSemicolon1","Semicolon")); 3222 jRadioButtonCVSSeparatorSpace.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorSpace","Space")); 3223 jRadioButtonCVSSeparatorSpace1.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorSpace1","Space")); 3224 jRadioButtonCVSSeparatorTab.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorTab","Tab")); 3225 jRadioButtonCVSSeparatorTab1.setText(I18n.getString("connectionDialog.radioButtonCVSSeparatorTab1","Tab")); 3226 jRadioButtonJBSetArray.setText(I18n.getString("connectionDialog.radioButtonJBSetArray","Array of javaBeans")); 3227 jRadioButtonJBSetCollection.setText(I18n.getString("connectionDialog.radioButtonJBSetCollection"," Collection of javaBeans")); 3228 jRadioButtonXML_connection.setText(I18n.getString("connectionDialog.radioButtonXML_connection","Use the report XPath expression when filling the report")); 3229 jRadioButtonXML_datasource.setText(I18n.getString("connectionDialog.radioButtonXML_datasource","Create a datasource using this expression")); 3230 jButton2.setText(I18n.getString("connectionDialog.button2","Browse")); 3233 jButtonBrowseCatalog.setText(I18n.getString("connectionDialog.buttonBrowseCatalog","Browse...")); 3234 jButtonCSVFilename.setText(I18n.getString("connectionDialog.buttonCSVFilename","Browse")); 3235 jButtonCVSDateFormat.setText(I18n.getString("connectionDialog.buttonCVSDateFormat","Date format")); 3236 jButtonCancel.setText(I18n.getString("connectionDialog.buttonCancel","Cancel")); 3237 jButtonDeleteParameter.setText(I18n.getString("connectionDialog.buttonDeleteParameter","Delete")); 3238 jButtonModifyParameter.setText(I18n.getString("connectionDialog.buttonModifyParameter","Modify")); 3239 jButtonNewParameter.setText(I18n.getString("connectionDialog.buttonNewParameter","New")); 3240 jButtonNewParameter1.setText(I18n.getString("connectionDialog.buttonNewParameter1","Get columns name from the first row of the file")); 3241 jButtonOK.setText(I18n.getString("connectionDialog.buttonOK","Save")); 3242 jButtonOK1.setText(I18n.getString("connectionDialog.buttonOK1","Test")); 3243 jButtonWizard.setText(I18n.getString("connectionDialog.buttonWizard","Wizard")); 3244 jLabel1.setText(I18n.getString("connectionDialog.label1","Name")); 3245 jLabel10.setText(I18n.getString("connectionDialog.label10","Factory class")); 3246 jLabel11.setText(I18n.getString("connectionDialog.label11","The static method to call to retrive the JRDataSource")); 3247 jLabel12.setText(I18n.getString("connectionDialog.label12","Factory class (the class that will produce the set)")); 3248 jLabel13.setText(I18n.getString("connectionDialog.label13","The static method to call to retrive the array or the the collection of javaBeans")); 3249 jLabel14.setText(I18n.getString("connectionDialog.label14","Server Address")); 3250 jLabel15.setText(I18n.getString("connectionDialog.label15","CSV file")); 3251 jLabel17.setText(I18n.getString("connectionDialog.label17","JasperReports DataSource Provider class")); 3252 jLabel18.setText(I18n.getString("connectionDialog.label18","Persistance Unit Name")); 3253 jLabel19.setText(I18n.getString("connectionDialog.label19","Catalog URI (i.e. file:/path/schema.xml)")); 3254 jLabel2.setText(I18n.getString("connectionDialog.label2","JDBC Driver")); 3255 jLabel20.setText(I18n.getString("connectionDialog.label20","Jdbc Connection")); 3256 jLabel21.setText(I18n.getString("connectionDialog.label21","Spring configuration")); 3257 jLabel22.setText(I18n.getString("connectionDialog.label22","Session Factory Bean ID")); 3258 jLabel23.setText(I18n.getString("connectionDialog.label23"," ")); 3259 jLabel24.setText(I18n.getString("connectionDialog.label24","Number of empty records")); 3260 jLabel3.setText(I18n.getString("connectionDialog.label3","JDBC URL")); 3261 jLabel4.setText(I18n.getString("connectionDialog.label4","Type of connection / datasource")); 3262 jLabel5.setText(I18n.getString("connectionDialog.label5","Database")); 3263 jLabel6.setText(I18n.getString("connectionDialog.label6","Username")); 3264 jLabel7.setText(I18n.getString("connectionDialog.label7","Password")); 3265 jLabel9.setText(I18n.getString("connectionDialog.label9","XML file")); 3266 jLabelXMLRecordPath.setText(I18n.getString("connectionDialog.labelXMLRecordPath","Select Expression")); 3267 3269 jLabelXMLAUrl.setText(I18n.getString("connectionDialog.labelXMLAUrl","Url of XML/A server")); 3270 jButtonGetXMLAMetadata.setText(I18n.getString("connectionDialog.buttonGetXMLAMetadata","Get metadata")); 3271 jLabelXMLADatasource.setText(I18n.getString("connectionDialog.labelXMLADatasource","Datasource")); 3272 jLabelXMLACatalog.setText(I18n.getString("connectionDialog.labelXMLACatalog","Catalog")); 3273 jLabelXMLACube.setText(I18n.getString("connectionDialog.labelXMLACube","Cube")); 3274 3275 jTabbedPane1.setTitleAt(0,I18n.getString("connectionDialog.tab.Columns","Columns") ); 3276 jTabbedPane1.setTitleAt(0,I18n.getString("connectionDialog.tab.Separators","Separators") ); 3277 3278 ((javax.swing.border.TitledBorder )jPanel2.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("connectionDialog.panelBorder.jdbcUrlWizard","JDBC URL Wizard") ); 3279 ((javax.swing.border.TitledBorder )jPanel8.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("connectionDialog.panelBorder.ColumnNames","Column names") ); 3280 ((javax.swing.border.TitledBorder )jPanel6.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("connectionDialog.panelBorder.Other","Other") ); 3281 ((javax.swing.border.TitledBorder )jPanel4.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("connectionDialog.panelBorder.FieldSeparatorChat","Field separator (char)") ); 3282 ((javax.swing.border.TitledBorder )jPanel5.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("connectionDialog.panelBorder.RowSeparator","Row separator") ); 3283 3284 jTableCustomProperties.getColumn("Name").setHeaderValue( I18n.getString("connectionDialog.tablecolumn.Name","Name") ); 3285 jTableCustomProperties.getColumn("Value").setHeaderValue( I18n.getString("connectionDialog.tablecolumn.Value","Value") ); 3286 3287 jButtonAddProp.setText(I18n.getString("connectionDialog.buttonAddProp","Add")); 3288 jButtonRemoveProp.setText(I18n.getString("connectionDialog.buttonRemoveProp","Remove")); 3289 } 3290 3291 3292 public IReportConnection createConnection(int selectedConnectionType) 3293 { 3294 IReportConnection irConn = null; 3295 3296 if (selectedConnectionType == 0) { 3297 irConn = new JDBCConnection(); 3298 irConn.setName( this.jTextFieldName.getText().trim() ); 3299 ((JDBCConnection)irConn).setServerAddress( this.jTextFieldServerAddress.getText().trim() ); 3300 ((JDBCConnection)irConn).setDatabase( this.jTextFieldDBName.getText().trim() ); 3301 ((JDBCConnection)irConn).setUsername( this.jTextFieldUsername.getText().trim() ); 3302 if (jCheckBoxSavePassword.isSelected()) 3303 ((JDBCConnection)irConn).setPassword( this.jTextFieldPassword.getText()); 3304 else 3305 ((JDBCConnection)irConn).setPassword(""); 3306 ((JDBCConnection)irConn).setSavePassword( jCheckBoxSavePassword.isSelected() ); 3307 ((JDBCConnection)irConn).setJDBCDriver( (this.jComboBoxJDBCDriver.getSelectedItem()+"").trim() ); 3308 if ((this.jComboBoxJDBCDriver.getSelectedItem()+"").trim().length() == 0) { 3309 javax.swing.JOptionPane.showMessageDialog(this, 3310 I18n.getString("messages.connectionDialog.jdbc.invalidDriver","Please insert a valid JDBC driver!"), 3311 I18n.getString("messages.connectionDialog.jdbc.invalidDriverCaption","Invalid driver!"), 3312 javax.swing.JOptionPane.WARNING_MESSAGE ); 3313 return null; 3314 } 3315 3316 if (this.jTextFieldJDBCUrl.getText().trim().length() == 0) { 3317 javax.swing.JOptionPane.showMessageDialog(this, 3318 I18n.getString("messages.connectionDialog.jdbc.invalidUrl","Please insert a valid JDBC URL!"), 3319 I18n.getString("messages.connectionDialog.jdbc.invalidUrlCaption","Invalid url!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3320 return null; 3321 } 3322 ((JDBCConnection)irConn).setUrl(this.jTextFieldJDBCUrl.getText().trim()); 3323 } 3324 else if (selectedConnectionType == 2) { 3325 irConn = new JavaBeanDataSourceConnection(); 3326 irConn.setName( this.jTextFieldName.getText().trim() ); 3327 ((JavaBeanDataSourceConnection)irConn).setFactoryClass( this.jTextFieldJBSetFactoryClass.getText().trim() ); 3328 ((JavaBeanDataSourceConnection)irConn).setMethodToCall( this.jTextFieldJBSetMethodToCall.getText().trim() ); 3329 ((JavaBeanDataSourceConnection)irConn).setUseFieldDescription( this.jCheckBoxisUseFieldDescription.isSelected() ); 3330 if (jRadioButtonJBSetArray.isSelected()) 3331 { 3332 ((JavaBeanDataSourceConnection)irConn).setType( JavaBeanDataSourceConnection.BEAN_ARRAY ); 3333 } 3334 else 3335 { 3336 ((JavaBeanDataSourceConnection)irConn).setType( JavaBeanDataSourceConnection.BEAN_COLLECTION ); 3337 } 3338 } 3339 else if (selectedConnectionType == 3) { 3340 irConn = new JRCustomDataSourceConnection(); 3341 irConn.setName( this.jTextFieldName.getText().trim() ); 3342 ((JRCustomDataSourceConnection)irConn).setFactoryClass( this.jTextFieldJRCustomDataSourceFactoryClass.getText().trim() ); 3343 ((JRCustomDataSourceConnection)irConn).setMethodToCall( this.jTextFieldJRCustomDataSourceMethod.getText().trim() ); 3344 } 3345 else if (selectedConnectionType == 4) { 3346 3347 irConn = new JRCSVDataSourceConnection(); 3348 irConn.setName( this.jTextFieldName.getText().trim() ); 3349 ((JRCSVDataSourceConnection)irConn).setFilename( this.jTextFieldCSVFilename.getText().trim() ); 3350 3351 if (jRadioButtonCVSSeparatorComma.isSelected()) ((JRCSVDataSourceConnection)irConn).setFieldDelimiter(","); 3352 if (jRadioButtonCVSSeparatorTab.isSelected()) ((JRCSVDataSourceConnection)irConn).setFieldDelimiter("\t"); 3353 if (jRadioButtonCVSSeparatorSpace.isSelected()) ((JRCSVDataSourceConnection)irConn).setFieldDelimiter(" "); 3354 if (jRadioButtonCVSSeparatorSemicolon.isSelected()) ((JRCSVDataSourceConnection)irConn).setFieldDelimiter(";"); 3355 if (jRadioButtonCVSSeparatorNewLine.isSelected()) ((JRCSVDataSourceConnection)irConn).setFieldDelimiter("\n"); 3356 if (jRadioButtonCVSSeparatorOther.isSelected()) ((JRCSVDataSourceConnection)irConn).setFieldDelimiter(jTextFieldCVSSeparatorText.getText()); 3357 3358 if (jRadioButtonCVSSeparatorComma1.isSelected()) ((JRCSVDataSourceConnection)irConn).setRecordDelimiter(","); 3359 if (jRadioButtonCVSSeparatorTab1.isSelected()) ((JRCSVDataSourceConnection)irConn).setRecordDelimiter("\t"); 3360 if (jRadioButtonCVSSeparatorSpace1.isSelected()) ((JRCSVDataSourceConnection)irConn).setRecordDelimiter(" "); 3361 if (jRadioButtonCVSSeparatorSemicolon1.isSelected()) ((JRCSVDataSourceConnection)irConn).setRecordDelimiter(";"); 3362 if (jRadioButtonCVSSeparatorNewLine1.isSelected()) ((JRCSVDataSourceConnection)irConn).setRecordDelimiter("\n"); 3363 if (jRadioButtonCVSSeparatorOther1.isSelected()) ((JRCSVDataSourceConnection)irConn).setRecordDelimiter(jTextFieldCVSSeparatorText1.getText()); 3364 3365 ((JRCSVDataSourceConnection)irConn).setCustomDateFormat( jCheckBoxCVSDateFormat.isSelected() ? jTextFieldCVSDateFormat.getText() : ""); 3366 ((JRCSVDataSourceConnection)irConn).setUseFirstRowAsHeader( jCheckBoxCVSFirstRowAsHeader.isSelected() ); 3367 3368 DefaultListModel dlm = (DefaultListModel)this.jListCVSColumns.getModel(); 3369 Vector columnsNames = new Vector (); 3370 for (int k=0; k< dlm.size(); ++k) 3371 { 3372 columnsNames.add(dlm.elementAt(k)+""); 3373 } 3374 3375 ((JRCSVDataSourceConnection)irConn).setColumnNames( columnsNames ); 3376 3377 if (columnsNames.size() == 0) 3378 { 3379 if (JOptionPane.showConfirmDialog(this,I18n.getString("messages.connectionDialog.notAllColumnsDefined","You have not defined any column for your CSV file. Continue anyway?"),"",JOptionPane.INFORMATION_MESSAGE) != JOptionPane.OK_OPTION) 3380 { 3381 return null; 3382 } 3383 } 3384 if (((JRCSVDataSourceConnection)irConn).getFieldDelimiter().equals( ((JRCSVDataSourceConnection)irConn).getRecordDelimiter() )) 3385 { 3386 if (JOptionPane.showConfirmDialog(this,I18n.getString("messages.connectionDialog.duplicatedDelimiter","Field delimiter char is the same as the record delimiter. Continue anyway?"),"",JOptionPane.INFORMATION_MESSAGE) != JOptionPane.OK_OPTION) 3387 { 3388 return null; 3389 } 3390 } 3391 } 3392 else if (selectedConnectionType == 1) { 3393 irConn = new JRXMLDataSourceConnection(); 3394 irConn.setName( this.jTextFieldName.getText().trim() ); 3395 ((JRXMLDataSourceConnection)irConn).setFilename( this.jTextFieldXMLFile.getText().trim() ); 3396 ((JRXMLDataSourceConnection)irConn).setSelectExpression( this.jTextFieldRecordPath.getText().trim() ); 3397 ((JRXMLDataSourceConnection)irConn).setUseConnection( jRadioButtonXML_connection.isSelected() ); 3398 } 3399 else if (selectedConnectionType == 5) { 3400 irConn = new JRDataSourceProviderConnection(); 3401 irConn.setName( this.jTextFieldName.getText().trim() ); 3402 ((JRDataSourceProviderConnection)irConn).getProperties().put("JRDataSourceProvider", this.jTextFieldJRDataSourceProvider.getText().trim() ); 3403 } 3404 else if (selectedConnectionType == 6) { 3405 irConn = new JRHibernateConnection(); 3406 irConn.setName( this.jTextFieldName.getText().trim() ); 3407 } 3408 else if (selectedConnectionType == 7) { 3409 irConn = new EJBQLConnection(); 3410 irConn.setName( this.jTextFieldName.getText().trim() ); 3411 if (jTextFieldPersistanceUnit.getText().trim().length() != 0) 3412 { 3413 irConn.getProperties().put("PersistenceUnit", jTextFieldPersistanceUnit.getText().trim()); 3414 } 3415 } 3416 else if (selectedConnectionType == 8) { 3417 3418 if (this.jComboBoxMondrianJdbc.getSelectedIndex() < 0) { 3419 javax.swing.JOptionPane.showMessageDialog(this, 3420 I18n.getString("messages.connectionDialog.setJDBCConnection","You have to choose a JDBC connection in order to configure the Mondrian OLAP connection.\nIf JDBC connection are not yet available, please create one before creating this connection."), 3421 I18n.getString("messages.connectionDialog.setJDBCConnectionCaption","Invalid JDBC connection!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3422 return null; 3423 } 3424 3425 if (this.jTextFieldCatalogURI.getText().trim().length() == 0) { 3426 javax.swing.JOptionPane.showMessageDialog(this, 3427 I18n.getString("messages.connectionDialog.setCatalogUri","Please set the Catalog URI"), 3428 I18n.getString("messages.connectionDialog.setCatalogUriCaption","Invalid URI!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3429 return null; 3430 } 3431 3432 irConn = new MondrianConnection(); 3433 irConn.setName( this.jTextFieldName.getText().trim() ); 3434 irConn.getProperties().put(MondrianConnection.CATALOG_URI, jTextFieldCatalogURI.getText().trim()); 3435 irConn.getProperties().put(MondrianConnection.CONNECTION_NAME, jComboBoxMondrianJdbc.getSelectedItem()+""); 3436 3437 } 3438 else if (selectedConnectionType == 9) { 3439 irConn = new JRSpringLoadedHibernateConnection(); 3440 irConn.setName( this.jTextFieldName.getText().trim() ); 3441 ((JRSpringLoadedHibernateConnection)irConn).setSessionFactoryBeanId(jTextFieldSLHSessionFactory.getText()); 3442 ((JRSpringLoadedHibernateConnection)irConn).setSpringConfig(jTextFieldSLHSpringConfig.getText()); 3443 } 3444 else if (selectedConnectionType == 10) { 3445 irConn = new QueryExecuterConnection(); 3446 irConn.setName( this.jTextFieldName.getText().trim() ); 3447 } 3448 else if (selectedConnectionType == 11) { 3449 irConn = new JREmptyDatasourceConnection(); 3450 irConn.setName( this.jTextFieldName.getText().trim() ); 3451 ((JREmptyDatasourceConnection)irConn).setRecords( ((javax.swing.SpinnerNumberModel )jSpinnerNumRecords.getModel()).getNumber().intValue() ); 3452 } 3453 else if (selectedConnectionType == 12) { 3454 3455 irConn = new JRCustomConnection(); 3456 irConn.setName( this.jTextFieldName.getText().trim() ); 3457 ((JRCustomConnection)irConn).setIReportConnectionClassName( jTextFieldIReportConnectionClassName.getText() ); 3458 HashMap map = new HashMap (); 3459 DefaultTableModel dtm = (DefaultTableModel )jTableCustomProperties.getModel(); 3460 for (int i=0; i<dtm.getRowCount(); ++i) 3461 { 3462 String key = "" + dtm.getValueAt(i,0); 3463 String value = "" + dtm.getValueAt(i,1); 3464 map.put(key, value); 3465 } 3466 ((JRCustomConnection)irConn).setInnerConnectionProperties( map ); 3467 } 3468 else if (selectedConnectionType == 13) { 3469 3470 3476 irConn = new JRXMLADataSourceConnection(); 3477 irConn.setName( this.jTextFieldName.getText().trim() ); 3478 3479 if (this.jTextFieldXMLAUrl.getText().trim().length() == 0) { 3480 javax.swing.JOptionPane.showMessageDialog(this, 3481 I18n.getString("messages.connectionDialog.xmla.invalidURL","Please specify a valid server URL"), 3482 I18n.getString("messages.connectionDialog.xmla.invalidProperty","Invalid property!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3483 return null; 3484 } 3485 3486 ((JRXMLADataSourceConnection)irConn).setUrl( this.jTextFieldXMLAUrl.getText().trim()); 3487 3488 if (this.jComboBoxXMLADatasource.getSelectedIndex() < 0) { 3489 javax.swing.JOptionPane.showMessageDialog(this, 3490 I18n.getString("messages.connectionDialog.xmla.invalidDatasource","Please specify a valid Datasource"), 3491 I18n.getString("messages.connectionDialog.setJDBCConnectionCaption","Invalid JDBC connection!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3492 return null; 3493 } 3494 3495 ((JRXMLADataSourceConnection)irConn).setDatasource( 3496 ((String )this.jComboBoxXMLADatasource.getSelectedItem()).trim()); 3497 3498 if (this.jComboBoxXMLACatalog.getSelectedIndex() < 0) { 3499 javax.swing.JOptionPane.showMessageDialog(this, 3500 I18n.getString("messages.connectionDialog.xmla.invalidCatalog","Please specify a valid Catalog"), 3501 I18n.getString("messages.connectionDialog.setJDBCConnectionCaption","Invalid JDBC connection!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3502 return null; 3503 } 3504 3505 ((JRXMLADataSourceConnection)irConn).setCatalog( 3506 ((String )this.jComboBoxXMLACatalog.getSelectedItem()).trim()); 3507 3508 if (this.jComboBoxXMLACube.getSelectedIndex() < 0) { 3509 javax.swing.JOptionPane.showMessageDialog(this, 3510 I18n.getString("messages.connectionDialog.xmla.invalidCube","Please specify a valid Cube"), 3511 I18n.getString("messages.connectionDialog.setJDBCConnectionCaption","Invalid JDBC connection!"),javax.swing.JOptionPane.WARNING_MESSAGE ); 3512 return null; 3513 } 3514 3515 ((JRXMLADataSourceConnection)irConn).setCube( 3516 ((String )this.jComboBoxXMLACube.getSelectedItem()).trim()); 3517 3518 3519 } 3520 3521 return irConn; 3522 } 3523 3524 3525 3526 3532 private class jComboBoxCatListener implements java.awt.event.ActionListener 3533 { 3534 public void actionPerformed(java.awt.event.ActionEvent evt) { 3535 jComboBoxCatActionPerformed(evt); 3536 } 3537 } 3538 jComboBoxCatListener catListener=new jComboBoxCatListener(); 3539 3540 private class jComboBoxdsListener implements java.awt.event.ActionListener 3541 { 3542 public void actionPerformed(java.awt.event.ActionEvent evt) { 3543 jComboBoxDatasourceActionPerformed(evt); 3544 } 3545 } 3546 jComboBoxdsListener dsListener=new jComboBoxdsListener(); 3547 3548 private void jComboBoxDatasourceActionPerformed(java.awt.event.ActionEvent evt) { 3549 3550 jComboBoxXMLACatalog.removeActionListener(catListener); 3551 if (this.jComboBoxXMLADatasource.getItemCount() == 0 || this.jComboBoxXMLADatasource.getSelectedIndex() == -1) { 3552 return; 3553 } 3554 String urlstr = this.jTextFieldXMLAUrl.getText().trim(); 3555 rex.metadata.ServerMetadata smd = new rex.metadata.ServerMetadata(urlstr,(Component )getParent()); 3556 if (smd.isValidUrl() == false) { 3557 JOptionPane.showMessageDialog((Component )getParent(), 3558 I18n.getString("messages.connectionDialog.xmla.invalidUrl","Unable to connect to XMLA server."),"",JOptionPane.INFORMATION_MESSAGE); 3559 return; 3560 } 3561 3562 this.jComboBoxXMLACatalog.removeAllItems(); 3563 this.jComboBoxXMLACube.removeAllItems(); 3564 3565 DataSourceTreeElement dste[] = smd.discoverDataSources(); 3566 3567 if (dste == null || dste.length == 0) { 3568 JOptionPane.showMessageDialog((Component )getParent(), 3569 I18n.getString("messages.connectionDialog.xmla.noDatasource","No Datasources found."),"",JOptionPane.INFORMATION_MESSAGE); 3570 return; 3571 } 3572 boolean found = false; 3574 int intI = 0; 3575 while (!found && intI < dste.length) { 3576 if (dste[intI].getDataSourceInfo().compareTo((String )this.jComboBoxXMLADatasource.getSelectedItem()) == 0){ 3577 found = true; 3578 } 3579 else{ 3580 intI++; 3581 } 3582 } 3583 if (!found) { 3584 return; 3585 } 3586 rex.graphics.datasourcetree.elements.DataSourceTreeElement catalogs[] = dste[intI].getChildren(); 3587 if (catalogs == null || catalogs.length == 0) { 3588 JOptionPane.showMessageDialog((Component )getParent(), 3589 I18n.getString("messages.connectionDialog.xmla.noCatalogs","No catalogs found for selected datasource."),"",JOptionPane.INFORMATION_MESSAGE); 3590 return; 3591 } 3592 this.jComboBoxXMLACatalog.removeAllItems(); 3593 3594 for (intI = 0;intI<catalogs.length;intI++){ 3595 this.jComboBoxXMLACatalog.addItem(((rex.graphics.datasourcetree.elements.CatalogElement)catalogs[intI]).toString()); 3596 } 3597 3598 found = false; 3599 intI= 0; 3600 while (!found && intI < catalogs.length) { 3601 if (catalogs[intI].toString().trim().compareTo((String )this.jComboBoxXMLACatalog.getSelectedItem()) == 0){ 3602 found = true; 3603 } 3604 else{ 3605 intI++; 3606 } 3607 } 3608 if (!found) { 3609 return; 3610 } 3611 rex.graphics.datasourcetree.elements.DataSourceTreeElement cubes[] = catalogs[intI].getChildren(); 3612 if (cubes == null || cubes.length == 0) { 3613 return; 3614 } 3615 this.jComboBoxXMLACube.removeAllItems(); 3616 for (intI = 0;intI<cubes.length;intI++){ 3617 this.jComboBoxXMLACube.addItem(((rex.graphics.datasourcetree.elements.CubeElement)cubes[intI]).toString()); 3618 } 3619 jComboBoxXMLACatalog.addActionListener(catListener); 3620 3621 } 3622 3623 3624 private void jComboBoxCatActionPerformed(java.awt.event.ActionEvent evt) { 3625 3626 jComboBoxXMLADatasource.removeActionListener(dsListener); 3627 3628 if (this.jComboBoxXMLACatalog.getItemCount() == 0 || this.jComboBoxXMLACatalog.getSelectedIndex() == -1 ) { 3629 return; 3630 } 3631 String urlstr = this.jTextFieldXMLAUrl.getText().trim(); 3632 rex.metadata.ServerMetadata smd = new rex.metadata.ServerMetadata(urlstr,(Component )getParent()); 3633 if (smd.isValidUrl() == false) { 3634 JOptionPane.showMessageDialog((Component )getParent(), 3635 I18n.getString("messages.connectionDialog.xmla.invalidUrl","Unable to connect to XMLA server."),"",JOptionPane.INFORMATION_MESSAGE); 3636 return; 3637 } 3638 3639 this.jComboBoxXMLACube.removeAllItems(); 3640 3641 rex.graphics.datasourcetree.elements.DataSourceTreeElement dste[] = smd.discoverDataSources(); 3642 if (dste == null || dste.length == 0) { 3643 JOptionPane.showMessageDialog((Component )getParent(), 3644 I18n.getString("messages.connectionDialog.xmla.noDatasource","No Datasources found."),"",JOptionPane.INFORMATION_MESSAGE); 3645 return; 3646 } 3647 boolean found = false; 3648 int intI = 0; 3649 while (!found && intI < dste.length) { 3650 if (dste[intI].getDataSourceInfo().compareTo((String )this.jComboBoxXMLADatasource.getSelectedItem()) == 0){ 3651 found = true; 3652 } else{ 3653 intI++; 3654 } 3655 }if (!found) { 3656 return; 3657 } 3658 rex.graphics.datasourcetree.elements.DataSourceTreeElement catalogs[] = dste[intI].getChildren(); 3659 if (catalogs == null || catalogs.length == 0) { 3660 JOptionPane.showMessageDialog((Component )getParent(), 3661 I18n.getString("messages.connectionDialog.xmla.noCatalogs","No catalogs found for selected datasource."),"",JOptionPane.INFORMATION_MESSAGE); 3662 return; 3663 } 3664 this.jComboBoxXMLACatalog.removeAllItems(); 3666 for (intI = 0;intI<catalogs.length;intI++){ 3667 this.jComboBoxXMLACatalog.addItem(((rex.graphics.datasourcetree.elements.CatalogElement)catalogs[intI]).toString()); 3668 } 3669 found = false; 3670 intI = 0; 3671 while (!found && intI < catalogs.length) { 3672 if (catalogs[intI].toString().compareTo((String )this.jComboBoxXMLACatalog.getSelectedItem()) == 0){ 3673 found = true; 3674 } 3675 else{ 3676 intI++; 3677 found=false; 3678 } 3679 } 3680 if (!found) {return; 3681 } 3682 rex.graphics.datasourcetree.elements.DataSourceTreeElement cubes[] = catalogs[intI].getChildren(); 3683 if (cubes == null || cubes.length == 0) { 3684 JOptionPane.showMessageDialog((Component )getParent(), 3685 I18n.getString("messages.connectionDialog.xmla.noCubes","No cubes found for selected datasource."),"",JOptionPane.INFORMATION_MESSAGE); 3686 return; 3687 } 3688 this.jComboBoxXMLACube.removeAllItems(); 3689 for (intI = 0;intI<cubes.length;intI++){ 3690 this.jComboBoxXMLACube.addItem(((rex.graphics.datasourcetree.elements.CubeElement)cubes[intI]).toString()); 3691 } 3692 jComboBoxXMLADatasource.addActionListener(dsListener); 3693 3694 } 3695} 3696 | Popular Tags |