KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > irplugin > gui > ResourceReferenceDialog


1 /*
2  * DataSourceDialog.java
3  *
4  * Created on April 22, 2006, 10:48 AM
5  */

6
7 package com.jaspersoft.jasperserver.irplugin.gui;
8
9 import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor;
10 import com.jaspersoft.jasperserver.irplugin.IRPlugin;
11 import com.jaspersoft.jasperserver.irplugin.RepositoryFile;
12 import com.jaspersoft.jasperserver.irplugin.RepositoryFolder;
13 import com.jaspersoft.jasperserver.irplugin.gui.explorer.ResourceChooser;
14 import it.businesslogic.ireport.IReportConnection;
15 import it.businesslogic.ireport.connection.JDBCConnection;
16 import it.businesslogic.ireport.gui.MainFrame;
17 import java.io.File JavaDoc;
18 import java.io.InputStream JavaDoc;
19 import java.util.Date JavaDoc;
20 import java.util.List JavaDoc;
21 import javax.swing.JOptionPane JavaDoc;
22 import com.jaspersoft.jasperserver.irplugin.JServer;
23
24 /**
25  *
26  * @author gtoffoli
27  */

28 public class ResourceReferenceDialog extends javax.swing.JDialog JavaDoc {
29     
30     private int dialogResult = JOptionPane.CANCEL_OPTION;
31     
32     private JServer server = null;
33     private String JavaDoc parentFolder = null;
34     private RepositoryFolder referenceResource = null;
35     private ResourceDescriptor resourceReferenceDescriptor = null;
36     
37     private ResourceDescriptor newResourceDescriptor = null;
38     
39     /**
40      * Creates new form DataSourceDialog
41      */

42     public ResourceReferenceDialog(java.awt.Frame JavaDoc parent, boolean modal) {
43         super(parent, modal);
44         initComponents();
45         
46         it.businesslogic.ireport.util.Misc.centerFrame(this);
47         javax.swing.event.DocumentListener JavaDoc changesListener = new javax.swing.event.DocumentListener JavaDoc() {
48             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
49                 updateSaveButton();
50             }
51             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
52                 updateSaveButton();
53             }
54             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
55                 updateSaveButton();
56             }
57         };
58         
59         this.jTextFieldLabel.getDocument().addDocumentListener(changesListener);
60         this.jTextFieldName.getDocument().addDocumentListener(changesListener);
61         this.jTextFieldReferenceUri.getDocument().addDocumentListener(changesListener);
62
63         
64         jTextFieldName.requestFocusInWindow();
65     }
66     
67     
68     private void updateSaveButton()
69     {
70         if (jTextFieldLabel.getText().length() > 0 &&
71             jTextFieldName.getText().length() > 0 &&
72             jTextFieldReferenceUri.getText().length() > 0)
73         {
74             jButtonSave.setEnabled(true);
75         }
76         else
77         {
78             jButtonSave.setEnabled(false);
79         }
80     }
81     
82     /** This method is called from within the constructor to
83      * initialize the form.
84      * WARNING: Do NOT modify this code. The content of this method is
85      * always regenerated by the Form Editor.
86      */

87     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
88
private void initComponents() {
89         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
90
91         buttonGroup1 = new javax.swing.ButtonGroup JavaDoc();
92         jPanel1 = new javax.swing.JPanel JavaDoc();
93         jLabel1 = new javax.swing.JLabel JavaDoc();
94         jSeparator1 = new javax.swing.JSeparator JavaDoc();
95         jTabbedPane1 = new javax.swing.JTabbedPane JavaDoc();
96         jPanel2 = new javax.swing.JPanel JavaDoc();
97         jLabelUriString = new javax.swing.JLabel JavaDoc();
98         jTextFieldUriString = new javax.swing.JTextField JavaDoc();
99         jLabelName = new javax.swing.JLabel JavaDoc();
100         jTextFieldName = new javax.swing.JTextField JavaDoc();
101         jSeparator2 = new javax.swing.JSeparator JavaDoc();
102         jLabelLabel = new javax.swing.JLabel JavaDoc();
103         jTextFieldLabel = new javax.swing.JTextField JavaDoc();
104         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
105         jEditorPaneDescription = new javax.swing.JEditorPane JavaDoc();
106         jLabelDescription = new javax.swing.JLabel JavaDoc();
107         jSeparator3 = new javax.swing.JSeparator JavaDoc();
108         jLabelResourceFile = new javax.swing.JLabel JavaDoc();
109         jTextFieldReferenceUri = new javax.swing.JTextField JavaDoc();
110         jButton1 = new javax.swing.JButton JavaDoc();
111         jPanel3 = new javax.swing.JPanel JavaDoc();
112         jLabelUriString1 = new javax.swing.JLabel JavaDoc();
113         jTextFieldResUriString = new javax.swing.JTextField JavaDoc();
114         jLabelUriString2 = new javax.swing.JLabel JavaDoc();
115         jTextFieldResType = new javax.swing.JTextField JavaDoc();
116         jLabelName1 = new javax.swing.JLabel JavaDoc();
117         jTextFieldResName = new javax.swing.JTextField JavaDoc();
118         jLabelName2 = new javax.swing.JLabel JavaDoc();
119         jTextFieldResLabel = new javax.swing.JTextField JavaDoc();
120         jSeparator5 = new javax.swing.JSeparator JavaDoc();
121         jButtonOpenReferencedResource = new javax.swing.JButton JavaDoc();
122         jPanel4 = new javax.swing.JPanel JavaDoc();
123         jButtonSave = new javax.swing.JButton JavaDoc();
124         jButtonClose = new javax.swing.JButton JavaDoc();
125
126         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
127
128         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
129         setTitle("DataSource");
130         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
131
132         jPanel1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
133         jLabel1.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 12));
134         jLabel1.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/com/jaspersoft/jasperserver/irplugin/res/datasource_new.png")));
135         jLabel1.setText("Resource reference");
136         jLabel1.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
137         jLabel1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
138         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
139         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
140         gridBagConstraints.weightx = 1.0;
141         gridBagConstraints.weighty = 1.0;
142         jPanel1.add(jLabel1, gridBagConstraints);
143
144         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
145         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
146         getContentPane().add(jPanel1, gridBagConstraints);
147
148         jSeparator1.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
149         jSeparator1.setPreferredSize(new java.awt.Dimension JavaDoc(2, 2));
150         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
151         gridBagConstraints.gridx = 0;
152         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
153         gridBagConstraints.weightx = 1.0;
154         getContentPane().add(jSeparator1, gridBagConstraints);
155
156         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
157
158         jPanel2.setPreferredSize(new java.awt.Dimension JavaDoc(400, 185));
159         jLabelUriString.setText("Parent folder");
160         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
161         gridBagConstraints.gridx = 0;
162         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
163         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
164         jPanel2.add(jLabelUriString, gridBagConstraints);
165
166         jTextFieldUriString.setEditable(false);
167         jTextFieldUriString.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
168         jTextFieldUriString.setOpaque(false);
169         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
170         gridBagConstraints.gridx = 1;
171         gridBagConstraints.gridwidth = 2;
172         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
173         gridBagConstraints.weightx = 1.0;
174         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
175         jPanel2.add(jTextFieldUriString, gridBagConstraints);
176
177         jLabelName.setText("Name");
178         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
179         gridBagConstraints.gridx = 0;
180         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
181         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
182         jPanel2.add(jLabelName, gridBagConstraints);
183
184         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
185         gridBagConstraints.gridx = 1;
186         gridBagConstraints.gridwidth = 2;
187         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
188         gridBagConstraints.weightx = 1.0;
189         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
190         jPanel2.add(jTextFieldName, gridBagConstraints);
191
192         jSeparator2.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
193         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
194         gridBagConstraints.gridx = 0;
195         gridBagConstraints.gridwidth = 3;
196         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
197         gridBagConstraints.weightx = 1.0;
198         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 6, 4);
199         jPanel2.add(jSeparator2, gridBagConstraints);
200
201         jLabelLabel.setText("Label");
202         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
203         gridBagConstraints.gridx = 0;
204         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
205         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
206         jPanel2.add(jLabelLabel, gridBagConstraints);
207
208         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
209         gridBagConstraints.gridx = 1;
210         gridBagConstraints.gridwidth = 2;
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         jPanel2.add(jTextFieldLabel, gridBagConstraints);
215
216         jScrollPane1.setViewportView(jEditorPaneDescription);
217
218         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
219         gridBagConstraints.gridx = 1;
220         gridBagConstraints.gridwidth = 2;
221         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
222         gridBagConstraints.weightx = 1.0;
223         gridBagConstraints.weighty = 1.0;
224         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
225         jPanel2.add(jScrollPane1, gridBagConstraints);
226
227         jLabelDescription.setText("Description");
228         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
229         gridBagConstraints.gridx = 0;
230         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
231         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
232         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
233         jPanel2.add(jLabelDescription, gridBagConstraints);
234
235         jSeparator3.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
236         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
237         gridBagConstraints.gridx = 0;
238         gridBagConstraints.gridwidth = 3;
239         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
240         gridBagConstraints.weightx = 1.0;
241         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 6, 4);
242         jPanel2.add(jSeparator3, gridBagConstraints);
243
244         jLabelResourceFile.setText(" Reference URI");
245         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
246         gridBagConstraints.gridx = 0;
247         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
248         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 8, 4);
249         jPanel2.add(jLabelResourceFile, gridBagConstraints);
250
251         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
252         gridBagConstraints.gridx = 1;
253         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
254         gridBagConstraints.weightx = 1.0;
255         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 8, 4);
256         jPanel2.add(jTextFieldReferenceUri, gridBagConstraints);
257
258         jButton1.setText("Browse");
259         jButton1.setMinimumSize(new java.awt.Dimension JavaDoc(73, 19));
260         jButton1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
261             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
262                 jButton1ActionPerformed(evt);
263             }
264         });
265
266         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
267         gridBagConstraints.gridx = 2;
268         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 8, 4);
269         jPanel2.add(jButton1, gridBagConstraints);
270
271         jTabbedPane1.addTab("General", jPanel2);
272
273         jPanel3.setLayout(new java.awt.GridBagLayout JavaDoc());
274
275         jLabelUriString1.setText("URI");
276         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
277         gridBagConstraints.gridx = 0;
278         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
279         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
280         jPanel3.add(jLabelUriString1, gridBagConstraints);
281
282         jTextFieldResUriString.setEditable(false);
283         jTextFieldResUriString.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
284         jTextFieldResUriString.setOpaque(false);
285         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
286         gridBagConstraints.gridx = 1;
287         gridBagConstraints.gridwidth = 2;
288         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
289         gridBagConstraints.weightx = 1.0;
290         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
291         jPanel3.add(jTextFieldResUriString, gridBagConstraints);
292
293         jLabelUriString2.setText("Type");
294         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
295         gridBagConstraints.gridx = 0;
296         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
297         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
298         jPanel3.add(jLabelUriString2, gridBagConstraints);
299
300         jTextFieldResType.setEditable(false);
301         jTextFieldResType.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
302         jTextFieldResType.setOpaque(false);
303         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
304         gridBagConstraints.gridx = 1;
305         gridBagConstraints.gridwidth = 2;
306         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
307         gridBagConstraints.weightx = 1.0;
308         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
309         jPanel3.add(jTextFieldResType, gridBagConstraints);
310
311         jLabelName1.setText("Name");
312         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
313         gridBagConstraints.gridx = 0;
314         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
315         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
316         jPanel3.add(jLabelName1, gridBagConstraints);
317
318         jTextFieldResName.setEditable(false);
319         jTextFieldResName.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
320         jTextFieldResName.setOpaque(false);
321         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
322         gridBagConstraints.gridx = 1;
323         gridBagConstraints.gridwidth = 2;
324         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
325         gridBagConstraints.weightx = 1.0;
326         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
327         jPanel3.add(jTextFieldResName, gridBagConstraints);
328
329         jLabelName2.setText("Label");
330         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
331         gridBagConstraints.gridx = 0;
332         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
333         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
334         jPanel3.add(jLabelName2, gridBagConstraints);
335
336         jTextFieldResLabel.setEditable(false);
337         jTextFieldResLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
338         jTextFieldResLabel.setOpaque(false);
339         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
340         gridBagConstraints.gridx = 1;
341         gridBagConstraints.gridwidth = 2;
342         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
343         gridBagConstraints.weightx = 1.0;
344         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
345         jPanel3.add(jTextFieldResLabel, gridBagConstraints);
346
347         jSeparator5.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
348         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
349         gridBagConstraints.gridx = 0;
350         gridBagConstraints.gridwidth = 3;
351         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
352         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
353         gridBagConstraints.weightx = 1.0;
354         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 6, 4);
355         jPanel3.add(jSeparator5, gridBagConstraints);
356
357         jButtonOpenReferencedResource.setText("Open this resource");
358         jButtonOpenReferencedResource.setEnabled(false);
359         jButtonOpenReferencedResource.setMinimumSize(new java.awt.Dimension JavaDoc(73, 19));
360         jButtonOpenReferencedResource.addActionListener(new java.awt.event.ActionListener JavaDoc() {
361             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
362                 jButton1ActionPerformed1(evt);
363             }
364         });
365
366         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
367         gridBagConstraints.gridx = 0;
368         gridBagConstraints.gridwidth = 3;
369         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
370         gridBagConstraints.weightx = 1.0;
371         gridBagConstraints.weighty = 1.0;
372         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
373         jPanel3.add(jButtonOpenReferencedResource, gridBagConstraints);
374
375         jTabbedPane1.addTab("Referenced resource details", jPanel3);
376
377         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
378         gridBagConstraints.gridx = 0;
379         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
380         gridBagConstraints.weightx = 1.0;
381         gridBagConstraints.weighty = 1.0;
382         getContentPane().add(jTabbedPane1, gridBagConstraints);
383
384         jPanel4.setLayout(new java.awt.GridBagLayout JavaDoc());
385
386         jPanel4.setMinimumSize(new java.awt.Dimension JavaDoc(10, 30));
387         jPanel4.setPreferredSize(new java.awt.Dimension JavaDoc(10, 30));
388         jButtonSave.setText("Create reference");
389         jButtonSave.setEnabled(false);
390         jButtonSave.addActionListener(new java.awt.event.ActionListener JavaDoc() {
391             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
392                 jButtonSaveActionPerformed(evt);
393             }
394         });
395
396         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
397         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
398         gridBagConstraints.weightx = 1.0;
399         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
400         jPanel4.add(jButtonSave, gridBagConstraints);
401
402         jButtonClose.setText("Cancel");
403         jButtonClose.addActionListener(new java.awt.event.ActionListener JavaDoc() {
404             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
405                 jButtonCloseActionPerformed(evt);
406             }
407         });
408
409         jPanel4.add(jButtonClose, new java.awt.GridBagConstraints JavaDoc());
410
411         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
412         gridBagConstraints.gridx = 0;
413         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
414         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
415         getContentPane().add(jPanel4, gridBagConstraints);
416
417         pack();
418     }// </editor-fold>//GEN-END:initComponents
419

420     private void jButton1ActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton1ActionPerformed1
421

422         if (resourceReferenceDescriptor != null)
423         {
424             try {
425                 // We assume that a regerence points ever to another file resource.
426
RepositoryFolder rf = RepositoryExplorer.createRepositoryObject(server, resourceReferenceDescriptor);
427
428                 ObjectPropertiesDialog opd = new ObjectPropertiesDialog(MainFrame.getMainInstance(),true);
429                 opd.setResource(rf);
430                 opd.setVisible(true);
431                 if (opd.getDialogResult() == JOptionPane.OK_OPTION)
432                 {
433                     updateReferenceDescriptor();
434                     IRPlugin.getMainInstance().getRepositoryExplorer().getTreeRepository().updateUI();
435                 }
436                 
437             }
438             catch (Exception JavaDoc ex)
439             {
440                 JOptionPane.showMessageDialog(this,"Error: " + ex.getMessage());
441                 ex.printStackTrace();
442             }
443         }
444         
445     }//GEN-LAST:event_jButton1ActionPerformed1
446

447     private void jButton1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton1ActionPerformed
448

449         ResourceChooser rc = new ResourceChooser();
450         rc.setServer( getServer() );
451         if (rc.showDialog(this, null) == JOptionPane.OK_OPTION)
452         {
453             ResourceDescriptor rd = rc.getSelectedDescriptor();
454         
455             jTextFieldReferenceUri.setText( rd.getUriString() );
456             updateSaveButton();
457         }
458     }//GEN-LAST:event_jButton1ActionPerformed
459

460     private void jButtonCloseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCloseActionPerformed
461

462         this.setVisible(false);
463         this.dispose();
464     }//GEN-LAST:event_jButtonCloseActionPerformed
465

466     private void jButtonSaveActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonSaveActionPerformed
467

468         
469         ResourceDescriptor rd = new ResourceDescriptor();
470         
471         rd.setDescription( jEditorPaneDescription.getText().trim() ); //getResource().getDescriptor().getDescription()
472
rd.setName( jTextFieldName.getText() );
473         String JavaDoc uri = getParentFolder();
474         
475         String JavaDoc parentUnit = uri;
476         if (parentUnit.endsWith("/")) parentUnit = parentUnit.substring(0,parentUnit.length()-1);
477         if (!uri.endsWith("/")) uri = uri + "/";
478         
479         
480         uri += jTextFieldName.getText();
481         rd.setUriString( uri );
482         rd.setLabel(jTextFieldLabel.getText().trim() ); //getResource().getDescriptor().getLabel() );
483
rd.setParentFolder( getParentFolder() );
484         rd.setIsNew(referenceResource == null);
485         rd.setIsReference(true);
486         
487         rd.setWsType( ResourceDescriptor.TYPE_REFERENCE );
488         rd.setReferenceUri( jTextFieldReferenceUri.getText() );
489         
490         try {
491             newResourceDescriptor = getServer().getWSClient().modifyReportUnitResource(parentUnit,rd, null);
492             setDialogResult(JOptionPane.OK_OPTION);
493             
494             if (referenceResource != null)
495             {
496                 referenceResource.setDescriptor(newResourceDescriptor);
497             }
498             
499             this.setVisible(false);
500             this.dispose();
501             
502         } catch (Exception JavaDoc ex) {
503             JOptionPane.showMessageDialog(this,"Error: " + ex.getMessage());
504             ex.printStackTrace();
505             return;
506         }
507     }//GEN-LAST:event_jButtonSaveActionPerformed
508

509
510     public int getDialogResult() {
511         return dialogResult;
512     }
513                 
514     public void setDialogResult(int dialogResult) {
515         this.dialogResult = dialogResult;
516     }
517     
518     
519     public JServer getServer() {
520         return server;
521     }
522
523     public void setServer(JServer server) {
524         this.server = server;
525     }
526
527     public String JavaDoc getParentFolder() {
528         return parentFolder;
529     }
530
531     public void setParentFolder(String JavaDoc parentFolder) {
532         this.parentFolder = parentFolder;
533         this.jTextFieldUriString.setText(parentFolder);
534     }
535
536     public ResourceDescriptor getNewResourceDescriptor() {
537         return newResourceDescriptor;
538     }
539     
540     /**
541      * Call this method to modify the specified resource...
542      * the resource MUST BE a resource of type reference!
543      * Please call this method AFTER the setServer() otherwise the
544      * reference details will not be get.
545      */

546     public void setResource(RepositoryFolder referenceResource)
547     {
548         
549         this.referenceResource = referenceResource;
550         jTextFieldName.setText( referenceResource.getDescriptor().getName());
551         jTextFieldName.setEditable(false);
552         jTextFieldName.setOpaque(false);
553         
554         jTextFieldLabel.setText( referenceResource.getDescriptor().getLabel());
555         jEditorPaneDescription.setText( referenceResource.getDescriptor().getDescription());
556         jTextFieldReferenceUri.setText( referenceResource.getDescriptor().getReferenceUri());
557        
558         // Look for the reference details...
559
resourceReferenceDescriptor = new ResourceDescriptor();
560         resourceReferenceDescriptor.setUriString( referenceResource.getDescriptor().getReferenceUri() );
561         
562         try {
563             resourceReferenceDescriptor = getServer().getWSClient().get(resourceReferenceDescriptor, null);
564             
565             updateReferenceDescriptor();
566             
567         } catch (Exception JavaDoc ex)
568         {
569             jTextFieldResName.setText("Error loading resource: " + referenceResource.getDescriptor().getReferenceUri());
570             ex.printStackTrace();
571         }
572         
573         jButtonSave.setText("Modify reference");
574     }
575     
576     private void updateReferenceDescriptor()
577     {
578         if (resourceReferenceDescriptor != null)
579         {
580             jTextFieldResUriString.setText( resourceReferenceDescriptor.getUriString());
581             jTextFieldResName.setText( resourceReferenceDescriptor.getName());
582             jTextFieldResLabel.setText( resourceReferenceDescriptor.getLabel());
583             jTextFieldResType.setText( resourceReferenceDescriptor.getWsType());
584             this.jButtonOpenReferencedResource.setEnabled(true);
585         }
586         else
587         {
588             jTextFieldResUriString.setText( "");
589             jTextFieldResName.setText( "");
590             jTextFieldResLabel.setText( "");
591             jTextFieldResType.setText( "");
592             this.jButtonOpenReferencedResource.setEnabled(false);
593         }
594     }
595     
596     // Variables declaration - do not modify//GEN-BEGIN:variables
597
private javax.swing.ButtonGroup JavaDoc buttonGroup1;
598     private javax.swing.JButton JavaDoc jButton1;
599     private javax.swing.JButton JavaDoc jButtonClose;
600     private javax.swing.JButton JavaDoc jButtonOpenReferencedResource;
601     private javax.swing.JButton JavaDoc jButtonSave;
602     private javax.swing.JEditorPane JavaDoc jEditorPaneDescription;
603     private javax.swing.JLabel JavaDoc jLabel1;
604     private javax.swing.JLabel JavaDoc jLabelDescription;
605     private javax.swing.JLabel JavaDoc jLabelLabel;
606     private javax.swing.JLabel JavaDoc jLabelName;
607     private javax.swing.JLabel JavaDoc jLabelName1;
608     private javax.swing.JLabel JavaDoc jLabelName2;
609     private javax.swing.JLabel JavaDoc jLabelResourceFile;
610     private javax.swing.JLabel JavaDoc jLabelUriString;
611     private javax.swing.JLabel JavaDoc jLabelUriString1;
612     private javax.swing.JLabel JavaDoc jLabelUriString2;
613     private javax.swing.JPanel JavaDoc jPanel1;
614     private javax.swing.JPanel JavaDoc jPanel2;
615     private javax.swing.JPanel JavaDoc jPanel3;
616     private javax.swing.JPanel JavaDoc jPanel4;
617     private javax.swing.JScrollPane JavaDoc jScrollPane1;
618     private javax.swing.JSeparator JavaDoc jSeparator1;
619     private javax.swing.JSeparator JavaDoc jSeparator2;
620     private javax.swing.JSeparator JavaDoc jSeparator3;
621     private javax.swing.JSeparator JavaDoc jSeparator5;
622     private javax.swing.JTabbedPane JavaDoc jTabbedPane1;
623     private javax.swing.JTextField JavaDoc jTextFieldLabel;
624     private javax.swing.JTextField JavaDoc jTextFieldName;
625     private javax.swing.JTextField JavaDoc jTextFieldReferenceUri;
626     private javax.swing.JTextField JavaDoc jTextFieldResLabel;
627     private javax.swing.JTextField JavaDoc jTextFieldResName;
628     private javax.swing.JTextField JavaDoc jTextFieldResType;
629     private javax.swing.JTextField JavaDoc jTextFieldResUriString;
630     private javax.swing.JTextField JavaDoc jTextFieldUriString;
631     // End of variables declaration//GEN-END:variables
632

633
634 }
635
Popular Tags