KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > finalist > jaggenerator > modules > Config


1 /* Copyright (C) 2003 Finalist IT Group
2  *
3  * This file is part of JAG - the Java J2EE Application Generator
4  *
5  * JAG is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  * JAG is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  * You should have received a copy of the GNU General Public License
14  * along with JAG; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  */

17 package com.finalist.jaggenerator.modules;
18
19 import java.io.File JavaDoc;
20 import java.util.Enumeration JavaDoc;
21 import java.util.HashMap JavaDoc;
22 import java.util.Iterator JavaDoc;
23 import java.util.Map JavaDoc;
24
25 import javax.swing.*;
26 import javax.swing.event.ListSelectionEvent JavaDoc;
27 import javax.swing.event.ListSelectionListener JavaDoc;
28 import javax.swing.border.TitledBorder JavaDoc;
29 import javax.swing.tree.DefaultMutableTreeNode JavaDoc;
30 import javax.xml.parsers.ParserConfigurationException JavaDoc;
31
32 import org.w3c.dom.Document JavaDoc;
33 import org.w3c.dom.Element JavaDoc;
34 import org.w3c.dom.Node JavaDoc;
35 import org.w3c.dom.NodeList JavaDoc;
36
37 import com.finalist.jaggenerator.JagGenerator;
38 import com.finalist.jaggenerator.template.Template;
39 import com.finalist.jaggenerator.template.TemplateConfigException;
40 import com.finalist.jaggenerator.template.TemplateConfigPanel;
41
42 /**
43  * @author hillie
44  */

45 public class Config extends DefaultMutableTreeNode JavaDoc implements JagBean, ListSelectionListener JavaDoc
46  {
47    private DefaultListModel listModel = new DefaultListModel();
48    private static final File JavaDoc DEFAULT_TEMPLATE = new File JavaDoc("../templates/java5_2_tier");
49    private Template template;
50    public Template selectedTemplate = null;
51    private TemplateConfigPanel templatePanel;
52    private static final String JavaDoc XMLTAG_CONFIG_PARAM = "config-param";
53    private static final String JavaDoc NAME_ATTRIBUTE = "name";
54    private static final String JavaDoc VALUE_ATTRIBUTE = "value";
55
56
57    /**
58     * Creates new form Config
59     */

60    public Config() {
61       initComponents();
62       setTemplate(DEFAULT_TEMPLATE);
63       templateList.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
64       templateList.setModel(listModel);
65       templateList.addListSelectionListener(this);
66    }
67
68
69    public Config(Element JavaDoc el) {
70       initComponents();
71       templateList.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
72       templateList.setModel(listModel);
73       templateList.addListSelectionListener(this);
74       NodeList JavaDoc nl = el.getChildNodes();
75       for (int i = 0; i < nl.getLength(); i++) {
76          if (nl.item(i) instanceof Element JavaDoc) {
77             Element JavaDoc child = (Element JavaDoc) nl.item(i);
78             String JavaDoc nodeName = child.getNodeName();
79             if (nodeName.equalsIgnoreCase("author")) {
80                Node JavaDoc node = child.getFirstChild();
81                if (node != null) {
82                   authorText.setText(node.getNodeValue());
83                }
84                continue;
85             }
86             if (nodeName.equalsIgnoreCase("version")) {
87                Node JavaDoc node = child.getFirstChild();
88                if (node != null) {
89                   versionText.setText(node.getNodeValue());
90                }
91                continue;
92             }
93             if (nodeName.equalsIgnoreCase("company")) {
94                Node JavaDoc node = child.getFirstChild();
95                if (node != null) {
96                   companyText.setText(node.getNodeValue());
97                }
98                continue;
99             }
100             if (nodeName.equalsIgnoreCase("templates")) {
101                NodeList JavaDoc templates = child.getElementsByTagName("template-root");
102                for (int j = 0; j < templates.getLength(); j++) {
103                   Node JavaDoc templateRootText = templates.item(j).getFirstChild();
104                   setTemplate(new File JavaDoc(templateRootText.getNodeValue()));
105                }
106
107                NodeList JavaDoc params = child.getElementsByTagName(XMLTAG_CONFIG_PARAM);
108                for (int j = 0; j < params.getLength(); j++) {
109                   Node JavaDoc paramNode = params.item(j);
110                   String JavaDoc paramName = paramNode.getAttributes().getNamedItem(NAME_ATTRIBUTE).getNodeValue();
111                   String JavaDoc paramValue = paramNode.getAttributes().getNamedItem(VALUE_ATTRIBUTE).getNodeValue();
112                   Map JavaDoc components = templatePanel.getConfigComponents();
113                   JComponent component = (JComponent) components.get(paramName);
114                   if (component == null) {
115                      JagGenerator
116                         .logToConsole("Application file contains an unrecognised template config-param: " + paramName);
117                   }
118                   else {
119                      if (component instanceof JTextField) {
120                         ((JTextField) component).setText(paramValue);
121                      }
122                      else if (component instanceof JCheckBox) {
123                         ((JCheckBox) component).setSelected(new Boolean JavaDoc(paramValue).booleanValue());
124                      }
125                      else if (component instanceof JComboBox) {
126                         ((JComboBox) component).setSelectedItem(paramValue);
127                      }
128                   }
129                }
130             }
131          }
132       }
133    }
134
135
136    public void setAuthor(String JavaDoc text) {
137       this.authorText.setText(text);
138    }
139
140
141    public void setVersion(String JavaDoc text) {
142       this.versionText.setText(text);
143    }
144
145
146    public void setCompany(String JavaDoc text) {
147       this.companyText.setText(text);
148    }
149
150
151    /**
152     * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The
153     * content of this method is always regenerated by the Form Editor.
154     */

155    private void initComponents() {
156       panel = new javax.swing.JPanel JavaDoc();
157       authorLabel = new javax.swing.JLabel JavaDoc();
158       versionLabel = new javax.swing.JLabel JavaDoc();
159       companyLabel = new javax.swing.JLabel JavaDoc();
160       rootPackageLabel = new javax.swing.JLabel JavaDoc();
161       authorText = new javax.swing.JTextField JavaDoc();
162       versionText = new javax.swing.JTextField JavaDoc();
163       companyText = new javax.swing.JTextField JavaDoc();
164       editButton = new javax.swing.JButton JavaDoc();
165       scrollPane = new javax.swing.JScrollPane JavaDoc();
166       templateList = new javax.swing.JList JavaDoc();
167       templateSettingsPanel = new javax.swing.JPanel JavaDoc();
168       templateSettingsScrollPane = new javax.swing.JScrollPane JavaDoc();
169
170       panel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
171
172       authorLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
173       authorLabel.setText("Author: ");
174       panel.add(authorLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, 90, -1));
175
176       versionLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
177       versionLabel.setText("Version: ");
178       panel.add(versionLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 90, -1));
179
180       companyLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
181       companyLabel.setText("Company: ");
182       panel.add(companyLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 90, -1));
183
184       rootPackageLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
185       rootPackageLabel.setText("Template: ");
186       panel.add(rootPackageLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 120, 90, -1));
187
188       authorText.addFocusListener(new java.awt.event.FocusAdapter JavaDoc() {
189          public void focusLost(java.awt.event.FocusEvent JavaDoc evt) {
190             authorTextFocusLost(evt);
191          }
192       });
193
194       panel.add(authorText, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 10, 320, -1));
195
196       versionText.setText("1.0");
197       versionText.addFocusListener(new java.awt.event.FocusAdapter JavaDoc() {
198          public void focusLost(java.awt.event.FocusEvent JavaDoc evt) {
199             versionTextFocusLost(evt);
200          }
201       });
202
203       panel.add(versionText, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 40, 320, -1));
204
205       companyText.setText("Finalist IT Group");
206       companyText.addFocusListener(new java.awt.event.FocusAdapter JavaDoc() {
207          public void focusLost(java.awt.event.FocusEvent JavaDoc evt) {
208             companyTextFocusLost(evt);
209          }
210       });
211
212       panel.add(companyText, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 70, 320, -1));
213
214       editButton.setText("Select generation template");
215       editButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
216       editButton.setMaximumSize(new java.awt.Dimension JavaDoc(400, 26));
217       editButton.setMinimumSize(new java.awt.Dimension JavaDoc(400, 26));
218       editButton.setPreferredSize(new java.awt.Dimension JavaDoc(400, 26));
219       editButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
220          public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
221             editButtonActionPerformed(evt);
222          }
223       });
224
225       panel.add(editButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 180, 190, 20));
226
227       templateList.setBorder(new javax.swing.border.EtchedBorder JavaDoc());
228       scrollPane.setViewportView(templateList);
229
230       panel.add(scrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 100, 320, 60));
231
232       templateSettingsPanel.setLayout(new java.awt.BorderLayout JavaDoc());
233
234       templateSettingsPanel.setBorder(new javax.swing.border.TitledBorder JavaDoc("Template settings:"));
235
236       templateSettingsPanel.add(templateSettingsScrollPane, java.awt.BorderLayout.CENTER);
237
238       panel.add(templateSettingsPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 220, 400, 250));
239
240    }
241
242
243    private void companyTextFocusLost(java.awt.event.FocusEvent JavaDoc evt) {
244       JagGenerator.stateChanged(false);
245    }
246
247
248    private void versionTextFocusLost(java.awt.event.FocusEvent JavaDoc evt) {
249       JagGenerator.stateChanged(false);
250    }
251
252
253    private void authorTextFocusLost(java.awt.event.FocusEvent JavaDoc evt) {
254       JagGenerator.stateChanged(false);
255    }
256
257
258    private void editButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
259       int fileChooserStatus;
260
261       String JavaDoc path = ((Template) listModel.get(0)).getTemplateDir().getAbsolutePath();
262       JFileChooser fileChooser = new JFileChooser(path);
263       fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
264       fileChooser.setDialogTitle("Select a generation template (directory)..");
265       fileChooserStatus = fileChooser.showDialog(null, "Select");
266       if (fileChooserStatus == JFileChooser.APPROVE_OPTION) {
267          File JavaDoc file = fileChooser.getSelectedFile();
268          setTemplate(file);
269       }
270       JagGenerator.stateChanged(false);
271    }
272
273 // Handler for list selection changes
274
public void valueChanged( ListSelectionEvent JavaDoc event )
275    {
276       // See if this is a listbox selection and the
277
// event stream has settled
278
if( event.getSource() == templateList
279                  && !event.getValueIsAdjusting() )
280      {
281         // Get the current selection and place it in the
282
// edit field
283
Template template = (Template)templateList.getSelectedValue();
284         if( template != null ) {
285            selectedTemplate = template;
286            setTemplate(selectedTemplate.getTemplateDir());
287         }
288      }
289    }
290
291    private void setTemplate(File JavaDoc path) {
292       try {
293          listModel.clear();
294          File JavaDoc parent = path.getParentFile();
295          File JavaDoc[] fileList = parent.listFiles();
296          int index = 0;
297          for (int i = 0; i < fileList.length; i++) {
298             if (fileList[i].isDirectory()) {
299                // Now check if there is a template.xml file in the dir.
300
File JavaDoc templateFile = new File JavaDoc(fileList[i] + File.separator + "template.xml");
301                if (templateFile.exists()) {
302                   template = new Template(fileList[i]);
303                   if (fileList[i].equals(path)) {
304                      selectedTemplate = template;
305                   }
306                   listModel.add(index, template);
307                   index++;
308                }
309             }
310          }
311          if (selectedTemplate == null) {
312             System.out.println("No templates found!");
313             return;
314          }
315          templatePanel = new TemplateConfigPanel(selectedTemplate.getConfigParams(), selectedTemplate.getName());
316          // templatePanel.setBorder(new javax.swing.border.TitledBorder("Template settings: " + selectedTemplate.getName()));
317
TitledBorder JavaDoc border = (TitledBorder JavaDoc) templateSettingsPanel.getBorder();
318          // border.setTitle("Template settings: " + selectedTemplate.getName());
319
templateSettingsScrollPane.setViewportView(templatePanel);
320
321       }
322       catch (TemplateConfigException tce) {
323          JOptionPane.showMessageDialog(JagGenerator.jagGenerator,
324                                        tce.getMessage(), "Invalid template!", javax.swing.JOptionPane.ERROR_MESSAGE);
325       }
326    }
327
328
329    public String JavaDoc toString() {
330       return "Configuration";
331    }
332
333
334    public JPanel getPanel() {
335       return panel;
336    }
337
338
339    public void getXML(Element JavaDoc el) throws ParserConfigurationException JavaDoc {
340       Document JavaDoc doc = el.getOwnerDocument();
341       Element JavaDoc config = doc.createElement("config");
342
343       Element JavaDoc author = doc.createElement("author");
344       if (authorText.getText() != null) {
345          author.appendChild(doc.createTextNode(authorText.getText()));
346       }
347       config.appendChild(author);
348
349       Element JavaDoc version = doc.createElement("version");
350       if (versionText.getText() != null) {
351          version.appendChild(doc.createTextNode(versionText.getText()));
352       }
353       config.appendChild(version);
354
355       Element JavaDoc company = doc.createElement("company");
356       if (companyText.getText() != null) {
357          company.appendChild(doc.createTextNode(companyText.getText()));
358       }
359       config.appendChild(company);
360
361       Element JavaDoc templates = doc.createElement("templates");
362       Enumeration JavaDoc children = listModel.elements();
363       while (children.hasMoreElements()) {
364          String JavaDoc templatePath = ".";
365          Element JavaDoc templateRoot = doc.createElement("template-root");
366
367          if (selectedTemplate != null) {
368             templatePath = selectedTemplate.getTemplateDir().getPath();
369          } else {
370             templatePath = ((Template) children.nextElement()).getTemplateDir().getPath();
371          }
372          templatePath = templatePath.replace('\\', '/');
373          // Make sure that paths is stored os independent
374
templateRoot.appendChild(doc.createTextNode(templatePath));
375          templates.appendChild(templateRoot);
376          break;
377       }
378       Map JavaDoc configSettings = getTemplateSettings();
379       Iterator JavaDoc i = configSettings.entrySet().iterator();
380       while (i.hasNext()) {
381          Map.Entry JavaDoc entry = (Map.Entry JavaDoc) i.next();
382          Element JavaDoc param = doc.createElement(XMLTAG_CONFIG_PARAM);
383          param.setAttribute(NAME_ATTRIBUTE, (String JavaDoc) entry.getKey());
384          param.setAttribute(VALUE_ATTRIBUTE, (String JavaDoc) entry.getValue());
385          templates.appendChild(param);
386       }
387
388       config.appendChild(templates);
389
390       el.appendChild(config);
391    }
392
393
394    /**
395     * Gets the chosen application generaton template.
396     * @return
397     */

398    public Template getTemplate() {
399       return template;
400    }
401
402
403    public String JavaDoc getRefName() {
404       return null;
405    }
406
407
408    /**
409     * check if the Container-managed relations checkbox was checked.
410     * @return
411     */

412    public Boolean JavaDoc useRelations() {
413       String JavaDoc templateValue = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_USE_RELATIONS);
414       if (templateValue == null || "false".equalsIgnoreCase(templateValue)) {
415          return new Boolean JavaDoc(false);
416       }
417       else {
418          return new Boolean JavaDoc(true);
419       }
420    }
421
422
423    /**
424     * check if the useMock checkbox was checked to generate a mock implementation.
425     * @return
426     */

427    public Boolean JavaDoc useMock() {
428       String JavaDoc templateValue = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_USE_MOCK);
429       if (templateValue == null || "false".equalsIgnoreCase(templateValue)) {
430          return new Boolean JavaDoc(false);
431       }
432       else {
433          return new Boolean JavaDoc(true);
434       }
435    }
436
437
438    /**
439     * check if the useJava5 checkbox was checked to generate java5 support.
440     * @return
441     */

442    public Boolean JavaDoc useJava5() {
443       String JavaDoc templateValue = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_USE_JAVA5);
444       if (templateValue == null || "false".equalsIgnoreCase(templateValue)) {
445          return new Boolean JavaDoc(false);
446       }
447       else {
448          return new Boolean JavaDoc(true);
449       }
450    }
451
452
453    /**
454     * check if the useWebService checkbox was checked to generate a webservice.
455     * @return true if webservice has been enabled.
456     */

457    public Boolean JavaDoc useWebService() {
458       String JavaDoc templateValue = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_USE_WEB_SERVICE);
459       if (templateValue == null || "false".equalsIgnoreCase(templateValue)) {
460          return new Boolean JavaDoc(false);
461       }
462       else {
463          return new Boolean JavaDoc(true);
464       }
465    }
466
467
468    /**
469     * check if the useSecurity checkbox was checked to generate security.
470     * @return true if security was enabled.
471     */

472    public Boolean JavaDoc useSecurity() {
473       String JavaDoc templateValue = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_USE_SECURITY);
474       if (templateValue == null || "false".equalsIgnoreCase(templateValue)) {
475          return new Boolean JavaDoc(false);
476       }
477       else {
478          return new Boolean JavaDoc(true);
479       }
480    }
481
482
483    /**
484     * check if the useSecurity checkbox was checked to generate security.
485     * @return true if security was enabled.
486     */

487    public Boolean JavaDoc useRss() {
488       return check("rssEnabled");
489    }
490
491
492    /**
493     * Generic method for checking if a checkbox was enabled.
494     * @return true if webservice has been enabled.
495     */

496    public Boolean JavaDoc check(String JavaDoc checkBoxField) {
497       String JavaDoc templateValue = (String JavaDoc) getTemplateSettings().get(checkBoxField);
498       if (templateValue == null || "false".equalsIgnoreCase(templateValue)) {
499          return new Boolean JavaDoc(false);
500       }
501       else {
502          return new Boolean JavaDoc(true);
503       }
504    }
505
506
507    /**
508     * Gets the configuration settings as set by the user in the GUI.
509     * @return a Map of (String) configuration parameter id --> (String) value.
510     */

511    public Map JavaDoc getTemplateSettings() {
512       String JavaDoc value = null;
513       HashMap JavaDoc settings = new HashMap JavaDoc();
514       Map JavaDoc componentsMap = templatePanel.getConfigComponents();
515       Iterator JavaDoc components = componentsMap.entrySet().iterator();
516
517       while (components.hasNext()) {
518          Map.Entry JavaDoc entry = (Map.Entry JavaDoc) components.next();
519          JComponent component = (JComponent) entry.getValue();
520          if (component instanceof JTextField) {
521             value = ((JTextField) component).getText();
522          }
523          else if (component instanceof JCheckBox) {
524             value = "" + ((JCheckBox) component).isSelected();
525          }
526          else if (component instanceof JComboBox) {
527             value = "" + ((JComboBox) component).getSelectedItem();
528          }
529          settings.put(entry.getKey(), value);
530       }
531       return settings;
532    }
533
534
535    /**
536     * Set the template settings.
537     */

538    public void setTemplateSettings(Map JavaDoc templateSettings) {
539
540       Map JavaDoc componentsMap = templatePanel.getConfigComponents();
541       Iterator JavaDoc components = componentsMap.entrySet().iterator();
542
543       while (components.hasNext()) {
544          Map.Entry JavaDoc entry = (Map.Entry JavaDoc) components.next();
545          JComponent component = (JComponent) entry.getValue();
546          String JavaDoc name = component.getName();
547          String JavaDoc value = (String JavaDoc) templateSettings.get(name);
548          if (value != null) {
549             if (component instanceof JTextField) {
550                ((JTextField) component).setText(value);
551             }
552             else if (component instanceof JCheckBox) {
553                if ("true".equalsIgnoreCase(value)) {
554                   ((JCheckBox) component).setSelected(true);
555                }
556                else {
557                   ((JCheckBox) component).setSelected(false);
558                }
559             }
560             else if (component instanceof JComboBox) {
561                ((JComboBox) component).setSelectedItem(value);
562             }
563          }
564       }
565
566    }
567
568
569    /**
570     * Helper method to determine if the selected appserver matches the passed string. A match is made in the selected
571     * appserver equals or starts with the passed value ignoring cases. This method can be used to ignore version
572     * numbers. So if you want to know that a JBoss appserver was selected, just match with "jboss".
573     * @param value
574     * @return Boolean true if there is a match.
575     */

576    public Boolean JavaDoc matchAppserver(String JavaDoc value) {
577       String JavaDoc selectedAppserver = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_APPLICATION_SERVER);
578       selectedAppserver = selectedAppserver.toLowerCase();
579       value = value.toLowerCase();
580       if (selectedAppserver == null || "".equals(selectedAppserver) || value == null || "".equals(value)) {
581          return new Boolean JavaDoc(false);
582       }
583       if (selectedAppserver.equals(value) || selectedAppserver.startsWith(value)) {
584          return new Boolean JavaDoc(true);
585       }
586       else {
587          return new Boolean JavaDoc(false);
588       }
589    }
590
591
592    /**
593     * Helper method to determine if the selected business tier matches the passed string. A match is made in the
594     * selected appserver equals or starts with the passed value ignoring cases. This method can be used to ignore
595     * version numbers.
596     * @param value
597     * @return Boolean true if there is a match.
598     */

599    public Boolean JavaDoc matchBusinessTier(String JavaDoc value) {
600       String JavaDoc selectedBusinessTier = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_BUSINESS_TIER);
601       selectedBusinessTier = selectedBusinessTier.toLowerCase();
602       value = value.toLowerCase();
603       if (selectedBusinessTier == null || "".equals(selectedBusinessTier) || value == null || "".equals(value)) {
604          return new Boolean JavaDoc(false);
605       }
606       if (selectedBusinessTier.equals(value) || selectedBusinessTier.startsWith(value)) {
607          return new Boolean JavaDoc(true);
608       }
609       else {
610          return new Boolean JavaDoc(false);
611       }
612    }
613
614
615    /**
616     * Helper method to determine if the selected service tier matches the passed string. A match is made if the selected
617     * service tier equals or starts with the passed value ignoring cases. This method can be used to ignore version
618     * numbers.
619     * @param value
620     * @return Boolean true if there is a match.
621     */

622    public Boolean JavaDoc matchServiceTier(String JavaDoc value) {
623       String JavaDoc selectedServiceTier = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_SERVICE_TIER);
624       selectedServiceTier = selectedServiceTier.toLowerCase();
625       value = value.toLowerCase();
626       if (selectedServiceTier == null || "".equals(selectedServiceTier) || value == null || "".equals(value)) {
627          return new Boolean JavaDoc(false);
628       }
629       if (selectedServiceTier.equals(value) || selectedServiceTier.startsWith(value)) {
630          return new Boolean JavaDoc(true);
631       }
632       else {
633          return new Boolean JavaDoc(false);
634       }
635    }
636
637
638    /**
639     * Helper method to determine if the selected web tier matches the passed string. A match is made in the selected
640     * appserver equals or starts with the passed value ignoring cases. This method can be used to ignore version
641     * numbers.
642     * @param value
643     * @return Boolean true if there is a match.
644     */

645    public Boolean JavaDoc matchWebTier(String JavaDoc value) {
646       String JavaDoc selectedWebTier = (String JavaDoc) getTemplateSettings().get(JagGenerator.TEMPLATE_WEB_TIER);
647       selectedWebTier = selectedWebTier.toLowerCase();
648       value = value.toLowerCase();
649       if (selectedWebTier == null || "".equals(selectedWebTier) || value == null || "".equals(value)) {
650          return new Boolean JavaDoc(false);
651       }
652       if (selectedWebTier.equals(value) || selectedWebTier.startsWith(value)) {
653          return new Boolean JavaDoc(true);
654       }
655       else {
656          return new Boolean JavaDoc(false);
657       }
658    }
659
660
661    public String JavaDoc getAuthorText() {
662       return authorText.getText().toString();
663    }
664
665
666    public String JavaDoc getVersionText() {
667       return versionText.getText().toString();
668    }
669
670
671    public String JavaDoc getCompanyText() {
672       return companyText.getText().toString();
673    }
674
675
676    // Variables declaration - do not modify
677
private javax.swing.JLabel JavaDoc authorLabel;
678    private javax.swing.JTextField JavaDoc authorText;
679    private javax.swing.JLabel JavaDoc companyLabel;
680    private javax.swing.JTextField JavaDoc companyText;
681    private javax.swing.JButton JavaDoc editButton;
682    private javax.swing.JPanel JavaDoc panel;
683    private javax.swing.JLabel JavaDoc rootPackageLabel;
684    private javax.swing.JScrollPane JavaDoc scrollPane;
685    public javax.swing.JList JavaDoc templateList;
686    private javax.swing.JPanel JavaDoc templateSettingsPanel;
687    private javax.swing.JScrollPane JavaDoc templateSettingsScrollPane;
688    private javax.swing.JLabel JavaDoc versionLabel;
689    private javax.swing.JTextField JavaDoc versionText;
690    // End of variables declaration
691
}
692
693
Popular Tags