1 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 47 public class ConnectWizardBrowserNotAvailablePage extends WizardPage implements ModifyListener, SelectionListener 48 { 49 private Combo proxyPortCombo; 51 private Combo serverHostCombo; 52 private Combo serverPortCombo; 53 54 55 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 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 [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 [0], -1, 1 ); 103 104 BaseWidgetUtils.createLabel( serverComposite, "Port:", 1 ); 105 serverPortCombo = BaseWidgetUtils.createCombo( serverComposite, new String [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 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 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 153 private void initListeners() 154 { 155 proxyPortCombo.addModifyListener( this ); 156 serverHostCombo.addModifyListener( this ); 157 serverPortCombo.addModifyListener( this ); 158 } 159 160 161 167 public int getLocalPort() 168 { 169 int port = 0; 170 171 try 172 { 173 port = Integer.parseInt( proxyPortCombo.getText() ); 174 } 175 catch ( NumberFormatException e ) 176 { 177 } 178 179 return port; 180 } 181 182 183 189 public String getRemoteHost() 190 { 191 return serverHostCombo.getText(); 192 } 193 194 195 201 public int getRemotePort() 202 { 203 int port = 0; 204 205 try 206 { 207 port = Integer.parseInt( serverPortCombo.getText() ); 208 } 209 catch ( NumberFormatException e ) 210 { 211 } 212 213 return port; 214 } 215 216 217 220 public void modifyText( ModifyEvent e ) 221 { 222 validate(); 223 } 224 225 226 229 public void widgetDefaultSelected( SelectionEvent e ) 230 { 231 validate(); 232 } 233 234 235 238 public void widgetSelected( SelectionEvent e ) 239 { 240 validate(); 241 } 242 243 244 247 private void validate() 248 { 249 String 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 |