KickJava   Java API By Example, From Geeks To Geeks.

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


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

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

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

88     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
89
private void initComponents() {
90         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
91
92         buttonGroup1 = new javax.swing.ButtonGroup JavaDoc();
93         jPanel1 = new javax.swing.JPanel JavaDoc();
94         jLabel1 = new javax.swing.JLabel JavaDoc();
95         jSeparator1 = new javax.swing.JSeparator JavaDoc();
96         jTabbedPane1 = new javax.swing.JTabbedPane JavaDoc();
97         jPanel2 = new javax.swing.JPanel JavaDoc();
98         jLabelUriString = new javax.swing.JLabel JavaDoc();
99         jTextFieldUriString = new javax.swing.JTextField JavaDoc();
100         jLabelName = new javax.swing.JLabel JavaDoc();
101         jTextFieldName = new javax.swing.JTextField JavaDoc();
102         jSeparator2 = new javax.swing.JSeparator JavaDoc();
103         jLabelLabel = new javax.swing.JLabel JavaDoc();
104         jTextFieldLabel = new javax.swing.JTextField JavaDoc();
105         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
106         jEditorPaneDescription = new javax.swing.JEditorPane JavaDoc();
107         jLabelDescription = new javax.swing.JLabel JavaDoc();
108         jPanel3 = new javax.swing.JPanel JavaDoc();
109         jLabelType = new javax.swing.JLabel JavaDoc();
110         jComboBoxType = new javax.swing.JComboBox JavaDoc();
111         jLabelPattern = new javax.swing.JLabel JavaDoc();
112         jTextFieldPattern = new javax.swing.JTextField JavaDoc();
113         jLabelMinValue = new javax.swing.JLabel JavaDoc();
114         jCheckBoxMinValue = new javax.swing.JCheckBox JavaDoc();
115         jTextFieldMaxValue = new javax.swing.JTextField JavaDoc();
116         jLabelMaxVal = new javax.swing.JLabel JavaDoc();
117         jPanel5 = new javax.swing.JPanel JavaDoc();
118         jCheckBoxMaxValue = new javax.swing.JCheckBox JavaDoc();
119         jLabelStrictMinVal = new javax.swing.JLabel JavaDoc();
120         jLabelStrictMaxVal = new javax.swing.JLabel JavaDoc();
121         jTextFieldMinValue = new javax.swing.JTextField 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("Data Type");
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("Data Type");
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.fill = java.awt.GridBagConstraints.HORIZONTAL;
172         gridBagConstraints.weightx = 1.0;
173         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
174         jPanel2.add(jTextFieldUriString, gridBagConstraints);
175
176         jLabelName.setText("Name");
177         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
178         gridBagConstraints.gridx = 0;
179         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
180         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
181         jPanel2.add(jLabelName, gridBagConstraints);
182
183         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
184         gridBagConstraints.gridx = 1;
185         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
186         gridBagConstraints.weightx = 1.0;
187         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
188         jPanel2.add(jTextFieldName, gridBagConstraints);
189
190         jSeparator2.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
191         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
192         gridBagConstraints.gridx = 0;
193         gridBagConstraints.gridwidth = 2;
194         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
195         gridBagConstraints.weightx = 1.0;
196         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 6, 4);
197         jPanel2.add(jSeparator2, gridBagConstraints);
198
199         jLabelLabel.setText("Label");
200         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
201         gridBagConstraints.gridx = 0;
202         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
203         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
204         jPanel2.add(jLabelLabel, gridBagConstraints);
205
206         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
207         gridBagConstraints.gridx = 1;
208         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
209         gridBagConstraints.weightx = 1.0;
210         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
211         jPanel2.add(jTextFieldLabel, gridBagConstraints);
212
213         jScrollPane1.setViewportView(jEditorPaneDescription);
214
215         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
216         gridBagConstraints.gridx = 1;
217         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
218         gridBagConstraints.weightx = 1.0;
219         gridBagConstraints.weighty = 1.0;
220         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
221         jPanel2.add(jScrollPane1, gridBagConstraints);
222
223         jLabelDescription.setText("Description");
224         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
225         gridBagConstraints.gridx = 0;
226         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
227         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
228         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
229         jPanel2.add(jLabelDescription, gridBagConstraints);
230
231         jTabbedPane1.addTab("General", jPanel2);
232
233         jPanel3.setLayout(new java.awt.GridBagLayout JavaDoc());
234
235         jLabelType.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
236         jLabelType.setText("Type");
237         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
238         gridBagConstraints.gridx = 0;
239         gridBagConstraints.gridy = 1;
240         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
241         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 20, 4, 0);
242         jPanel3.add(jLabelType, gridBagConstraints);
243
244         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
245         gridBagConstraints.gridy = 1;
246         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
247         gridBagConstraints.weightx = 1.0;
248         gridBagConstraints.insets = new java.awt.Insets JavaDoc(8, 4, 4, 20);
249         jPanel3.add(jComboBoxType, gridBagConstraints);
250
251         jLabelPattern.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
252         jLabelPattern.setText("Pattern");
253         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
254         gridBagConstraints.gridx = 0;
255         gridBagConstraints.gridy = 2;
256         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
257         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 20, 16, 0);
258         jPanel3.add(jLabelPattern, gridBagConstraints);
259
260         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
261         gridBagConstraints.gridx = 1;
262         gridBagConstraints.gridy = 2;
263         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
264         gridBagConstraints.weightx = 0.8;
265         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 16, 20);
266         jPanel3.add(jTextFieldPattern, gridBagConstraints);
267
268         jLabelMinValue.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
269         jLabelMinValue.setText("Minimum value");
270         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
271         gridBagConstraints.gridx = 0;
272         gridBagConstraints.gridy = 3;
273         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
274         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 20, 4, 0);
275         jPanel3.add(jLabelMinValue, gridBagConstraints);
276
277         jCheckBoxMinValue.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
278         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
279         gridBagConstraints.gridx = 1;
280         gridBagConstraints.gridy = 4;
281         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
282         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 16, 20);
283         jPanel3.add(jCheckBoxMinValue, gridBagConstraints);
284
285         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
286         gridBagConstraints.gridx = 1;
287         gridBagConstraints.gridy = 5;
288         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
289         gridBagConstraints.weightx = 0.8;
290         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 20);
291         jPanel3.add(jTextFieldMaxValue, gridBagConstraints);
292
293         jLabelMaxVal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
294         jLabelMaxVal.setText("Maximum value");
295         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
296         gridBagConstraints.gridx = 0;
297         gridBagConstraints.gridy = 5;
298         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
299         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 20, 4, 0);
300         jPanel3.add(jLabelMaxVal, gridBagConstraints);
301
302         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
303         gridBagConstraints.gridx = 0;
304         gridBagConstraints.gridy = 99;
305         gridBagConstraints.weighty = 1.0;
306         jPanel3.add(jPanel5, gridBagConstraints);
307
308         jCheckBoxMaxValue.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
309         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
310         gridBagConstraints.gridx = 1;
311         gridBagConstraints.gridy = 6;
312         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
313         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 8, 20);
314         jPanel3.add(jCheckBoxMaxValue, gridBagConstraints);
315
316         jLabelStrictMinVal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
317         jLabelStrictMinVal.setText("Is strict minimum");
318         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
319         gridBagConstraints.gridx = 0;
320         gridBagConstraints.gridy = 4;
321         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
322         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 16, 0);
323         jPanel3.add(jLabelStrictMinVal, gridBagConstraints);
324
325         jLabelStrictMaxVal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
326         jLabelStrictMaxVal.setText("Is strict maximum");
327         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
328         gridBagConstraints.gridx = 0;
329         gridBagConstraints.gridy = 6;
330         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
331         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 8, 0);
332         jPanel3.add(jLabelStrictMaxVal, gridBagConstraints);
333
334         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
335         gridBagConstraints.gridx = 1;
336         gridBagConstraints.gridy = 3;
337         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
338         gridBagConstraints.weightx = 0.8;
339         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 20);
340         jPanel3.add(jTextFieldMinValue, gridBagConstraints);
341
342         jTabbedPane1.addTab("Data Type details", jPanel3);
343
344         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
345         gridBagConstraints.gridx = 0;
346         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
347         gridBagConstraints.weightx = 1.0;
348         gridBagConstraints.weighty = 1.0;
349         getContentPane().add(jTabbedPane1, gridBagConstraints);
350
351         jPanel4.setLayout(new java.awt.GridBagLayout JavaDoc());
352
353         jPanel4.setMinimumSize(new java.awt.Dimension JavaDoc(10, 30));
354         jPanel4.setPreferredSize(new java.awt.Dimension JavaDoc(10, 30));
355         jButtonSave.setText("Save");
356         jButtonSave.setEnabled(false);
357         jButtonSave.addActionListener(new java.awt.event.ActionListener JavaDoc() {
358             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
359                 jButtonSaveActionPerformed(evt);
360             }
361         });
362
363         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
364         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
365         gridBagConstraints.weightx = 1.0;
366         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
367         jPanel4.add(jButtonSave, gridBagConstraints);
368
369         jButtonClose.setText("Cancel");
370         jButtonClose.addActionListener(new java.awt.event.ActionListener JavaDoc() {
371             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
372                 jButtonCloseActionPerformed(evt);
373             }
374         });
375
376         jPanel4.add(jButtonClose, new java.awt.GridBagConstraints JavaDoc());
377
378         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
379         gridBagConstraints.gridx = 0;
380         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
381         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
382         getContentPane().add(jPanel4, gridBagConstraints);
383
384         pack();
385     }// </editor-fold>//GEN-END:initComponents
386

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

389         this.setVisible(false);
390         this.dispose();
391     }//GEN-LAST:event_jButtonCloseActionPerformed
392

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

395         
396         ResourceDescriptor rd = new ResourceDescriptor();
397         
398         rd.setDescription( jEditorPaneDescription.getText().trim() ); //getResource().getDescriptor().getDescription()
399
rd.setName( jTextFieldName.getText() );
400         String JavaDoc uri = getParentFolder();
401         if (!uri.endsWith("/")) uri = uri + "/";
402         uri += jTextFieldName.getText();
403         rd.setUriString( uri );
404         rd.setLabel(jTextFieldLabel.getText().trim() ); //getResource().getDescriptor().getLabel() );
405
rd.setParentFolder( getParentFolder() );
406         rd.setIsNew(resource == null);
407         
408         rd.setWsType( ResourceDescriptor.TYPE_DATA_TYPE );
409
410         // Put here resource details
411
rd.setDataType(Byte.parseByte( ((Tag)jComboBoxType.getSelectedItem()).getValue()+"") );
412         rd.setPattern( jTextFieldPattern.getText());
413         rd.setMaxValue( jTextFieldMaxValue.getText() );
414         rd.setMinValue( jTextFieldMinValue.getText() );
415         rd.setStrictMax( jCheckBoxMaxValue.isSelected());
416         rd.setStrictMin( jCheckBoxMinValue.isSelected());
417         
418         try {
419             
420             validate(rd);
421             
422             if (!doNotStore)
423             {
424                 newResourceDescriptor = getServer().getWSClient().addOrModifyResource(rd, null);
425             }
426             else newResourceDescriptor = rd;
427
428             setDialogResult(JOptionPane.OK_OPTION);
429             
430             if (resource != null)
431             {
432                 resource.setDescriptor(newResourceDescriptor);
433             }
434             
435             this.setVisible(false);
436             this.dispose();
437             
438         } catch (Exception JavaDoc ex) {
439             JOptionPane.showMessageDialog(this,"Error: " + ex.getMessage());
440             ex.printStackTrace();
441             return;
442         }
443     }//GEN-LAST:event_jButtonSaveActionPerformed
444

445
446     public int getDialogResult() {
447         return dialogResult;
448     }
449                 
450     public void setDialogResult(int dialogResult) {
451         this.dialogResult = dialogResult;
452     }
453     
454     
455     public JServer getServer() {
456         return server;
457     }
458
459     public void setServer(JServer server) {
460         this.server = server;
461     }
462
463     public String JavaDoc getParentFolder() {
464         return parentFolder;
465     }
466
467     public void setParentFolder(String JavaDoc parentFolder) {
468         this.parentFolder = parentFolder;
469         this.jTextFieldUriString.setText(parentFolder);
470     }
471
472     public ResourceDescriptor getNewResourceDescriptor() {
473         return newResourceDescriptor;
474     }
475     
476     /**
477      * Call this method to modify the specified resource...
478      */

479     public void setResource(RepositoryFolder resource)
480     {
481         this.resource = resource;
482         if (resource != null)
483         {
484            setResource( resource.getDescriptor());
485            jTextFieldName.setEditable(false);
486            jTextFieldName.setOpaque(false);
487         }
488     }
489     
490     /**
491      * Call this method to modify the specified resource...
492      */

493     public void setResource(ResourceDescriptor descriptor)
494     {
495         if (descriptor == null) return;
496         
497         jTextFieldName.setText( descriptor.getName());
498         
499         
500         jTextFieldLabel.setText(descriptor.getLabel());
501         jEditorPaneDescription.setText( descriptor.getDescription());
502                 
503         if (descriptor.getWsType().equals( ResourceDescriptor.TYPE_DATA_TYPE))
504         {
505             this.jCheckBoxMaxValue.setSelected( descriptor.isStrictMax());
506             this.jCheckBoxMinValue.setSelected( descriptor.isStrictMin());
507             this.jTextFieldMaxValue.setText( descriptor.getMaxValue() == null ? "" : descriptor.getMaxValue());
508             this.jTextFieldMinValue.setText( descriptor.getMinValue() == null ? "" : descriptor.getMinValue());
509         
510             it.businesslogic.ireport.util.Misc.setComboboxSelectedTagValue(jComboBoxType,
511                     ""+descriptor.getDataType());
512             this.jTextFieldPattern.setText( descriptor.getPattern());
513         }
514     }
515     
516     // Variables declaration - do not modify//GEN-BEGIN:variables
517
private javax.swing.ButtonGroup JavaDoc buttonGroup1;
518     private javax.swing.JButton JavaDoc jButtonClose;
519     private javax.swing.JButton JavaDoc jButtonSave;
520     private javax.swing.JCheckBox JavaDoc jCheckBoxMaxValue;
521     private javax.swing.JCheckBox JavaDoc jCheckBoxMinValue;
522     private javax.swing.JComboBox JavaDoc jComboBoxType;
523     private javax.swing.JEditorPane JavaDoc jEditorPaneDescription;
524     private javax.swing.JLabel JavaDoc jLabel1;
525     private javax.swing.JLabel JavaDoc jLabelDescription;
526     private javax.swing.JLabel JavaDoc jLabelLabel;
527     private javax.swing.JLabel JavaDoc jLabelMaxVal;
528     private javax.swing.JLabel JavaDoc jLabelMinValue;
529     private javax.swing.JLabel JavaDoc jLabelName;
530     private javax.swing.JLabel JavaDoc jLabelPattern;
531     private javax.swing.JLabel JavaDoc jLabelStrictMaxVal;
532     private javax.swing.JLabel JavaDoc jLabelStrictMinVal;
533     private javax.swing.JLabel JavaDoc jLabelType;
534     private javax.swing.JLabel JavaDoc jLabelUriString;
535     private javax.swing.JPanel JavaDoc jPanel1;
536     private javax.swing.JPanel JavaDoc jPanel2;
537     private javax.swing.JPanel JavaDoc jPanel3;
538     private javax.swing.JPanel JavaDoc jPanel4;
539     private javax.swing.JPanel JavaDoc jPanel5;
540     private javax.swing.JScrollPane JavaDoc jScrollPane1;
541     private javax.swing.JSeparator JavaDoc jSeparator1;
542     private javax.swing.JSeparator JavaDoc jSeparator2;
543     private javax.swing.JTabbedPane JavaDoc jTabbedPane1;
544     private javax.swing.JTextField JavaDoc jTextFieldLabel;
545     private javax.swing.JTextField JavaDoc jTextFieldMaxValue;
546     private javax.swing.JTextField JavaDoc jTextFieldMinValue;
547     private javax.swing.JTextField JavaDoc jTextFieldName;
548     private javax.swing.JTextField JavaDoc jTextFieldPattern;
549     private javax.swing.JTextField JavaDoc jTextFieldUriString;
550     // End of variables declaration//GEN-END:variables
551

552     
553    
554     /**
555      * This method valitates data. If something is wrong, an exception si thrown.
556      * The validation code was arranged by the web UI
557      */

558     public void validate(ResourceDescriptor dataType) throws Exception JavaDoc
559     {
560         String JavaDoc strMinValue = (String JavaDoc)jTextFieldMinValue.getText();
561                 String JavaDoc strMaxValue = (String JavaDoc)jTextFieldMaxValue.getText();
562         
563         if (strMinValue != null && strMinValue.length() == 0)
564             dataType.setMinValue(null);
565         if (strMaxValue != null && strMaxValue.length() == 0)
566             dataType.setMaxValue(null);
567
568         if (dataType.getDataType() == dataType.DT_TYPE_NUMBER) {
569             BigDecimal JavaDoc minValue = null;
570             BigDecimal JavaDoc maxValue = null;
571             try {
572
573                 minValue = new BigDecimal JavaDoc(strMinValue);
574             } catch(NumberFormatException JavaDoc e) {
575                 if (strMinValue.length() > 0)
576                     throw new Exception JavaDoc("Invalid number");
577             }
578
579             try {
580
581                 maxValue = new BigDecimal JavaDoc(strMaxValue);
582             } catch(NumberFormatException JavaDoc e) {
583                 if (strMaxValue.length() > 0)
584                     throw new Exception JavaDoc( "Invalid number");
585             }
586
587             if (minValue != null && maxValue != null)
588                 if (minValue.compareTo(maxValue) >= 0)
589                     throw new Exception JavaDoc("Minimum value must be smaller than maximum value");
590         }
591
592         if (dataType.getDataType() == dataType.DT_TYPE_TEXT && dataType.getPattern() != null && dataType.getPattern().trim().length() > 0) {
593             if (
594                 strMinValue != null
595                 && strMinValue.trim().length() > 0
596                 && !Pattern.matches(dataType.getPattern(), strMinValue)
597                 )
598             {
599                 throw new Exception JavaDoc("Minimum value does not match pattern");
600             }
601             if (
602                 strMaxValue != null
603                 && strMaxValue.trim().length() > 0
604                 && !Pattern.matches(dataType.getPattern(), strMaxValue)
605                 )
606             {
607                 throw new Exception JavaDoc("Maximum value does not match pattern");
608             }
609         }
610     }
611
612     public boolean isDoNotStore() {
613         return doNotStore;
614     }
615
616     public void setDoNotStore(boolean doNotStore) {
617         this.doNotStore = doNotStore;
618     }
619 }
620
Popular Tags