KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > proxy > view > wizards > ConnectWizardBrowserNotAvailablePage


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20 package org.apache.directory.ldapstudio.proxy.view.wizards;
21
22
23 import org.apache.directory.ldapstudio.proxy.ProxyConstants;
24 import org.apache.directory.ldapstudio.proxy.view.BaseWidgetUtils;
25 import org.apache.directory.ldapstudio.proxy.view.HistoryUtils;
26 import org.eclipse.jface.wizard.WizardPage;
27 import org.eclipse.swt.SWT;
28 import org.eclipse.swt.events.ModifyEvent;
29 import org.eclipse.swt.events.ModifyListener;
30 import org.eclipse.swt.events.SelectionEvent;
31 import org.eclipse.swt.events.SelectionListener;
32 import org.eclipse.swt.events.VerifyEvent;
33 import org.eclipse.swt.events.VerifyListener;
34 import org.eclipse.swt.layout.GridData;
35 import org.eclipse.swt.layout.GridLayout;
36 import org.eclipse.swt.widgets.Combo;
37 import org.eclipse.swt.widgets.Composite;
38 import org.eclipse.swt.widgets.Group;
39
40
41 /**
42  * This class implements the Connect Wizard Settings Page.
43  *
44  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
45  * @version $Rev$, $Date$
46  */

47 public class ConnectWizardBrowserNotAvailablePage extends WizardPage implements ModifyListener, SelectionListener
48 {
49     // UI fields
50
private Combo proxyPortCombo;
51     private Combo serverHostCombo;
52     private Combo serverPortCombo;
53
54
55     /**
56      * Creates a new instance of ConnectWizardSettingsPage.
57      */

58     public ConnectWizardBrowserNotAvailablePage()
59     {
60         super( ConnectWizardBrowserNotAvailablePage.class.getName() );
61         setTitle( "Connect Wizard" );
62         setDescription( "Specify the settings for the LDAP Proxy." );
63         setPageComplete( false );
64     }
65
66
67     /* (non-Javadoc)
68      * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
69      */

70     public void createControl( Composite parent )
71     {
72         Composite composite = new Composite( parent, SWT.NONE );
73         GridLayout gl = new GridLayout( 1, false );
74         composite.setLayout( gl );
75
76         Group proxyGroup = BaseWidgetUtils.createGroup( composite, "LDAP Proxy", 1 );
77         proxyGroup.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
78         Composite proxyGroupComposite = BaseWidgetUtils.createColumnContainer( proxyGroup, 2, 1 );
79
80         BaseWidgetUtils.createLabel( proxyGroupComposite, "Proxy port:", 1 );
81         proxyPortCombo = BaseWidgetUtils.createCombo( proxyGroupComposite, new String JavaDoc[0], -1, 1 );
82         proxyPortCombo.addVerifyListener( new VerifyListener()
83         {
84             public void verifyText( VerifyEvent e )
85             {
86                 if ( !e.text.matches( "[0-9]*" ) )
87                 {
88                     e.doit = false;
89                 }
90                 if ( serverPortCombo.getText().length() > 4 && e.text.length() > 0 )
91                 {
92                     e.doit = false;
93                 }
94             }
95         } );
96
97         Group serverGroup = BaseWidgetUtils.createGroup( composite, "LDAP Server", 1 );
98         serverGroup.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
99
100         Composite serverComposite = BaseWidgetUtils.createColumnContainer( serverGroup, 2, 1 );
101         BaseWidgetUtils.createLabel( serverComposite, "Hostname:", 1 );
102         serverHostCombo = BaseWidgetUtils.createCombo( serverComposite, new String JavaDoc[0], -1, 1 );
103
104         BaseWidgetUtils.createLabel( serverComposite, "Port:", 1 );
105         serverPortCombo = BaseWidgetUtils.createCombo( serverComposite, new String JavaDoc[0], -1, 1 );
106         serverPortCombo.addVerifyListener( new VerifyListener()
107         {
108             public void verifyText( VerifyEvent e )
109             {
110                 if ( !e.text.matches( "[0-9]*" ) )
111                 {
112                     e.doit = false;
113                 }
114                 if ( serverPortCombo.getText().length() > 4 && e.text.length() > 0 )
115                 {
116                     e.doit = false;
117                 }
118             }
119         } );
120
121         setControl( parent );
122
123         loadDialogHistory();
124         initListeners();
125     }
126
127
128     /**
129      * Loads the last values entered by the user from the Dialog History.
130      */

131     private void loadDialogHistory()
132     {
133         proxyPortCombo.setItems( HistoryUtils.load( ProxyConstants.DIALOGSETTING_KEY_PROXY_PORT_HISTORY ) );
134         serverHostCombo.setItems( HistoryUtils.load( ProxyConstants.DIALOGSETTING_KEY_SERVER_HOST_HISTORY ) );
135         serverPortCombo.setItems( HistoryUtils.load( ProxyConstants.DIALOGSETTING_KEY_SERVER_PORT_HISTORY ) );
136     }
137
138
139     /**
140      * Saves the values entered by the user in the Dialog History.
141      */

142     public void saveDialogHistory()
143     {
144         HistoryUtils.save( ProxyConstants.DIALOGSETTING_KEY_PROXY_PORT_HISTORY, proxyPortCombo.getText() );
145         HistoryUtils.save( ProxyConstants.DIALOGSETTING_KEY_SERVER_HOST_HISTORY, serverHostCombo.getText() );
146         HistoryUtils.save( ProxyConstants.DIALOGSETTING_KEY_SERVER_PORT_HISTORY, serverPortCombo.getText() );
147     }
148
149
150     /**
151      * Initializes the listeners.
152      */

153     private void initListeners()
154     {
155         proxyPortCombo.addModifyListener( this );
156         serverHostCombo.addModifyListener( this );
157         serverPortCombo.addModifyListener( this );
158     }
159
160
161     /**
162      * Gets the local port defined by the user.
163      *
164      * @return
165      * the local port defined by the user
166      */

167     public int getLocalPort()
168     {
169         int port = 0;
170
171         try
172         {
173             port = Integer.parseInt( proxyPortCombo.getText() );
174         }
175         catch ( NumberFormatException JavaDoc e )
176         {
177         }
178
179         return port;
180     }
181
182
183     /**
184      * Gets the remote host defined by the user.
185      *
186      * @return
187      * the remote host defined by the user
188      */

189     public String JavaDoc getRemoteHost()
190     {
191         return serverHostCombo.getText();
192     }
193
194
195     /**
196      * Gets the remote port defined by the user.
197      *
198      * @return
199      * the remote port defined by the user
200      */

201     public int getRemotePort()
202     {
203         int port = 0;
204
205         try
206         {
207             port = Integer.parseInt( serverPortCombo.getText() );
208         }
209         catch ( NumberFormatException JavaDoc e )
210         {
211         }
212
213         return port;
214     }
215
216
217     /* (non-Javadoc)
218      * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
219      */

220     public void modifyText( ModifyEvent e )
221     {
222         validate();
223     }
224
225
226     /* (non-Javadoc)
227      * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
228      */

229     public void widgetDefaultSelected( SelectionEvent e )
230     {
231         validate();
232     }
233
234
235     /* (non-Javadoc)
236      * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
237      */

238     public void widgetSelected( SelectionEvent e )
239     {
240         validate();
241     }
242
243
244     /**
245      * Validates the page.
246      */

247     private void validate()
248     {
249         String JavaDoc errorMessage = null;
250
251         if ( "".equals( serverPortCombo.getText() ) )
252         {
253             errorMessage = "Please enter a port for the LDAP Server. The default LDAP port is 389.";
254         }
255         if ( "".equals( serverHostCombo.getText() ) )
256         {
257             errorMessage = "Please enter a hostname for the LDAP Server.";
258         }
259         if ( "".equals( proxyPortCombo.getText() ) )
260         {
261             errorMessage = "Please enter a port for the LDAP Proxy.";
262         }
263
264         setErrorMessage( errorMessage );
265         setPageComplete( getErrorMessage() == null );
266     }
267 }
268
Popular Tags