KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > irplugin > gui > wizard > NewReportUnitWizard


1 /*
2  * SubreportWizardPanes.java
3  *
4  * Created on March 22, 2006, 8:52 PM
5  */

6
7 package com.jaspersoft.jasperserver.irplugin.gui.wizard;
8
9 import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor;
10 import com.jaspersoft.jasperserver.irplugin.JServer;
11 import com.jaspersoft.jasperserver.irplugin.gui.DataSourceDialog;
12 import com.jaspersoft.jasperserver.irplugin.gui.RepositoryExplorer;
13 import com.jaspersoft.jasperserver.irplugin.gui.explorer.ResourceChooser;
14 import it.businesslogic.ireport.Report;
15 import it.businesslogic.ireport.gui.MainFrame;
16 import it.businesslogic.ireport.gui.wizard.BaseWizardPanel;
17 import it.businesslogic.ireport.gui.wizard.GenericWizard;
18 import it.businesslogic.ireport.util.Misc;
19 import java.io.File JavaDoc;
20 import java.util.List JavaDoc;
21 import javax.swing.JDialog JavaDoc;
22 import javax.swing.JOptionPane JavaDoc;
23 import javax.swing.JPanel JavaDoc;
24
25 /**
26  *
27  * @author gtoffoli
28  */

29 public class NewReportUnitWizard extends javax.swing.JPanel JavaDoc implements GenericWizard {
30     
31     private String JavaDoc reportFileName = null;
32     private BaseWizardPanel wizardPanel = null;
33     private javax.swing.JDialog JavaDoc wizardDialog = null;
34     
35     private JServer server = null;
36     private String JavaDoc parentFolder = null;
37     
38     private ResourceDescriptor newResourceDescriptor = null;
39     private ResourceDescriptor dataSourceDescriptor = null;
40     
41   
42     /** Creates new form SubreportWizardPanes */
43     public NewReportUnitWizard() {
44         initComponents();
45         
46         this.jTextFieldLabel.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
47             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
48                 if (wizardPanel != null) wizardPanel.updateButtons();
49             }
50             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
51                 if (wizardPanel != null) wizardPanel.updateButtons();
52             }
53             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
54                 if (wizardPanel != null) wizardPanel.updateButtons();
55             }
56         });
57         
58         this.jTextFieldName.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
59             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
60                 if (wizardPanel != null) wizardPanel.updateButtons();
61             }
62             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
63                 if (wizardPanel != null) wizardPanel.updateButtons();
64             }
65             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
66                 if (wizardPanel != null) wizardPanel.updateButtons();
67             }
68         });
69         
70         this.jTextFieldFile.getDocument().addDocumentListener( new javax.swing.event.DocumentListener JavaDoc() {
71             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
72                 if (wizardPanel != null) wizardPanel.updateButtons();
73             }
74             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
75                 if (wizardPanel != null) wizardPanel.updateButtons();
76             }
77             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
78                 if (wizardPanel != null) wizardPanel.updateButtons();
79             }
80         });
81         
82         /*
83         jRTextExpressionAreaConnectionExpression.getDocument().addDocumentListener( new DocumentListener() {
84             public void changedUpdate(DocumentEvent e) {
85                 if (wizardPanel != null) wizardPanel.updateButtons();
86             }
87             public void insertUpdate(DocumentEvent e) {
88                 if (wizardPanel != null) wizardPanel.updateButtons();
89             }
90             public void removeUpdate(DocumentEvent e) {
91                 if (wizardPanel != null) wizardPanel.updateButtons();
92             }
93         });
94         */

95         
96         if (MainFrame.getMainInstance().getActiveReportFrame() == null)
97         {
98             jButtonGetCurrentReport.setEnabled(false);
99         }
100     }
101     
102     public void startWizard()
103     {
104         wizardDialog = new JDialog JavaDoc(MainFrame.getMainInstance(),true);
105         wizardPanel = new BaseWizardPanel();
106         wizardPanel.setGenericWizard(this);
107         wizardDialog.getContentPane().add(wizardPanel);
108         wizardDialog.pack();
109         jTextFieldName.requestFocusInWindow();
110         Misc.centerFrame(wizardDialog);
111         
112         wizardDialog.setVisible(true);
113     }
114     
115     /** This method is called from within the constructor to
116      * initialize the form.
117      * WARNING: Do NOT modify this code. The content of this method is
118      * always regenerated by the Form Editor.
119      */

120     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
121
private void initComponents() {
122         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
123
124         jPanel0 = new javax.swing.JPanel JavaDoc();
125         jLabelUriString = new javax.swing.JLabel JavaDoc();
126         jTextFieldUriString = new javax.swing.JTextField JavaDoc();
127         jLabelName = new javax.swing.JLabel JavaDoc();
128         jTextFieldName = new javax.swing.JTextField JavaDoc();
129         jSeparator2 = new javax.swing.JSeparator JavaDoc();
130         jLabelLabel = new javax.swing.JLabel JavaDoc();
131         jTextFieldLabel = new javax.swing.JTextField JavaDoc();
132         jLabelDescription = new javax.swing.JLabel JavaDoc();
133         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
134         jEditorPaneDescription = new javax.swing.JEditorPane JavaDoc();
135         jPanel1 = new javax.swing.JPanel JavaDoc();
136         jLabelResourceFile = new javax.swing.JLabel JavaDoc();
137         jRadioButtonRepo1 = new javax.swing.JRadioButton JavaDoc();
138         jTextFieldFileRepo = new javax.swing.JTextField JavaDoc();
139         jButtonPickJrxml = new javax.swing.JButton JavaDoc();
140         jRadioButtonLocal1 = new javax.swing.JRadioButton JavaDoc();
141         jTextFieldFile = new javax.swing.JTextField JavaDoc();
142         jButtonBrowse = new javax.swing.JButton JavaDoc();
143         jButtonGetCurrentReport = new javax.swing.JButton JavaDoc();
144         jPanel2 = new javax.swing.JPanel JavaDoc();
145         jLabelResourceFile1 = new javax.swing.JLabel JavaDoc();
146         jRadioButtonRepo = new javax.swing.JRadioButton JavaDoc();
147         jComboBoxDatasources = new javax.swing.JComboBox JavaDoc();
148         jButtonPickResource = new javax.swing.JButton JavaDoc();
149         jRadioButtonLocal = new javax.swing.JRadioButton JavaDoc();
150         jButtonEditLocalDataSource = new javax.swing.JButton JavaDoc();
151         buttonGroup1 = new javax.swing.ButtonGroup JavaDoc();
152         buttonGroup2 = new javax.swing.ButtonGroup JavaDoc();
153
154         jPanel0.setLayout(new java.awt.GridBagLayout JavaDoc());
155
156         jPanel0.addPropertyChangeListener(new java.beans.PropertyChangeListener JavaDoc() {
157             public void propertyChange(java.beans.PropertyChangeEvent JavaDoc evt) {
158                 jPanel0PropertyChange(evt);
159             }
160         });
161
162         jLabelUriString.setText("Parent folder");
163         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
164         gridBagConstraints.gridx = 0;
165         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
166         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
167         jPanel0.add(jLabelUriString, gridBagConstraints);
168
169         jTextFieldUriString.setEditable(false);
170         jTextFieldUriString.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
171         jTextFieldUriString.setOpaque(false);
172         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
173         gridBagConstraints.gridx = 1;
174         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
175         gridBagConstraints.weightx = 1.0;
176         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
177         jPanel0.add(jTextFieldUriString, gridBagConstraints);
178
179         jLabelName.setText("Name");
180         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
181         gridBagConstraints.gridx = 0;
182         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
183         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
184         jPanel0.add(jLabelName, gridBagConstraints);
185
186         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
187         gridBagConstraints.gridx = 1;
188         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
189         gridBagConstraints.weightx = 1.0;
190         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
191         jPanel0.add(jTextFieldName, gridBagConstraints);
192
193         jSeparator2.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
194         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
195         gridBagConstraints.gridx = 0;
196         gridBagConstraints.gridwidth = 2;
197         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
198         gridBagConstraints.weightx = 1.0;
199         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 6, 4);
200         jPanel0.add(jSeparator2, gridBagConstraints);
201
202         jLabelLabel.setText("Label");
203         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
204         gridBagConstraints.gridx = 0;
205         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
206         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
207         jPanel0.add(jLabelLabel, gridBagConstraints);
208
209         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
210         gridBagConstraints.gridx = 1;
211         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
212         gridBagConstraints.weightx = 1.0;
213         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
214         jPanel0.add(jTextFieldLabel, gridBagConstraints);
215
216         jLabelDescription.setText("Description");
217         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
218         gridBagConstraints.gridx = 0;
219         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
220         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
221         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
222         jPanel0.add(jLabelDescription, gridBagConstraints);
223
224         jScrollPane1.setViewportView(jEditorPaneDescription);
225
226         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
227         gridBagConstraints.gridx = 1;
228         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
229         gridBagConstraints.weightx = 1.0;
230         gridBagConstraints.weighty = 1.0;
231         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
232         jPanel0.add(jScrollPane1, gridBagConstraints);
233
234         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
235
236         jLabelResourceFile.setText("Locate the main JRXML file");
237         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
238         gridBagConstraints.gridx = 0;
239         gridBagConstraints.gridwidth = 4;
240         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
241         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
242         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 4, 20, 4);
243         jPanel1.add(jLabelResourceFile, gridBagConstraints);
244
245         buttonGroup1.add(jRadioButtonRepo1);
246         jRadioButtonRepo1.setText("From the repository");
247         jRadioButtonRepo1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
248         jRadioButtonRepo1.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
249         jRadioButtonRepo1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
250             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
251                 jRadioButtonRepo1jRadioButtonRepoActionPerformed1(evt);
252             }
253         });
254
255         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
256         gridBagConstraints.gridx = 0;
257         gridBagConstraints.gridwidth = 2;
258         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
259         gridBagConstraints.weightx = 1.0;
260         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 8, 4, 4);
261         jPanel1.add(jRadioButtonRepo1, gridBagConstraints);
262
263         jTextFieldFileRepo.setEnabled(false);
264         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
265         gridBagConstraints.gridx = 0;
266         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
267         gridBagConstraints.weightx = 1.0;
268         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 30, 0, 0);
269         jPanel1.add(jTextFieldFileRepo, gridBagConstraints);
270
271         jButtonPickJrxml.setText("Browse");
272         jButtonPickJrxml.setEnabled(false);
273         jButtonPickJrxml.setMinimumSize(new java.awt.Dimension JavaDoc(73, 21));
274         jButtonPickJrxml.addActionListener(new java.awt.event.ActionListener JavaDoc() {
275             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
276                 jButtonPickJrxmljButton1ActionPerformed12(evt);
277             }
278         });
279
280         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
281         gridBagConstraints.gridy = 2;
282         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 30);
283         jPanel1.add(jButtonPickJrxml, gridBagConstraints);
284
285         buttonGroup1.add(jRadioButtonLocal1);
286         jRadioButtonLocal1.setSelected(true);
287         jRadioButtonLocal1.setText("Locally Defined");
288         jRadioButtonLocal1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
289         jRadioButtonLocal1.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
290         jRadioButtonLocal1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
291             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
292                 jRadioButtonLocal1jRadioButtonLocalActionPerformed1(evt);
293             }
294         });
295
296         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
297         gridBagConstraints.gridx = 0;
298         gridBagConstraints.gridwidth = 2;
299         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
300         gridBagConstraints.weightx = 1.0;
301         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 8, 4, 4);
302         jPanel1.add(jRadioButtonLocal1, gridBagConstraints);
303
304         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
305         gridBagConstraints.gridx = 0;
306         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
307         gridBagConstraints.weightx = 1.0;
308         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 30, 0, 0);
309         jPanel1.add(jTextFieldFile, gridBagConstraints);
310
311         jButtonBrowse.setText("Browse");
312         jButtonBrowse.setMinimumSize(new java.awt.Dimension JavaDoc(73, 21));
313         jButtonBrowse.addActionListener(new java.awt.event.ActionListener JavaDoc() {
314             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
315                 jButtonBrowseActionPerformed1(evt);
316             }
317         });
318
319         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
320         gridBagConstraints.gridy = 4;
321         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 30);
322         jPanel1.add(jButtonBrowse, gridBagConstraints);
323
324         jButtonGetCurrentReport.setText("Get source from current opened report");
325         jButtonGetCurrentReport.setMinimumSize(new java.awt.Dimension JavaDoc(73, 21));
326         jButtonGetCurrentReport.setPreferredSize(new java.awt.Dimension JavaDoc(219, 21));
327         jButtonGetCurrentReport.addActionListener(new java.awt.event.ActionListener JavaDoc() {
328             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
329                 jButtonGetCurrentReportjButton1ActionPerformed11(evt);
330             }
331         });
332
333         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
334         gridBagConstraints.gridx = 0;
335         gridBagConstraints.gridy = 5;
336         gridBagConstraints.gridwidth = 2;
337         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
338         gridBagConstraints.insets = new java.awt.Insets JavaDoc(2, 30, 2, 4);
339         jPanel1.add(jButtonGetCurrentReport, gridBagConstraints);
340
341         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
342
343         jLabelResourceFile1.setText("Locate the Data Source");
344         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
345         gridBagConstraints.gridx = 0;
346         gridBagConstraints.gridwidth = 4;
347         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
348         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
349         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 4, 20, 4);
350         jPanel2.add(jLabelResourceFile1, gridBagConstraints);
351
352         buttonGroup2.add(jRadioButtonRepo);
353         jRadioButtonRepo.setText("From the repository");
354         jRadioButtonRepo.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
355         jRadioButtonRepo.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
356         jRadioButtonRepo.addActionListener(new java.awt.event.ActionListener JavaDoc() {
357             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
358                 jRadioButtonRepo1jRadioButtonRepoActionPerformed11(evt);
359             }
360         });
361
362         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
363         gridBagConstraints.gridx = 0;
364         gridBagConstraints.gridwidth = 2;
365         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
366         gridBagConstraints.weightx = 1.0;
367         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 8, 4, 4);
368         jPanel2.add(jRadioButtonRepo, gridBagConstraints);
369
370         jComboBoxDatasources.setEditable(true);
371         jComboBoxDatasources.setEnabled(false);
372         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
373         gridBagConstraints.gridx = 0;
374         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
375         gridBagConstraints.weightx = 1.0;
376         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 30, 4, 2);
377         jPanel2.add(jComboBoxDatasources, gridBagConstraints);
378
379         jButtonPickResource.setText("Browse");
380         jButtonPickResource.setEnabled(false);
381         jButtonPickResource.setMinimumSize(new java.awt.Dimension JavaDoc(73, 21));
382         jButtonPickResource.addActionListener(new java.awt.event.ActionListener JavaDoc() {
383             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
384                 jButtonPickJrxmljButton1ActionPerformed121(evt);
385             }
386         });
387
388         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
389         gridBagConstraints.gridy = 2;
390         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 30);
391         jPanel2.add(jButtonPickResource, gridBagConstraints);
392
393         buttonGroup2.add(jRadioButtonLocal);
394         jRadioButtonLocal.setSelected(true);
395         jRadioButtonLocal.setText("Locally Defined");
396         jRadioButtonLocal.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
397         jRadioButtonLocal.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
398         jRadioButtonLocal.addActionListener(new java.awt.event.ActionListener JavaDoc() {
399             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
400                 jRadioButtonLocal1jRadioButtonLocalActionPerformed11(evt);
401             }
402         });
403
404         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
405         gridBagConstraints.gridx = 0;
406         gridBagConstraints.gridwidth = 2;
407         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
408         gridBagConstraints.weightx = 1.0;
409         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 8, 4, 4);
410         jPanel2.add(jRadioButtonLocal, gridBagConstraints);
411
412         jButtonEditLocalDataSource.setText("Edit local datasource");
413         jButtonEditLocalDataSource.addActionListener(new java.awt.event.ActionListener JavaDoc() {
414             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
415                 jButtonEditLocalDataSourceActionPerformed(evt);
416             }
417         });
418
419         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
420         gridBagConstraints.gridx = 0;
421         gridBagConstraints.gridwidth = 2;
422         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
423         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 30, 0, 0);
424         jPanel2.add(jButtonEditLocalDataSource, gridBagConstraints);
425
426         setLayout(new java.awt.BorderLayout JavaDoc());
427
428     }// </editor-fold>//GEN-END:initComponents
429

430     private void jButtonEditLocalDataSourceActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonEditLocalDataSourceActionPerformed
431
DataSourceDialog dtd = new DataSourceDialog(MainFrame.getMainInstance(),true);
432         dtd.setServer(this.getServer());
433         dtd.setParentFolder( this.getParentFolder() + "/<dataSource>");
434         dtd.setDoNotStore(true);
435         if (dataSourceDescriptor != null) {
436             dtd.setResource(dataSourceDescriptor);
437         }
438         
439         dtd.setVisible(true);
440         
441         if (dtd.getDialogResult() == JOptionPane.OK_OPTION) {
442             dataSourceDescriptor = dtd.getNewResourceDescriptor();
443         }
444     }//GEN-LAST:event_jButtonEditLocalDataSourceActionPerformed
445

446     private void jRadioButtonLocal1jRadioButtonLocalActionPerformed11(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonLocal1jRadioButtonLocalActionPerformed11
447
updateResourceFromType();
448     }//GEN-LAST:event_jRadioButtonLocal1jRadioButtonLocalActionPerformed11
449

450     private void jButtonPickJrxmljButton1ActionPerformed121(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPickJrxmljButton1ActionPerformed121
451
ResourceChooser rc = new ResourceChooser();
452         rc.setServer( getServer() );
453         if (rc.showDialog(this, null) == JOptionPane.OK_OPTION) {
454             ResourceDescriptor rd = rc.getSelectedDescriptor();
455             
456             if (!RepositoryExplorer.isDataSource( rd ))
457             {
458                 JOptionPane.showMessageDialog(MainFrame.getMainInstance(),"Please choose a DataSource resource","",JOptionPane.WARNING_MESSAGE);
459                 return;
460             }
461             
462             if (rd == null || rd.getUriString() == null) {
463                 jComboBoxDatasources.setSelectedItem("");
464             } else {
465                 jComboBoxDatasources.setSelectedItem( rd.getUriString() );
466             }
467             if (wizardPanel != null) wizardPanel.updateButtons();
468         }
469     }//GEN-LAST:event_jButtonPickJrxmljButton1ActionPerformed121
470

471     private void jRadioButtonRepo1jRadioButtonRepoActionPerformed11(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonRepo1jRadioButtonRepoActionPerformed11
472
updateResourceFromType();
473     }//GEN-LAST:event_jRadioButtonRepo1jRadioButtonRepoActionPerformed11
474

475     private void jButtonGetCurrentReportjButton1ActionPerformed11(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonGetCurrentReportjButton1ActionPerformed11
476

477         Report report = MainFrame.getMainInstance().getActiveReportFrame().getReport();
478         if (report.getFilename() == null) {
479             if (JOptionPane.showConfirmDialog(this,"Save the report now?") == JOptionPane.OK_OPTION) {
480                 MainFrame.getMainInstance().save( MainFrame.getMainInstance().getActiveReportFrame() );
481             } else {
482                 return;
483             }
484         }
485         jTextFieldFile.setText( report.getFilename() );
486     }//GEN-LAST:event_jButtonGetCurrentReportjButton1ActionPerformed11
487

488     private void jButtonBrowseActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonBrowseActionPerformed1
489
String JavaDoc fileName = "";
490         javax.swing.JFileChooser JavaDoc jfc = new javax.swing.JFileChooser JavaDoc(MainFrame.getMainInstance().getCurrentDirectory());
491         
492         jfc.setDialogTitle("Pick a file....");
493         
494         jfc.setFileFilter( new javax.swing.filechooser.FileFilter JavaDoc() {
495             public boolean accept(java.io.File JavaDoc file) {
496                 String JavaDoc filename = file.getName();
497                 return (filename.toLowerCase().endsWith(".xml") || file.isDirectory() || filename.toLowerCase().endsWith(".jrxml")) ;
498             }
499             public String JavaDoc getDescription() {
500                 return "JasperReports XML *.xml, *.jrxml";
501             }
502         });
503         
504         jfc.setMultiSelectionEnabled(false);
505         jfc.setDialogType( javax.swing.JFileChooser.OPEN_DIALOG);
506         if (jfc.showOpenDialog( this) == javax.swing.JOptionPane.OK_OPTION) {
507             
508             jTextFieldFile.setText( jfc.getSelectedFile()+"");
509             if (wizardPanel != null) wizardPanel.updateButtons();
510         }
511     }//GEN-LAST:event_jButtonBrowseActionPerformed1
512

513     private void jRadioButtonLocal1jRadioButtonLocalActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonLocal1jRadioButtonLocalActionPerformed1
514
updateJrxmlFromType();
515     }//GEN-LAST:event_jRadioButtonLocal1jRadioButtonLocalActionPerformed1
516

517     private void jButtonPickJrxmljButton1ActionPerformed12(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPickJrxmljButton1ActionPerformed12
518
ResourceChooser rc = new ResourceChooser();
519         rc.setServer( getServer() );
520         if (rc.showDialog(this, null) == JOptionPane.OK_OPTION) {
521             ResourceDescriptor rd = rc.getSelectedDescriptor();
522             
523             if (rd == null || rd.getUriString() == null) {
524                 jTextFieldFileRepo.setText("");
525             } else {
526                 if (!rd.getWsType().equals(rd.TYPE_JRXML) ) {
527                     JOptionPane.showMessageDialog(MainFrame.getMainInstance(),"Please choose a JRXML resource","",JOptionPane.WARNING_MESSAGE);
528                     return;
529                 } else {
530                     jTextFieldFileRepo.setText( rd.getUriString() );
531                 }
532             }
533         }
534     }//GEN-LAST:event_jButtonPickJrxmljButton1ActionPerformed12
535

536     private void jRadioButtonRepo1jRadioButtonRepoActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonRepo1jRadioButtonRepoActionPerformed1
537
updateJrxmlFromType();
538     }//GEN-LAST:event_jRadioButtonRepo1jRadioButtonRepoActionPerformed1
539

540     private void jPanel0PropertyChange(java.beans.PropertyChangeEvent JavaDoc evt) {//GEN-FIRST:event_jPanel0PropertyChange
541

542         
543         
544     }//GEN-LAST:event_jPanel0PropertyChange
545

546     
547     // Variables declaration - do not modify//GEN-BEGIN:variables
548
private javax.swing.ButtonGroup JavaDoc buttonGroup1;
549     private javax.swing.ButtonGroup JavaDoc buttonGroup2;
550     private javax.swing.JButton JavaDoc jButtonBrowse;
551     private javax.swing.JButton JavaDoc jButtonEditLocalDataSource;
552     private javax.swing.JButton JavaDoc jButtonGetCurrentReport;
553     private javax.swing.JButton JavaDoc jButtonPickJrxml;
554     private javax.swing.JButton JavaDoc jButtonPickResource;
555     private javax.swing.JComboBox JavaDoc jComboBoxDatasources;
556     private javax.swing.JEditorPane JavaDoc jEditorPaneDescription;
557     private javax.swing.JLabel JavaDoc jLabelDescription;
558     private javax.swing.JLabel JavaDoc jLabelLabel;
559     private javax.swing.JLabel JavaDoc jLabelName;
560     private javax.swing.JLabel JavaDoc jLabelResourceFile;
561     private javax.swing.JLabel JavaDoc jLabelResourceFile1;
562     private javax.swing.JLabel JavaDoc jLabelUriString;
563     private javax.swing.JPanel JavaDoc jPanel0;
564     private javax.swing.JPanel JavaDoc jPanel1;
565     private javax.swing.JPanel JavaDoc jPanel2;
566     private javax.swing.JRadioButton JavaDoc jRadioButtonLocal;
567     private javax.swing.JRadioButton JavaDoc jRadioButtonLocal1;
568     private javax.swing.JRadioButton JavaDoc jRadioButtonRepo;
569     private javax.swing.JRadioButton JavaDoc jRadioButtonRepo1;
570     private javax.swing.JScrollPane JavaDoc jScrollPane1;
571     private javax.swing.JSeparator JavaDoc jSeparator2;
572     private javax.swing.JTextField JavaDoc jTextFieldFile;
573     private javax.swing.JTextField JavaDoc jTextFieldFileRepo;
574     private javax.swing.JTextField JavaDoc jTextFieldLabel;
575     private javax.swing.JTextField JavaDoc jTextFieldName;
576     private javax.swing.JTextField JavaDoc jTextFieldUriString;
577     // End of variables declaration//GEN-END:variables
578

579
580     public String JavaDoc[] getStepsNames() {
581         
582         String JavaDoc[] names = new String JavaDoc[3];
583         names[0] = "Naming";
584         names[1] = "Main JRXML";
585         names[2] = "Locate Data Source";
586         //names[3] = "Resources List";
587
//names[4] = "Finish";
588

589         return names;
590     }
591
592     public String JavaDoc getStepDescription(int step) {
593         
594         if (step==0) return "Report name and label";
595         if (step==1) return "The main JRXML source file";
596         if (step==2) return "Locate the datasource to use with this report";
597         if (step==3) return "Add input controls and other resources";
598         if (step==4) return "Save";
599         
600         return "";
601     }
602
603     public void initWizard() {
604         
605     }
606
607     public void finish(int currentStep) {
608         
609         if (currentStep > 0)
610         {
611             ResourceDescriptor rd = new ResourceDescriptor();
612
613             File JavaDoc resourceFile = null;
614
615             rd.setWsType( ResourceDescriptor.TYPE_REPORTUNIT );
616             rd.setDescription( jEditorPaneDescription.getText().trim() ); //getResource().getDescriptor().getDescription()
617
rd.setName( jTextFieldName.getText() );
618             String JavaDoc uri = getParentFolder();
619             if (!uri.endsWith("/")) uri = uri + "/";
620             uri += jTextFieldName.getText();
621             rd.setUriString( uri );
622             rd.setLabel(jTextFieldLabel.getText().trim() ); //getResource().getDescriptor().getLabel() );
623
rd.setParentFolder( getParentFolder() );
624             rd.setIsNew( true );
625
626             // Add the datasource resource...
627
ResourceDescriptor tmpDataSourceDescriptor;
628             if (jRadioButtonRepo.isSelected())
629             {
630                 tmpDataSourceDescriptor = new ResourceDescriptor();
631                 tmpDataSourceDescriptor.setWsType( ResourceDescriptor.TYPE_DATASOURCE );
632                 tmpDataSourceDescriptor.setReferenceUri( jComboBoxDatasources.getSelectedItem()+"");
633                 tmpDataSourceDescriptor.setIsReference(true);
634             }
635             else
636             {
637                 if (dataSourceDescriptor == null)
638                 {
639                     JOptionPane.showMessageDialog(this,"The local datasource is not correctly defined.\nPress the button \"Edit local datasource\" to fix the problem.");
640                     return;
641                 }
642                 tmpDataSourceDescriptor = dataSourceDescriptor;
643                 tmpDataSourceDescriptor.setIsReference(false);
644             }
645
646
647             rd.getChildren().add( tmpDataSourceDescriptor );
648
649             // Add the jrxml resource...
650
ResourceDescriptor jrxmlDescriptor = new ResourceDescriptor();
651             jrxmlDescriptor.setWsType( ResourceDescriptor.TYPE_JRXML );
652
653             if (jRadioButtonRepo1.isSelected())
654             {
655                 jrxmlDescriptor.setIsNew(true);
656                 jrxmlDescriptor.setMainReport(true);
657                 jrxmlDescriptor.setIsReference(true);
658                 jrxmlDescriptor.setReferenceUri( jTextFieldFileRepo.getText() );
659                 rd.getChildren().add( jrxmlDescriptor );
660             }
661             else
662             {
663                     jrxmlDescriptor.setName( jTextFieldName.getText() + "_jrxml");
664                     jrxmlDescriptor.setLabel("Main jrxml"); //getResource().getDescriptor().getLabel() );
665
jrxmlDescriptor.setDescription("Main jrxml"); //getResource().getDescriptor().getDescription()
666
jrxmlDescriptor.setIsNew(true);
667                     jrxmlDescriptor.setHasData(true);
668                     jrxmlDescriptor.setMainReport(true);
669                     resourceFile = new File JavaDoc( jTextFieldFile.getText());
670
671                     if (!resourceFile.exists()) {
672                         JOptionPane.showMessageDialog(this, jTextFieldFile.getText() + "\n\nFile not found!");
673                         return;
674                     }
675                     rd.getChildren().add( jrxmlDescriptor );
676             }
677
678             try {
679                 newResourceDescriptor = getServer().getWSClient().addOrModifyResource(rd, resourceFile);
680
681             } catch (Exception JavaDoc ex) {
682                 JOptionPane.showMessageDialog(this,"Error: " + ex.getMessage());
683                 ex.printStackTrace();
684                 return;
685             }
686         }
687         
688         this.getWizardDialog().setVisible(false);
689         this.getWizardDialog().dispose();
690     }
691     
692     public boolean nextStep(int nextStep) {
693         
694         if (nextStep == 0) // First step == 0
695
{
696         }
697         else if (nextStep == 1) // First step == 0
698
{
699            
700         }
701         else if (nextStep == 2) // First step == 0
702
{
703            
704         }
705         return true;
706     }
707
708     public boolean previousStep(int previousStep) {
709         return true;
710     }
711
712     public boolean canFinish(int currentStep) {
713          if (currentStep < 2) return false;
714          if (currentStep == 2 )
715          {
716              if (jRadioButtonRepo.isSelected() && jComboBoxDatasources.getSelectedItem() != null
717                 && jComboBoxDatasources.getSelectedItem().toString().trim().length() > 0) return true;
718              if (jRadioButtonLocal.isSelected() && dataSourceDescriptor != null) return true;
719          }
720          return true;
721     }
722
723     public boolean canNext(int currentStep) {
724         
725         if (currentStep == 0)
726         {
727             if (jTextFieldName.getText().trim().length() > 0 &&
728                 jTextFieldLabel.getText().trim().length() > 0)
729             return true;
730         }
731         else if (currentStep == 1)
732         {
733             if (jRadioButtonRepo1.isSelected() && jTextFieldFileRepo.getText().trim().length() > 0) return true;
734             if (jRadioButtonLocal1.isSelected() && jTextFieldFile.getText().trim().length() > 0) return true;
735         }
736         else if (currentStep == 2)
737         {
738             return false;
739             
740         }
741         return false;
742     }
743
744     public boolean canPrevious(int currentStep) {
745         return (currentStep > 0);
746     }
747
748     public JPanel JavaDoc getStepPanel(int step) {
749        if (step == 0) return jPanel0;
750        if (step == 1) return jPanel1;
751        if (step == 2) return jPanel2;
752        //if (step == 3) return jPanel3;
753
return null;
754     }
755
756     public BaseWizardPanel getWizardPanel() {
757         return wizardPanel;
758     }
759
760     public void setWizardPanel(BaseWizardPanel wizardPanel) {
761         this.wizardPanel = wizardPanel;
762     }
763
764     public javax.swing.JDialog JavaDoc getWizardDialog() {
765         return wizardDialog;
766     }
767
768     public void setWizardDialog(javax.swing.JDialog JavaDoc wizardDialog) {
769         this.wizardDialog = wizardDialog;
770     }
771
772     public JServer getServer() {
773         return server;
774     }
775
776     public void setServer(JServer server) {
777         this.server = server;
778     }
779
780     public String JavaDoc getParentFolder() {
781         return parentFolder;
782     }
783
784     public void setParentFolder(String JavaDoc parentFolder) {
785         this.parentFolder = parentFolder;
786     }
787     
788     
789     public void updateJrxmlFromType()
790     {
791         jTextFieldFileRepo.setEnabled( jRadioButtonRepo1.isSelected() );
792         jButtonPickJrxml.setEnabled( jRadioButtonRepo1.isSelected() );
793         jTextFieldFile.setEnabled( jRadioButtonLocal1.isSelected() );
794         jButtonBrowse.setEnabled( jRadioButtonLocal1.isSelected() );
795         jButtonGetCurrentReport.setEnabled( jRadioButtonLocal1.isSelected() );
796         
797         if (wizardPanel != null) wizardPanel.updateButtons();
798     }
799     
800     public void updateResourceFromType()
801     {
802         jComboBoxDatasources.setEnabled( jRadioButtonRepo.isSelected() );
803         jButtonPickResource.setEnabled( jRadioButtonRepo.isSelected() );
804         jButtonEditLocalDataSource.setEnabled( jRadioButtonLocal.isSelected() );
805         
806         if (wizardPanel != null) wizardPanel.updateButtons();
807     }
808     
809     /**
810      * Accept a list of Strings or ResourceDescriptor
811      */

812     public void setDatasources(List JavaDoc datasources)
813     {
814         jComboBoxDatasources.removeAllItems();
815         for (int i=0; i<datasources.size(); ++i)
816         {
817             Object JavaDoc datasource = datasources.get(i);
818             if (datasource instanceof java.lang.String JavaDoc)
819             {
820                 jComboBoxDatasources.addItem(datasource);
821             }
822             else if (datasource instanceof ResourceDescriptor)
823             {
824                 jComboBoxDatasources.addItem(((ResourceDescriptor)datasource).getUriString());
825             }
826         }
827         
828         if (jComboBoxDatasources.getItemCount() > 0)
829         {
830             jComboBoxDatasources.setSelectedIndex(0);
831         }
832     }
833
834     public ResourceDescriptor getNewResourceDescriptor() {
835         return newResourceDescriptor;
836     }
837     
838 }
839
Popular Tags