KickJava   Java API By Example, From Geeks To Geeks.

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


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.ListItem;
10 import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor;
11 import com.jaspersoft.jasperserver.irplugin.RepositoryFolder;
12 import it.businesslogic.ireport.IReportConnection;
13 import it.businesslogic.ireport.connection.JDBCConnection;
14 import it.businesslogic.ireport.gui.MainFrame;
15 import it.businesslogic.ireport.gui.sheet.Tag;
16 import java.io.File JavaDoc;
17 import java.math.BigDecimal JavaDoc;
18 import java.util.List JavaDoc;
19 import java.util.regex.Pattern JavaDoc;
20 import javax.swing.DefaultListSelectionModel JavaDoc;
21 import javax.swing.JOptionPane JavaDoc;
22 import com.jaspersoft.jasperserver.irplugin.JServer;
23 import javax.swing.table.DefaultTableModel JavaDoc;
24
25 /**
26  *
27  * @author gtoffoli
28  */

29 public class ListOfValuesDialog extends javax.swing.JDialog JavaDoc {
30     
31     private int dialogResult = JOptionPane.CANCEL_OPTION;
32     
33     private JServer server = null;
34     private String JavaDoc parentFolder = null;
35     private RepositoryFolder resource = null;
36     
37     private ResourceDescriptor newResourceDescriptor = null;
38     
39     private boolean doNotStore = false;
40     
41     /**
42      * Creates new form DataSourceDialog
43      */

44     public ListOfValuesDialog(java.awt.Frame JavaDoc parent, boolean modal) {
45         super(parent, modal);
46         initComponents();
47         
48         it.businesslogic.ireport.util.Misc.centerFrame(this);
49         javax.swing.event.DocumentListener JavaDoc changesListener = new javax.swing.event.DocumentListener JavaDoc() {
50             public void changedUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
51                 updateSaveButton();
52             }
53             public void insertUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
54                 updateSaveButton();
55             }
56             public void removeUpdate(javax.swing.event.DocumentEvent JavaDoc evt) {
57                 updateSaveButton();
58             }
59         };
60         
61         DefaultTableModel JavaDoc lm = (DefaultTableModel JavaDoc)jTableLOV.getModel();
62         lm.setRowCount(0);
63         jTableLOV.updateUI();
64         
65         this.jTextFieldLabel.getDocument().addDocumentListener(changesListener);
66         this.jTextFieldName.getDocument().addDocumentListener(changesListener);
67         jTextFieldName.requestFocusInWindow();
68
69         jTableLOV.getSelectionModel().addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
70             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
71                 jTableValueChanged(evt);
72             }
73         });
74         
75         jTableValueChanged(null);
76     
77     }
78     
79     
80     private void jTableValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
81
82         if (jTableLOV.getSelectedRow() >= 0)
83         {
84             jButtonDelete.setEnabled(true);
85             jButtonUp.setEnabled(jTableLOV.getSelectedRow() > 0);
86             // Get last selected....
87
int[] selection = jTableLOV.getSelectedRows();
88             
89             jButtonDown.setEnabled((selection[selection.length-1]) < jTableLOV.getRowCount() -1);
90         }
91         else
92         {
93             jButtonDelete.setEnabled(false);
94             jButtonUp.setEnabled(false);
95             jButtonDown.setEnabled(false);
96         }
97         
98     }
99     
100     private void updateSaveButton()
101     {
102         if (jTextFieldLabel.getText().length() > 0 &&
103             jTextFieldName.getText().length() > 0)
104         {
105             jButtonSave.setEnabled(true);
106         }
107         else
108         {
109             jButtonSave.setEnabled(false);
110         }
111     }
112     
113     /** This method is called from within the constructor to
114      * initialize the form.
115      * WARNING: Do NOT modify this code. The content of this method is
116      * always regenerated by the Form Editor.
117      */

118     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
119
private void initComponents() {
120         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
121
122         buttonGroup1 = new javax.swing.ButtonGroup JavaDoc();
123         jPanel1 = new javax.swing.JPanel JavaDoc();
124         jLabel1 = new javax.swing.JLabel JavaDoc();
125         jSeparator1 = new javax.swing.JSeparator JavaDoc();
126         jTabbedPane1 = new javax.swing.JTabbedPane JavaDoc();
127         jPanel2 = new javax.swing.JPanel JavaDoc();
128         jLabelUriString = new javax.swing.JLabel JavaDoc();
129         jTextFieldUriString = new javax.swing.JTextField JavaDoc();
130         jLabelName = new javax.swing.JLabel JavaDoc();
131         jTextFieldName = new javax.swing.JTextField JavaDoc();
132         jSeparator2 = new javax.swing.JSeparator JavaDoc();
133         jLabelLabel = new javax.swing.JLabel JavaDoc();
134         jTextFieldLabel = new javax.swing.JTextField JavaDoc();
135         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
136         jEditorPaneDescription = new javax.swing.JEditorPane JavaDoc();
137         jLabelDescription = new javax.swing.JLabel JavaDoc();
138         jPanel3 = new javax.swing.JPanel JavaDoc();
139         jScrollPane2 = new javax.swing.JScrollPane JavaDoc();
140         jTableLOV = new javax.swing.JTable JavaDoc();
141         jPanel5 = new javax.swing.JPanel JavaDoc();
142         jButtonInsert = new javax.swing.JButton JavaDoc();
143         jButtonDelete = new javax.swing.JButton JavaDoc();
144         jButtonUp = new javax.swing.JButton JavaDoc();
145         jButtonDown = new javax.swing.JButton JavaDoc();
146         jPanel6 = new javax.swing.JPanel JavaDoc();
147         jPanel4 = new javax.swing.JPanel JavaDoc();
148         jButtonSave = new javax.swing.JButton JavaDoc();
149         jButtonClose = new javax.swing.JButton JavaDoc();
150
151         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
152
153         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
154         setTitle("Data Type");
155         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
156
157         jPanel1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
158         jLabel1.setFont(new java.awt.Font JavaDoc("Tahoma", 1, 12));
159         jLabel1.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/com/jaspersoft/jasperserver/irplugin/res/datasource_new.png")));
160         jLabel1.setText("List of values");
161         jLabel1.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
162         jLabel1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
163         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
164         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
165         gridBagConstraints.weightx = 1.0;
166         gridBagConstraints.weighty = 1.0;
167         jPanel1.add(jLabel1, gridBagConstraints);
168
169         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
170         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
171         getContentPane().add(jPanel1, gridBagConstraints);
172
173         jSeparator1.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
174         jSeparator1.setPreferredSize(new java.awt.Dimension JavaDoc(2, 2));
175         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
176         gridBagConstraints.gridx = 0;
177         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
178         gridBagConstraints.weightx = 1.0;
179         getContentPane().add(jSeparator1, gridBagConstraints);
180
181         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
182
183         jPanel2.setPreferredSize(new java.awt.Dimension JavaDoc(400, 185));
184         jLabelUriString.setText("Parent folder");
185         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
186         gridBagConstraints.gridx = 0;
187         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
188         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
189         jPanel2.add(jLabelUriString, gridBagConstraints);
190
191         jTextFieldUriString.setEditable(false);
192         jTextFieldUriString.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
193         jTextFieldUriString.setOpaque(false);
194         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
195         gridBagConstraints.gridx = 1;
196         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
197         gridBagConstraints.weightx = 1.0;
198         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
199         jPanel2.add(jTextFieldUriString, gridBagConstraints);
200
201         jLabelName.setText("Name");
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(jLabelName, gridBagConstraints);
207
208         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
209         gridBagConstraints.gridx = 1;
210         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
211         gridBagConstraints.weightx = 1.0;
212         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
213         jPanel2.add(jTextFieldName, gridBagConstraints);
214
215         jSeparator2.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
216         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
217         gridBagConstraints.gridx = 0;
218         gridBagConstraints.gridwidth = 2;
219         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
220         gridBagConstraints.weightx = 1.0;
221         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 6, 4);
222         jPanel2.add(jSeparator2, gridBagConstraints);
223
224         jLabelLabel.setText("Label");
225         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
226         gridBagConstraints.gridx = 0;
227         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
228         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
229         jPanel2.add(jLabelLabel, gridBagConstraints);
230
231         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
232         gridBagConstraints.gridx = 1;
233         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
234         gridBagConstraints.weightx = 1.0;
235         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
236         jPanel2.add(jTextFieldLabel, gridBagConstraints);
237
238         jScrollPane1.setViewportView(jEditorPaneDescription);
239
240         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
241         gridBagConstraints.gridx = 1;
242         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
243         gridBagConstraints.weightx = 1.0;
244         gridBagConstraints.weighty = 1.0;
245         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
246         jPanel2.add(jScrollPane1, gridBagConstraints);
247
248         jLabelDescription.setText("Description");
249         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
250         gridBagConstraints.gridx = 0;
251         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
252         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
253         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
254         jPanel2.add(jLabelDescription, gridBagConstraints);
255
256         jTabbedPane1.addTab("General", jPanel2);
257
258         jPanel3.setLayout(new java.awt.GridBagLayout JavaDoc());
259
260         jScrollPane2.setPreferredSize(new java.awt.Dimension JavaDoc(200, 200));
261         jTableLOV.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
262             new Object JavaDoc [][] {
263
264             },
265             new String JavaDoc [] {
266                 "Label", "Value"
267             }
268         ) {
269             Class JavaDoc[] types = new Class JavaDoc [] {
270                 java.lang.String JavaDoc.class, java.lang.String JavaDoc.class
271             };
272
273             public Class JavaDoc getColumnClass(int columnIndex) {
274                 return types [columnIndex];
275             }
276         });
277         jScrollPane2.setViewportView(jTableLOV);
278
279         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
280         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
281         gridBagConstraints.weightx = 1.0;
282         gridBagConstraints.weighty = 1.0;
283         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
284         jPanel3.add(jScrollPane2, gridBagConstraints);
285
286         jPanel5.setLayout(new java.awt.GridBagLayout JavaDoc());
287
288         jPanel5.setMinimumSize(new java.awt.Dimension JavaDoc(100, 50));
289         jButtonInsert.setText("Add");
290         jButtonInsert.addActionListener(new java.awt.event.ActionListener JavaDoc() {
291             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
292                 jButtonInsertActionPerformed(evt);
293             }
294         });
295         jButtonInsert.addAncestorListener(new javax.swing.event.AncestorListener JavaDoc() {
296             public void ancestorMoved(javax.swing.event.AncestorEvent JavaDoc evt) {
297             }
298             public void ancestorAdded(javax.swing.event.AncestorEvent JavaDoc evt) {
299                 jButtonInsertAncestorAdded(evt);
300             }
301             public void ancestorRemoved(javax.swing.event.AncestorEvent JavaDoc evt) {
302             }
303         });
304
305         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
306         gridBagConstraints.gridx = 0;
307         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
308         gridBagConstraints.weightx = 1.0;
309         jPanel5.add(jButtonInsert, gridBagConstraints);
310
311         jButtonDelete.setText("Delete");
312         jButtonDelete.addActionListener(new java.awt.event.ActionListener JavaDoc() {
313             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
314                 jButtonDeleteActionPerformed(evt);
315             }
316         });
317
318         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
319         gridBagConstraints.gridx = 0;
320         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
321         gridBagConstraints.weightx = 1.0;
322         jPanel5.add(jButtonDelete, gridBagConstraints);
323
324         jButtonUp.setText("Move up");
325         jButtonUp.setEnabled(false);
326         jButtonUp.addActionListener(new java.awt.event.ActionListener JavaDoc() {
327             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
328                 jButtonUpActionPerformed(evt);
329             }
330         });
331
332         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
333         gridBagConstraints.gridx = 0;
334         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
335         gridBagConstraints.weightx = 1.0;
336         jPanel5.add(jButtonUp, gridBagConstraints);
337
338         jButtonDown.setText("Move down");
339         jButtonDown.setEnabled(false);
340         jButtonDown.addActionListener(new java.awt.event.ActionListener JavaDoc() {
341             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
342                 jButtonDownActionPerformed(evt);
343             }
344         });
345
346         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
347         gridBagConstraints.gridx = 0;
348         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
349         gridBagConstraints.weightx = 1.0;
350         jPanel5.add(jButtonDown, gridBagConstraints);
351
352         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
353         gridBagConstraints.gridx = 0;
354         gridBagConstraints.weighty = 1.0;
355         jPanel5.add(jPanel6, gridBagConstraints);
356
357         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
358         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
359         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
360         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
361         jPanel3.add(jPanel5, gridBagConstraints);
362
363         jTabbedPane1.addTab("List of values", jPanel3);
364
365         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
366         gridBagConstraints.gridx = 0;
367         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
368         gridBagConstraints.weightx = 1.0;
369         gridBagConstraints.weighty = 1.0;
370         getContentPane().add(jTabbedPane1, gridBagConstraints);
371
372         jPanel4.setLayout(new java.awt.GridBagLayout JavaDoc());
373
374         jPanel4.setMinimumSize(new java.awt.Dimension JavaDoc(10, 30));
375         jPanel4.setPreferredSize(new java.awt.Dimension JavaDoc(10, 30));
376         jButtonSave.setText("Save");
377         jButtonSave.setEnabled(false);
378         jButtonSave.addActionListener(new java.awt.event.ActionListener JavaDoc() {
379             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
380                 jButtonSaveActionPerformed(evt);
381             }
382         });
383
384         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
385         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
386         gridBagConstraints.weightx = 1.0;
387         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
388         jPanel4.add(jButtonSave, gridBagConstraints);
389
390         jButtonClose.setText("Cancel");
391         jButtonClose.addActionListener(new java.awt.event.ActionListener JavaDoc() {
392             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
393                 jButtonCloseActionPerformed(evt);
394             }
395         });
396
397         jPanel4.add(jButtonClose, new java.awt.GridBagConstraints JavaDoc());
398
399         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
400         gridBagConstraints.gridx = 0;
401         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
402         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
403         getContentPane().add(jPanel4, gridBagConstraints);
404
405         pack();
406     }// </editor-fold>//GEN-END:initComponents
407

408     private void jButtonDownActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDownActionPerformed
409
if (jTableLOV.getSelectedRow() >= 0)
410         {
411             DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTableLOV.getModel();
412             int[] indices = jTableLOV.getSelectedRows();
413             for (int i=indices.length-1; i>=0; --i)
414             {
415                 if (indices[i] == dtm.getRowCount()-1) continue;
416                 dtm.moveRow(indices[i], indices[i], indices[i]+1);
417                 ((DefaultListSelectionModel JavaDoc)jTableLOV.getSelectionModel()).removeSelectionInterval(indices[i],indices[i]);
418                 indices[i]++;
419                 ((DefaultListSelectionModel JavaDoc)jTableLOV.getSelectionModel()).addSelectionInterval(indices[i],indices[i]);
420             }
421         }
422     }//GEN-LAST:event_jButtonDownActionPerformed
423

424     private void jButtonUpActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonUpActionPerformed
425
if (jTableLOV.getSelectedRow() >= 0)
426         {
427             DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTableLOV.getModel();
428             int[] indices = jTableLOV.getSelectedRows();
429             for (int i=0; i<indices.length; ++i)
430             {
431                 if (indices[i] == 0) continue;
432                 dtm.moveRow(indices[i], indices[i], indices[i]-1);
433                 ((DefaultListSelectionModel JavaDoc)jTableLOV.getSelectionModel()).removeIndexInterval(indices[i],indices[i]);
434                 indices[i]--;
435                 ((DefaultListSelectionModel JavaDoc)jTableLOV.getSelectionModel()).addSelectionInterval(indices[i],indices[i]);
436                 
437             }
438         }
439     }//GEN-LAST:event_jButtonUpActionPerformed
440

441     private void jButtonDeleteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDeleteActionPerformed
442

443         
444         while (jTableLOV.getSelectedRowCount() > 0)
445         {
446             ((DefaultTableModel JavaDoc)jTableLOV.getModel()).removeRow( jTableLOV.getSelectedRow() );
447         }
448         
449     }//GEN-LAST:event_jButtonDeleteActionPerformed
450

451     private void jButtonInsertActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonInsertActionPerformed
452

453         
454         ((DefaultTableModel JavaDoc)jTableLOV.getModel()).addRow(new Object JavaDoc[]{"",""});
455         
456     }//GEN-LAST:event_jButtonInsertActionPerformed
457

458     private void jButtonInsertAncestorAdded(javax.swing.event.AncestorEvent JavaDoc evt) {//GEN-FIRST:event_jButtonInsertAncestorAdded
459
// TODO add your handling code here:
460
}//GEN-LAST:event_jButtonInsertAncestorAdded
461

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

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

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

470         
471         ResourceDescriptor rd = new ResourceDescriptor();
472         
473         rd.setDescription( jEditorPaneDescription.getText().trim() ); //getResource().getDescriptor().getDescription()
474
rd.setName( jTextFieldName.getText() );
475         String JavaDoc uri = getParentFolder();
476         if (!uri.endsWith("/")) uri = uri + "/";
477         uri += jTextFieldName.getText();
478         rd.setUriString( uri );
479         rd.setLabel(jTextFieldLabel.getText().trim() ); //getResource().getDescriptor().getLabel() );
480
rd.setParentFolder( getParentFolder() );
481         rd.setIsNew(resource == null);
482         
483         rd.setWsType( ResourceDescriptor.TYPE_LOV);
484
485         // Put here resource details
486
for (int i=0; i<jTableLOV.getRowCount(); ++i)
487         {
488             String JavaDoc s1 = (String JavaDoc)jTableLOV.getValueAt(i,0);
489             String JavaDoc s2 = (String JavaDoc)jTableLOV.getValueAt(i,1);
490             s1 = s1.trim();
491             s2 = s2.trim();
492             if (s1.length() == 0 || s2.length() == 0)
493             {
494                 JOptionPane.showMessageDialog(this,"Labels and values cannot be blank.");
495                 return;
496             }
497             
498             rd.getListOfValues().add( new ListItem(s1, s2) );
499         }
500         
501         try {
502             
503             validate(rd);
504             if (!doNotStore)
505             {
506                 newResourceDescriptor = getServer().getWSClient().addOrModifyResource(rd, null);
507             }
508             else newResourceDescriptor = rd;
509             
510             setDialogResult(JOptionPane.OK_OPTION);
511             
512             if (resource != null)
513             {
514                 resource.setDescriptor(newResourceDescriptor);
515             }
516             
517             this.setVisible(false);
518             this.dispose();
519             
520         } catch (Exception JavaDoc ex) {
521             JOptionPane.showMessageDialog(this,"Error: " + ex.getMessage());
522             ex.printStackTrace();
523             return;
524         }
525     }//GEN-LAST:event_jButtonSaveActionPerformed
526

527
528     public int getDialogResult() {
529         return dialogResult;
530     }
531                 
532     public void setDialogResult(int dialogResult) {
533         this.dialogResult = dialogResult;
534     }
535     
536     
537     public JServer getServer() {
538         return server;
539     }
540
541     public void setServer(JServer server) {
542         this.server = server;
543     }
544
545     public String JavaDoc getParentFolder() {
546         return parentFolder;
547     }
548
549     public void setParentFolder(String JavaDoc parentFolder) {
550         this.parentFolder = parentFolder;
551         this.jTextFieldUriString.setText(parentFolder);
552     }
553
554     public ResourceDescriptor getNewResourceDescriptor() {
555         return newResourceDescriptor;
556     }
557     
558     /**
559      * Call this method to modify the specified resource...
560      */

561     public void setResource(RepositoryFolder resource)
562     {
563         
564         this.resource = resource;
565         if (resource != null)
566         {
567             setResource(resource.getDescriptor());
568             jTextFieldName.setEditable(false);
569             jTextFieldName.setOpaque(false);
570         }
571     }
572     
573     
574     /**
575      * Call this method to modify the specified descriptor...
576      */

577     public void setResource(ResourceDescriptor descriptor)
578     {
579         
580         this.resource = resource;
581         jTextFieldName.setText( descriptor.getName());
582         
583         
584         jTextFieldLabel.setText( descriptor.getLabel());
585         jEditorPaneDescription.setText( descriptor.getDescription());
586                 
587
588         List JavaDoc list = descriptor.getListOfValues();
589         if (list != null)
590         {
591             DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTableLOV.getModel();
592             for (int i=0; i<list.size(); ++i)
593             {
594                ListItem li = (ListItem)list.get(i);
595                dtm.addRow(new Object JavaDoc[]{ li.getLabel(), (li.getValue() == null) ? "" : li.getValue()+""});
596             }
597         }
598     }
599     
600     // Variables declaration - do not modify//GEN-BEGIN:variables
601
private javax.swing.ButtonGroup JavaDoc buttonGroup1;
602     private javax.swing.JButton JavaDoc jButtonClose;
603     private javax.swing.JButton JavaDoc jButtonDelete;
604     private javax.swing.JButton JavaDoc jButtonDown;
605     private javax.swing.JButton JavaDoc jButtonInsert;
606     private javax.swing.JButton JavaDoc jButtonSave;
607     private javax.swing.JButton JavaDoc jButtonUp;
608     private javax.swing.JEditorPane JavaDoc jEditorPaneDescription;
609     private javax.swing.JLabel JavaDoc jLabel1;
610     private javax.swing.JLabel JavaDoc jLabelDescription;
611     private javax.swing.JLabel JavaDoc jLabelLabel;
612     private javax.swing.JLabel JavaDoc jLabelName;
613     private javax.swing.JLabel JavaDoc jLabelUriString;
614     private javax.swing.JPanel JavaDoc jPanel1;
615     private javax.swing.JPanel JavaDoc jPanel2;
616     private javax.swing.JPanel JavaDoc jPanel3;
617     private javax.swing.JPanel JavaDoc jPanel4;
618     private javax.swing.JPanel JavaDoc jPanel5;
619     private javax.swing.JPanel JavaDoc jPanel6;
620     private javax.swing.JScrollPane JavaDoc jScrollPane1;
621     private javax.swing.JScrollPane JavaDoc jScrollPane2;
622     private javax.swing.JSeparator JavaDoc jSeparator1;
623     private javax.swing.JSeparator JavaDoc jSeparator2;
624     private javax.swing.JTabbedPane JavaDoc jTabbedPane1;
625     private javax.swing.JTable JavaDoc jTableLOV;
626     private javax.swing.JTextField JavaDoc jTextFieldLabel;
627     private javax.swing.JTextField JavaDoc jTextFieldName;
628     private javax.swing.JTextField JavaDoc jTextFieldUriString;
629     // End of variables declaration//GEN-END:variables
630

631     
632    
633     /**
634      * This method valitates data. If something is wrong, an exception si thrown.
635      * The validation code was arranged by the web UI
636      */

637     public void validate(ResourceDescriptor dataType) throws Exception JavaDoc
638     {
639         
640     }
641     
642      public boolean isDoNotStore() {
643         return doNotStore;
644     }
645
646     public void setDoNotStore(boolean doNotStore) {
647         this.doNotStore = doNotStore;
648     }
649 }
650
Popular Tags