KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > earproject > ui > wizards > PanelProjectLocationVisual


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.j2ee.earproject.ui.wizards;
21
22 import java.io.File JavaDoc;
23 import java.io.IOException JavaDoc;
24 import java.text.MessageFormat JavaDoc;
25 import java.util.ResourceBundle JavaDoc;
26 import javax.swing.JFileChooser JavaDoc;
27 import javax.swing.event.DocumentEvent JavaDoc;
28 import javax.swing.event.DocumentListener JavaDoc;
29 import org.netbeans.modules.j2ee.earproject.ProjectEar;
30 import org.netbeans.modules.j2ee.earproject.ui.FoldersListSettings;
31 import org.netbeans.spi.project.ui.support.ProjectChooser;
32 import org.openide.WizardDescriptor;
33
34 final class PanelProjectLocationVisual extends SettingsPanel implements DocumentListener JavaDoc {
35     
36     private final PanelConfigureProject panel;
37     private final String JavaDoc propNameIndex;
38     private final ResourceBundle JavaDoc customBundle;
39     private final boolean importStyle;
40     
41     /** Creates new form PanelProjectLocationVisual */
42     public PanelProjectLocationVisual(PanelConfigureProject panel, String JavaDoc propNameIndex, ResourceBundle JavaDoc customBundle, boolean importStyle) {
43         this.customBundle = customBundle;
44         initComponents();
45         this.panel = panel;
46         this.propNameIndex = propNameIndex;
47         
48         // Register listener on the textFields to make the automatic updates
49
projectNameTextField.getDocument().addDocumentListener(this);
50         projectLocationTextField.getDocument().addDocumentListener(this);
51         this.importStyle = importStyle;
52         createdFolderTextField.setEditable(importStyle);
53         if (importStyle) {
54             createdFolderTextField.getDocument().addDocumentListener(this);
55         }
56         browseFolderButton.setVisible(importStyle);
57     }
58     
59     void addNameListener(DocumentListener JavaDoc listener) {
60         projectNameTextField.getDocument().addDocumentListener(listener);
61     }
62     
63     /** This method is called from within the constructor to
64      * initialize the form.
65      * WARNING: Do NOT modify this code. The content of this method is
66      * always regenerated by the Form Editor.
67      */

68     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
69
private void initComponents() {
70         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
71
72         projectNameLabel = new javax.swing.JLabel JavaDoc();
73         projectNameTextField = new javax.swing.JTextField JavaDoc();
74         projectLocationLabel = new javax.swing.JLabel JavaDoc();
75         projectLocationTextField = new javax.swing.JTextField JavaDoc();
76         browseLocationButton = new javax.swing.JButton JavaDoc();
77         createdFolderLabel = new javax.swing.JLabel JavaDoc();
78         createdFolderTextField = new javax.swing.JTextField JavaDoc();
79         browseFolderButton = new javax.swing.JButton JavaDoc();
80         spaceFiller = new javax.swing.JPanel JavaDoc();
81
82         setLayout(new java.awt.GridBagLayout JavaDoc());
83
84         projectNameLabel.setLabelFor(projectNameTextField);
85         org.openide.awt.Mnemonics.setLocalizedText(projectNameLabel, org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "LBL_NWP1_ProjectName_Label")); // NOI18N
86
gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
87         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
88         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
89         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 0);
90         add(projectNameLabel, gridBagConstraints);
91
92         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
93         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
94         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
95         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
96         gridBagConstraints.weightx = 1.0;
97         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 12, 3, 5);
98         add(projectNameTextField, gridBagConstraints);
99         projectNameTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "ACS_LBL_NWP1_ProjectName_A11YDesc")); // NOI18N
100

101         projectLocationLabel.setLabelFor(projectLocationTextField);
102         org.openide.awt.Mnemonics.setLocalizedText(projectLocationLabel, org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "LBL_NWP1_ProjectLocation_Label")); // NOI18N
103
gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
104         gridBagConstraints.gridy = 1;
105         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
106         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
107         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 0);
108         add(projectLocationLabel, gridBagConstraints);
109
110         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
111         gridBagConstraints.gridx = 1;
112         gridBagConstraints.gridy = 1;
113         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
114         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
115         gridBagConstraints.weightx = 1.0;
116         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 12, 3, 0);
117         add(projectLocationTextField, gridBagConstraints);
118         projectLocationTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "ACS_LBL_NPW1_ProjectLocation_A11YDesc")); // NOI18N
119

120         org.openide.awt.Mnemonics.setLocalizedText(browseLocationButton, org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "LBL_NWP1_BrowseLocation_Button")); // NOI18N
121
browseLocationButton.setActionCommand("BROWSE"); // NOI18N
122
browseLocationButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
123             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
124                 browseLocationAction(evt);
125             }
126         });
127
128         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
129         gridBagConstraints.gridx = 2;
130         gridBagConstraints.gridy = 1;
131         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
132         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
133         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 6, 3, 5);
134         add(browseLocationButton, gridBagConstraints);
135         browseLocationButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "ACS_LBL_NWP1_BrowseLocation_A11YDesc")); // NOI18N
136

137         createdFolderLabel.setLabelFor(createdFolderTextField);
138         org.openide.awt.Mnemonics.setLocalizedText(createdFolderLabel, org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "LBL_NWP1_CreatedProjectFolder_Lablel")); // NOI18N
139
gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
140         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
141         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
142         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 0);
143         add(createdFolderLabel, gridBagConstraints);
144
145         createdFolderTextField.setEditable(false);
146         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
147         gridBagConstraints.gridx = 1;
148         gridBagConstraints.gridy = 2;
149         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
150         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
151         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 12, 3, 0);
152         add(createdFolderTextField, gridBagConstraints);
153         createdFolderTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "ACS_LBL_NWP1_CreatedProjectFolder_A11YDesc")); // NOI18N
154

155         org.openide.awt.Mnemonics.setLocalizedText(browseFolderButton, org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "LBL_NWP1_BrowseLocation_Button")); // NOI18N
156
browseFolderButton.setActionCommand("BROWSE"); // NOI18N
157
browseFolderButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
158             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
159                 browseLocationAction2(evt);
160             }
161         });
162
163         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
164         gridBagConstraints.gridx = 2;
165         gridBagConstraints.gridy = 2;
166         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
167         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
168         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 5, 3, 5);
169         add(browseFolderButton, gridBagConstraints);
170         browseFolderButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(PanelProjectLocationVisual.class, "ACSD_LBL_NWP1_BrowseFolder")); // NOI18N
171

172         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
173         gridBagConstraints.gridx = 0;
174         gridBagConstraints.gridy = 3;
175         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
176         gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
177         gridBagConstraints.weightx = 1.0;
178         gridBagConstraints.weighty = 1.0;
179         add(spaceFiller, gridBagConstraints);
180
181     }// </editor-fold>//GEN-END:initComponents
182

183     private void browseLocationAction2(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_browseLocationAction2
184
String JavaDoc command = evt.getActionCommand();
185         
186         if ("BROWSE".equals(command)) { //NOI18N
187
JFileChooser JavaDoc chooser = new JFileChooser JavaDoc();
188             chooser.setDialogTitle(customBundle.getString("LBL_NWP1_SelectProjectLocation")); //NOI18N
189
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
190             String JavaDoc path = getCreatedFolderText();
191             if (path.length() > 0) {
192                 File JavaDoc f = new File JavaDoc(path);
193                 if (f.exists()) {
194                     chooser.setSelectedFile(f);
195                 }
196             }
197             if (JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(this)) {
198                 File JavaDoc projectDir = chooser.getSelectedFile();
199                 createdFolderTextField.setText(projectDir.getAbsolutePath());
200             }
201             panel.fireChangeEvent();
202         }
203     }//GEN-LAST:event_browseLocationAction2
204

205     private void browseLocationAction(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_browseLocationAction
206
String JavaDoc command = evt.getActionCommand();
207         
208         if ("BROWSE".equals(command)) { //NOI18N
209
JFileChooser JavaDoc chooser = new JFileChooser JavaDoc();
210             chooser.setDialogTitle(customBundle.getString("LBL_NWP1_SelectProjectLocation")); //NOI18N
211
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
212             String JavaDoc path = projectLocationTextField.getText();
213             if (path.length() > 0) {
214                 File JavaDoc f = new File JavaDoc(path);
215                 if (f.exists()) {
216                     chooser.setSelectedFile(f);
217                 }
218             }
219             if (JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(this)) {
220                 File JavaDoc projectDir = chooser.getSelectedFile();
221                 projectLocationTextField.setText(projectDir.getAbsolutePath());
222             }
223             panel.fireChangeEvent();
224         }
225     }//GEN-LAST:event_browseLocationAction
226

227     public void addNotify() {
228         super.addNotify();
229         //same problem as in 31086, initial focus on Cancel button
230
projectNameTextField.requestFocus();
231     }
232     
233     boolean valid(WizardDescriptor wizardDescriptor) {
234         //fix of #57246 - Too much time is needed to creation of new ent app
235
//if the projectLocationTextField contains just '\' then the generated project path
236
//starts with \\ which is wrong (a network path)
237
if("\\".equals(getCreatedFolderText())) { // NOI18N
238
return false;
239         }
240         
241         if (!SettingsPanel.isValidProjectName(projectNameTextField.getText())) {
242             wizardDescriptor.putProperty("WizardPanel_errorMessage", //NOI18N
243
customBundle.getString("MSG_IllegalProjectName")); //NOI18N
244
return false; // Display name not specified
245
}
246         
247         final String JavaDoc relativeDDPath = "src" + File.separator + "conf" // NOI18N
248
+ File.separator + ProjectEar.FILE_DD;
249         
250         if (importStyle) {
251             File JavaDoc appXmlSrc = new File JavaDoc(projectLocationTextField.getText().trim() +
252                     File.separator + relativeDDPath);
253             if (!appXmlSrc.exists()) {
254                 wizardDescriptor.putProperty("WizardPanel_errorMessage", // NOI18N
255
MessageFormat.format(customBundle.getString("MSG_Requires"),new Object JavaDoc[] {appXmlSrc.getAbsolutePath()})); //NOI18N
256
return false;
257             }
258             if (getCreatedFolderText().length() == 0) {
259                 wizardDescriptor.putProperty("WizardPanel_errorMessage", //NOI18N
260
customBundle.getString("MSG_EmptyProjectFolder"));//NOI18N
261
return false;
262             }
263         }
264
265         File JavaDoc destParent = SettingsPanel.findExistingParent(getCreatedFolderText());
266                 
267         File JavaDoc destDir = new File JavaDoc(getCreatedFolderText());
268         if (destDir.exists() && !destDir.isDirectory()) {
269             wizardDescriptor.putProperty("WizardPanel_errorMessage", //NOI18N
270
MessageFormat.format(customBundle.getString("MSG_WillOverwrite"),new Object JavaDoc[] {destDir.getAbsolutePath() })); //NOI18N
271
return false;
272         }
273         File JavaDoc buildXml = new File JavaDoc(getCreatedFolderText() + File.separator + "build.xml"); // NOI18N
274
if (buildXml.exists()) {
275             wizardDescriptor.putProperty("WizardPanel_errorMessage", //NOI18N
276
MessageFormat.format(customBundle.getString("MSG_WillOverwrite"),new Object JavaDoc[] {buildXml.getAbsolutePath() })); //NOI18N
277
return false;
278         }
279         File JavaDoc tFile = new File JavaDoc(getCreatedFolderText() + File.separator + relativeDDPath);
280         if (tFile.exists()) {
281             wizardDescriptor.putProperty("WizardPanel_errorMessage", // NOI18N
282
MessageFormat.format(customBundle.getString("MSG_WillOverwrite"),new Object JavaDoc[] {tFile.getAbsolutePath()})); //NOI18N
283
return false;
284         }
285         
286         tFile = new File JavaDoc(getCreatedFolderText() + File.separator + "nbproject" + File.separator + "project.xml"); //NOI18N
287
if (tFile.exists()) {
288             wizardDescriptor.putProperty("WizardPanel_errorMessage", // NOI18N
289
MessageFormat.format(customBundle.getString("MSG_WillOverwrite"),new Object JavaDoc[] {tFile.getAbsolutePath()})); //NOI18N
290
return false;
291         }
292         tFile = new File JavaDoc(getCreatedFolderText() +
293             File.separator+"nbproject"+File.separator+"project.properties"); //NOI18N
294
if (tFile.exists()) {
295             wizardDescriptor.putProperty("WizardPanel_errorMessage", // NOI18N
296
MessageFormat.format(customBundle.getString("MSG_WillOverwrite"),new Object JavaDoc[] {tFile.getAbsolutePath()})); //NOI18N
297
return false;
298         }
299         if (null != destParent && destParent.exists() && !destParent.canWrite()) {
300             // Read only project location
301
wizardDescriptor.putProperty("WizardPanel_errorMessage", // NOI18N
302
MessageFormat.format(customBundle.getString("MSG_ProjectLocationRO"),new Object JavaDoc[] {destParent.getAbsolutePath()})); //NOI18N
303
return false;
304         }
305                 
306         wizardDescriptor.putProperty("WizardPanel_errorMessage", ""); //NOI18N
307
return true;
308     }
309     
310     void store( WizardDescriptor d ) {
311         String JavaDoc name = projectNameTextField.getText().trim();
312         String JavaDoc folder = getCreatedFolderText() ;
313         
314         d.putProperty( /*XXX Define somewhere */ "projdir", new File JavaDoc( folder )); // NOI18N
315
d.putProperty( /*XXX Define somewhere */ "name", name ); // NOI18N
316

317         final Integer JavaDoc nameIndex = projectNameTextField.getText().equals(generatedProjectName) ? generatedProjectNameIndex : null;
318         d.putProperty(propNameIndex, nameIndex);
319     }
320     
321     void read (WizardDescriptor settings) {
322         File JavaDoc projectLocation = (File JavaDoc) settings.getProperty ("projdir"); //NOI18N
323
if (projectLocation == null || projectLocation.getParentFile() == null || !projectLocation.getParentFile().isDirectory ()) {
324             projectLocation = ProjectChooser.getProjectsFolder();
325         }
326         else {
327             projectLocation = projectLocation.getParentFile();
328         }
329         this.projectLocationTextField.setText (projectLocation.getAbsolutePath());
330         
331         String JavaDoc projectName = (String JavaDoc) settings.getProperty ("name"); //NOI18N
332
if (projectName == null) {
333                 int baseCount = FoldersListSettings.getDefault().getNewProjectCount() + 1;
334                 String JavaDoc formater = customBundle.getString("LBL_NPW1_DefaultProjectName");
335                 while ((projectName=validFreeProjectName(projectLocation, formater, baseCount))==null) {
336                     baseCount++;
337                 }
338                 settings.putProperty (propNameIndex, baseCount);
339         }
340         this.projectNameTextField.setText (projectName);
341         this.projectNameTextField.selectAll();
342     }
343     
344     // Variables declaration - do not modify//GEN-BEGIN:variables
345
private javax.swing.JButton JavaDoc browseFolderButton;
346     private javax.swing.JButton JavaDoc browseLocationButton;
347     private javax.swing.JLabel JavaDoc createdFolderLabel;
348     private javax.swing.JTextField JavaDoc createdFolderTextField;
349     private javax.swing.JLabel JavaDoc projectLocationLabel;
350     private javax.swing.JTextField JavaDoc projectLocationTextField;
351     private javax.swing.JLabel JavaDoc projectNameLabel;
352     private javax.swing.JTextField JavaDoc projectNameTextField;
353     private javax.swing.JPanel JavaDoc spaceFiller;
354     // End of variables declaration//GEN-END:variables
355

356     // Private methods ---------------------------------------------------------
357

358     private String JavaDoc validFreeProjectName (final File JavaDoc parentFolder, final String JavaDoc formater, final int index) {
359         String JavaDoc name = MessageFormat.format(formater, index);
360         File JavaDoc file = new File JavaDoc (parentFolder, name);
361         return file.exists() ? null : name;
362     }
363
364     // Implementation of DocumentListener --------------------------------------
365

366     public static final String JavaDoc PROP_PROJECT_NAME = "projectName"; //NOI18N
367

368     public void changedUpdate( DocumentEvent JavaDoc e ) {
369         updateTexts( e );
370         if (this.projectNameTextField.getDocument() == e.getDocument()) {
371             firePropertyChange (PROP_PROJECT_NAME,null,this.projectNameTextField.getText());
372         }
373     }
374     
375     public void insertUpdate( DocumentEvent JavaDoc e ) {
376         updateTexts( e );
377         if (this.projectNameTextField.getDocument() == e.getDocument()) {
378             firePropertyChange (PROP_PROJECT_NAME,null,this.projectNameTextField.getText());
379         }
380     }
381     
382     public void removeUpdate( DocumentEvent JavaDoc e ) {
383         updateTexts( e );
384         if (this.projectNameTextField.getDocument() == e.getDocument()) {
385             firePropertyChange (PROP_PROJECT_NAME,null,this.projectNameTextField.getText());
386         }
387     }
388     
389     private String JavaDoc generatedProjectName = "";
390     private int generatedProjectNameIndex = 0;
391
392      /** Handles changes in the Project name and project directory
393      */

394     private void updateTexts( DocumentEvent JavaDoc e ) {
395         javax.swing.text.Document JavaDoc doc = e.getDocument();
396         if (doc == projectNameTextField.getDocument() || doc == projectLocationTextField.getDocument()) {
397             String JavaDoc projectName = projectNameTextField.getText();
398             
399             if (doc == projectLocationTextField.getDocument()) {
400                 if (projectName.equals(generatedProjectName)) {
401                     File JavaDoc f = new File JavaDoc(projectLocationTextField.getText().trim());
402                     generatedProjectNameIndex = getValidProjectNameIndex(generatedProjectNameIndex, f, customBundle);
403                 } else {
404                     generatedProjectNameIndex = 0;
405                 }
406                 generatedProjectName = generatedProjectNameIndex > 0 ? getProjectName(generatedProjectNameIndex,customBundle) : null;
407                 if(generatedProjectNameIndex > 0) {
408                     projectName = generatedProjectName;
409                     projectNameTextField.setText(generatedProjectName);
410                     projectNameTextField.selectAll();
411                 }
412             }
413             
414             String JavaDoc projectFolder = projectLocationTextField.getText();
415             createdFolderTextField.setText(projectFolder + File.separatorChar + projectName);
416         }
417         panel.fireChangeEvent(); // Notify that the panel changed
418
}
419
420     static File JavaDoc getCanonicalFile(File JavaDoc file) {
421         try {
422             return file.getCanonicalFile();
423         } catch (IOException JavaDoc e) {
424             return null;
425         }
426     }
427
428     public static String JavaDoc getProjectName(int index, ResourceBundle JavaDoc rb) {
429         return MessageFormat.format(rb.getString("LBL_NPW1_DefaultProjectName"), new Object JavaDoc[] {String.valueOf(index)});
430     }
431
432     private static int getValidProjectNameIndex(int currentIndex, File JavaDoc projectLocation, ResourceBundle JavaDoc rb) {
433         int index = currentIndex > 0 ? currentIndex : FoldersListSettings.getDefault().getNewProjectCount() + 1;
434         if(projectLocation != null) {
435             while (new File JavaDoc(projectLocation, getProjectName(index,rb)).exists()) {
436                 index++;
437             }
438         }
439         return index;
440     }
441     
442     private String JavaDoc getCreatedFolderText() {
443         return createdFolderTextField.getText().trim();
444     }
445     
446 }
447
448 //TODO implement check for project folder name and location
449
Popular Tags