KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > sun > ide > j2ee > ui > AddInstanceVisualDirectoryPanel


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 package org.netbeans.modules.j2ee.sun.ide.j2ee.ui;
20
21 import java.io.File JavaDoc;
22 import java.util.HashSet JavaDoc;
23 import java.util.Iterator JavaDoc;
24 import java.util.Set JavaDoc;
25 import javax.swing.JFileChooser JavaDoc;
26 import javax.swing.JPanel JavaDoc;
27 import javax.swing.event.ChangeEvent JavaDoc;
28 import javax.swing.event.ChangeListener JavaDoc;
29 import javax.swing.event.DocumentEvent JavaDoc;
30 import javax.swing.event.DocumentListener JavaDoc;
31 import org.openide.filesystems.FileUtil;
32 import org.openide.util.NbBundle;
33
34 public final class AddInstanceVisualDirectoryPanel extends JPanel JavaDoc {
35
36     private boolean createPersonalInstance;
37
38     /**
39      * Creates new form AddInstanceVisualDirectoryPanel
40      */

41     public AddInstanceVisualDirectoryPanel(boolean createPersonalInstance) {
42         initComponents();
43         setAdminPort(AddDomainWizardIterator.BLANK);
44         this.createPersonalInstance = createPersonalInstance;
45         if (createPersonalInstance) {
46             description.setText(
47                     NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class,
48                     "TXT_instanceDirectoryDescription2"));
49         }
50         adminPortLabel.setVisible(!createPersonalInstance);
51         adminPortDisplay.setVisible(!createPersonalInstance);
52             
53         instanceDirectory.getDocument().addDocumentListener(new DocumentListener JavaDoc() {
54             public void changedUpdate(DocumentEvent JavaDoc e) {
55                 locationChanged();
56             }
57             public void insertUpdate(DocumentEvent JavaDoc e) {
58                 locationChanged();
59             }
60             public void removeUpdate(DocumentEvent JavaDoc e) {
61                 locationChanged();
62             }
63         });
64     }
65
66     public String JavaDoc getName() {
67         return NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class,
68                 "StepName_EnterDomainDirectory"); // NOI18N
69
}
70     
71     void setAdminPort(String JavaDoc uri) {
72         if (!createPersonalInstance) {
73             adminPortDisplay.setText(uri);
74             detectedLabel.setVisible(uri.length() > 0);
75         }
76     }
77     
78     String JavaDoc getInstanceDirectory() {
79         return instanceDirectory.getText();
80     }
81     
82     // Event handling
83
//
84
private final Set JavaDoc/*<ChangeListener>*/ listeners = new HashSet JavaDoc/*<ChangeListener>*/(1);
85     public final void addChangeListener(ChangeListener JavaDoc l) {
86         synchronized (listeners) {
87             listeners.add(l);
88         }
89     }
90     public final void removeChangeListener(ChangeListener JavaDoc l) {
91         synchronized (listeners) {
92             listeners.remove(l);
93         }
94     }
95     protected final void fireChangeEvent() {
96         Iterator JavaDoc/*<ChangeListener>*/ it;
97         synchronized (listeners) {
98             it = new HashSet JavaDoc/*<ChangeListener>*/(listeners).iterator();
99         }
100         ChangeEvent JavaDoc ev = new ChangeEvent JavaDoc(this);
101         while (it.hasNext()) {
102             ((ChangeListener JavaDoc)it.next()).stateChanged(ev);
103         }
104     }
105     
106     void locationChanged() {
107         fireChangeEvent();
108     }
109     
110     
111     private String JavaDoc browseDomainLocation(){
112         String JavaDoc insLocation = null;
113         JFileChooser JavaDoc chooser = null;
114         if (createPersonalInstance) {
115             chooser = new JFileChooser JavaDoc();
116         }
117         else {
118             chooser = new DomainChooser();
119         }
120         Util.decorateChooser(chooser,instanceDirectory.getText(),
121                 NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class,
122                 "LBL_Choose_Domain")); //NOI18N
123
int returnValue = chooser.showDialog(this,
124                 NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class,
125                 "LBL_Choose_Button")); //NOI18N
126

127         if(returnValue == JFileChooser.APPROVE_OPTION){
128             insLocation = chooser.getSelectedFile().getAbsolutePath();
129         }
130         return insLocation;
131     }
132     
133     private class DomainChooser extends JFileChooser JavaDoc {
134         public void approveSelection() {
135             File JavaDoc dir = FileUtil.normalizeFile(getSelectedFile());
136             
137             if ( Util.rootOfUsableDomain(dir) ) {
138                 super.approveSelection();
139             }
140             else {
141                 setCurrentDirectory( dir );
142             }
143             
144         }
145         
146         
147     
148     }
149         
150     /** This method is called from within the constructor to
151      * initialize the form.
152      * WARNING: Do NOT modify this code. The content of this method is
153      * always regenerated by the Form Editor.
154      */

155     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
156
private void initComponents() {
157         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
158
159         description = new javax.swing.JLabel JavaDoc();
160         instanceDirectoryLabel = new javax.swing.JLabel JavaDoc();
161         instanceDirectory = new javax.swing.JTextField JavaDoc();
162         openInstanceDirectorySelector = new javax.swing.JButton JavaDoc();
163         adminPortLabel = new javax.swing.JLabel JavaDoc();
164         adminPortDisplay = new javax.swing.JTextField JavaDoc();
165         detectedLabel = new javax.swing.JLabel JavaDoc();
166         spaceHack = new javax.swing.JLabel JavaDoc();
167
168         setLayout(new java.awt.GridBagLayout JavaDoc());
169
170         java.util.ResourceBundle JavaDoc bundle = java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/ide/j2ee/ui/Bundle"); // NOI18N
171
description.setText(bundle.getString("TXT_instanceDirectoryDescription1")); // NOI18N
172
description.setEnabled(false);
173         description.setFocusable(false);
174         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
175         gridBagConstraints.gridx = 0;
176         gridBagConstraints.gridy = 0;
177         gridBagConstraints.gridwidth = 4;
178         gridBagConstraints.gridheight = 2;
179         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
180         gridBagConstraints.weightx = 1.0;
181         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 5, 0);
182         add(description, gridBagConstraints);
183
184         instanceDirectoryLabel.setLabelFor(instanceDirectory);
185         org.openide.awt.Mnemonics.setLocalizedText(instanceDirectoryLabel, org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "LBL_instanceDirectoryLabel")); // NOI18N
186
gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
187         gridBagConstraints.gridx = 0;
188         gridBagConstraints.gridy = 2;
189         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
190         gridBagConstraints.insets = new java.awt.Insets JavaDoc(5, 0, 6, 6);
191         add(instanceDirectoryLabel, gridBagConstraints);
192         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
193         gridBagConstraints.gridx = 1;
194         gridBagConstraints.gridy = 2;
195         gridBagConstraints.gridwidth = 2;
196         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
197         gridBagConstraints.weightx = 1.0;
198         gridBagConstraints.insets = new java.awt.Insets JavaDoc(5, 6, 6, 6);
199         add(instanceDirectory, gridBagConstraints);
200         instanceDirectory.getAccessibleContext().setAccessibleDescription(bundle.getString("DSC_instanceDirectory")); // NOI18N
201

202         org.openide.awt.Mnemonics.setLocalizedText(openInstanceDirectorySelector, org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "LBL_openInstanceDirectorySelector")); // NOI18N
203
openInstanceDirectorySelector.addActionListener(new java.awt.event.ActionListener JavaDoc() {
204             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
205                 openInstanceDirectorySelectorActionPerformed(evt);
206             }
207         });
208         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
209         gridBagConstraints.gridx = 3;
210         gridBagConstraints.gridy = 2;
211         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
212         gridBagConstraints.insets = new java.awt.Insets JavaDoc(5, 6, 6, 0);
213         add(openInstanceDirectorySelector, gridBagConstraints);
214         openInstanceDirectorySelector.getAccessibleContext().setAccessibleDescription(bundle.getString("DSC_openInstanceDirectorySelector")); // NOI18N
215

216         adminPortLabel.setLabelFor(adminPortDisplay);
217         org.openide.awt.Mnemonics.setLocalizedText(adminPortLabel, org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "LBL_adminlPortLabel")); // NOI18N
218
gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
219         gridBagConstraints.gridx = 0;
220         gridBagConstraints.gridy = 3;
221         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
222         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 0, 6, 6);
223         add(adminPortLabel, gridBagConstraints);
224
225         adminPortDisplay.setEditable(false);
226         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
227         gridBagConstraints.gridx = 1;
228         gridBagConstraints.gridy = 3;
229         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
230         gridBagConstraints.weightx = 1.0;
231         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 6);
232         add(adminPortDisplay, gridBagConstraints);
233         adminPortDisplay.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(AddInstanceVisualDirectoryPanel.class, "ACSD_ADMIN_PORT")); // NOI18N
234

235         detectedLabel.setText(bundle.getString("LBL_detectedLabel")); // NOI18N
236
detectedLabel.setFocusable(false);
237         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
238         gridBagConstraints.gridx = 2;
239         gridBagConstraints.gridy = 3;
240         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
241         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
242         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 6);
243         add(detectedLabel, gridBagConstraints);
244
245         spaceHack.setEnabled(false);
246         spaceHack.setFocusable(false);
247         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
248         gridBagConstraints.gridx = 0;
249         gridBagConstraints.gridy = 4;
250         gridBagConstraints.weighty = 1.0;
251         add(spaceHack, gridBagConstraints);
252     }// </editor-fold>//GEN-END:initComponents
253

254     private void openInstanceDirectorySelectorActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_openInstanceDirectorySelectorActionPerformed
255
String JavaDoc val = browseDomainLocation();
256         if (null != val && val.length() >=1)
257             instanceDirectory.setText(val);
258     }//GEN-LAST:event_openInstanceDirectorySelectorActionPerformed
259

260
261     // Variables declaration - do not modify//GEN-BEGIN:variables
262
private javax.swing.JTextField JavaDoc adminPortDisplay;
263     private javax.swing.JLabel JavaDoc adminPortLabel;
264     private javax.swing.JLabel JavaDoc description;
265     private javax.swing.JLabel JavaDoc detectedLabel;
266     private javax.swing.JTextField JavaDoc instanceDirectory;
267     private javax.swing.JLabel JavaDoc instanceDirectoryLabel;
268     private javax.swing.JButton JavaDoc openInstanceDirectorySelector;
269     private javax.swing.JLabel JavaDoc spaceHack;
270     // End of variables declaration//GEN-END:variables
271

272 }
273
274
Popular Tags