You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2010/11/22 17:26:07 UTC
svn commit: r1037767 - in
/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2:
editor/ jobs/
Author: pamarcelot
Date: Mon Nov 22 16:26:06 2010
New Revision: 1037767
URL: http://svn.apache.org/viewvc?rev=1037767&view=rev
Log:
Added various Modify and Selection Listeners which brings the updates of UI back of configuration beans.
Modified:
directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/KerberosServerPage.java
directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java
directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PartitionsPage.java
directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java
directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditorPage.java
directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/LoadConfigurationRunnable.java
Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/KerberosServerPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/KerberosServerPage.java?rev=1037767&r1=1037766&r2=1037767&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/KerberosServerPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/KerberosServerPage.java Mon Nov 22 16:26:06 2010
@@ -23,7 +23,6 @@ package org.apache.directory.studio.apac
import org.apache.directory.server.config.beans.ChangePasswordServerBean;
import org.apache.directory.server.config.beans.ConfigBean;
import org.apache.directory.server.config.beans.KdcServerBean;
-import org.apache.directory.server.config.beans.LdapServerBean;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
@@ -31,7 +30,6 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapData;
Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java?rev=1037767&r1=1037766&r2=1037767&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/LdapLdapsServersPage.java Mon Nov 22 16:26:06 2010
@@ -20,20 +20,22 @@
package org.apache.directory.studio.apacheds.configuration.v2.editor;
-import org.apache.directory.server.config.beans.ConfigBean;
import org.apache.directory.server.config.beans.LdapServerBean;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
+import org.apache.directory.server.config.beans.TransportBean;
+import org.apache.directory.shared.ldap.exception.LdapInvalidDnException;
+import org.apache.directory.shared.ldap.name.DN;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
import org.eclipse.ui.forms.widgets.TableWrapData;
@@ -311,15 +313,13 @@ public class LdapLdapsServersPage extend
private void initUI()
{
- ConfigBean configBean = getConfigBean();
-
- LdapServerBean ldapServerBean = configBean.getDirectoryServiceBean().getLdapServerBean();
+ LdapServerBean ldapServerBean = getLdapServerBean();
enableLdapCheckbox.setSelection( ldapServerBean.isEnabled() );
- ldapPortText.setText( ldapServerBean.getTransports()[0].getSystemPort() + "" );
+ ldapPortText.setText( getLdapServerTransportBean().getSystemPort() + "" );
enableLdapsCheckbox.setSelection( true );
- ldapsPortText.setText( "10636" );
+ ldapsPortText.setText( getLdapsServerTransportBean().getSystemPort() + "" );
saslHostText.setText( ldapServerBean.getLdapServerSaslHost() );
saslPrincipalText.setText( ldapServerBean.getLdapServerSaslPrincipal() );
@@ -332,20 +332,193 @@ public class LdapLdapsServersPage extend
*/
private void addListeners()
{
+ // Enable LDAP Checkbox
addDirtyListener( enableLdapCheckbox );
+ enableLdapCheckbox.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent e )
+ {
+ getLdapServerTransportBean().setEnabled( enableLdapCheckbox.getSelection() );
+ }
+ } );
+
+ // LDAP Port Text
addDirtyListener( ldapPortText );
+ ldapPortText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ getLdapsServerTransportBean().setSystemPort( Integer.parseInt( ldapPortText.getText() ) );
+ }
+ } );
+
+ // Enable LDAPS Checkbox
addDirtyListener( enableLdapsCheckbox );
+ enableLdapsCheckbox.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent e )
+ {
+ getLdapsServerTransportBean().setEnabled( enableLdapsCheckbox.getSelection() );
+ }
+ } );
+
+ // LDAPS Port Text
addDirtyListener( ldapsPortText );
+ ldapsPortText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ getLdapsServerTransportBean().setSystemPort( Integer.parseInt( ldapsPortText.getText() ) );
+ }
+ } );
+
+ // Max Time Limit Text
addDirtyListener( maxTimeLimitText );
+
+ // Max Size Limit Text
addDirtyListener( maxSizeLimitText );
+
+ // Auth Mechanisms Simple Checkbox
addDirtyListener( authMechSimpleCheckbox );
+
+ // Auth Mechanisms CRAM-MD5 Checkbox
addDirtyListener( authMechCramMd5Checkbox );
+
+ // Auth Mechanisms DIGEST-MD5 Checkbox
addDirtyListener( authMechDigestMd5Checkbox );
+
+ // Auth Mechanisms GSSAPI Checkbox
addDirtyListener( authMechGssapiCheckbox );
+
+ // Auth Mechanisms NTLM Checkbox
addDirtyListener( authMechNtlmCheckbox );
+
+ // Auth Mechanisms GSS SPENEGO Checkbox
addDirtyListener( authMechGssSpnegoCheckbox );
+
+ // SASL Host Text
addDirtyListener( saslHostText );
+ saslHostText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ getLdapServerBean().setLdapServerSaslHost( saslHostText.getText() );
+ }
+ } );
+
+ // SASL Principal Text
addDirtyListener( saslPrincipalText );
+ saslPrincipalText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ getLdapServerBean().setLdapServerSaslPrincipal( saslPrincipalText.getText() );
+ }
+ } );
+
+ // SASL Seach Base DN Text
addDirtyListener( saslSearchBaseDnText );
+ saslSearchBaseDnText.addModifyListener( new ModifyListener()
+ {
+ public void modifyText( ModifyEvent e )
+ {
+ String searchBaseDnValue = saslSearchBaseDnText.getText();
+
+ try
+ {
+ DN searchBaseDn = new DN( searchBaseDnValue );
+ getLdapServerBean().setSearchBaseDn( searchBaseDn );
+ }
+ catch ( LdapInvalidDnException e1 )
+ {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ } );
+ }
+
+
+ /**
+ * Gets the LDAP Server bean.
+ *
+ * @return
+ * the LDAP Server bean
+ */
+ private LdapServerBean getLdapServerBean()
+ {
+ LdapServerBean ldapServerBean = getDirectoryServiceBean().getLdapServerBean();
+
+ if ( ldapServerBean == null )
+ {
+ ldapServerBean = new LdapServerBean();
+ getDirectoryServiceBean().addServers( ldapServerBean );
+ }
+
+ return ldapServerBean;
+ }
+
+
+ /**
+ * Gets the LDAP Server transport bean.
+ *
+ * @return
+ * the LDAP Server transport bean
+ */
+ private TransportBean getLdapServerTransportBean()
+ {
+ return getTransportBean( "ldap" );
+ }
+
+
+ /**
+ * Gets the LDAPS Server transport bean.
+ *
+ * @return
+ * the LDAPS Server transport bean
+ */
+ private TransportBean getLdapsServerTransportBean()
+ {
+ return getTransportBean( "ldaps" );
+ }
+
+
+ /**
+ * Gets a transport bean based on its id.
+ *
+ * @param id
+ * the id
+ * @return
+ * the corresponding transport bean
+ */
+ private TransportBean getTransportBean( String id )
+ {
+ LdapServerBean ldapServerBean = getLdapServerBean();
+
+ TransportBean transportBean = null;
+
+ // Looking for the transport in the list
+ TransportBean[] ldapServerTransportBeans = ldapServerBean.getTransports();
+ if ( ldapServerTransportBeans != null )
+ {
+ for ( TransportBean ldapServerTransportBean : ldapServerTransportBeans )
+ {
+ if ( id.equals( ldapServerTransportBean.getTransportId() ) )
+ {
+ transportBean = ldapServerTransportBean;
+ break;
+ }
+ }
+ }
+
+ // No corresponding transport has been found
+ if ( transportBean == null )
+ {
+ transportBean = new TransportBean();
+ transportBean.setTransportId( id );
+ ldapServerBean.addTransports( transportBean );
+ }
+
+ return transportBean;
}
}
Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PartitionsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PartitionsPage.java?rev=1037767&r1=1037766&r2=1037767&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PartitionsPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PartitionsPage.java Mon Nov 22 16:26:06 2010
@@ -21,7 +21,6 @@ package org.apache.directory.studio.apac
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java?rev=1037767&r1=1037766&r2=1037767&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java Mon Nov 22 16:26:06 2010
@@ -153,7 +153,7 @@ public class ServerConfigurationEditor e
* @param configBean
* the configuration bean
*/
- private void setConfigBean( ConfigBean configBean )
+ public void setConfigBean( ConfigBean configBean )
{
this.configBean = configBean;
}
Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditorPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditorPage.java?rev=1037767&r1=1037766&r2=1037767&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditorPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditorPage.java Mon Nov 22 16:26:06 2010
@@ -21,6 +21,7 @@ package org.apache.directory.studio.apac
import org.apache.directory.server.config.beans.ConfigBean;
+import org.apache.directory.server.config.beans.DirectoryServiceBean;
import org.apache.directory.studio.apacheds.configuration.v2.actions.EditorAddPageAction;
import org.apache.directory.studio.apacheds.configuration.v2.actions.EditorExportConfigurationAction;
import org.apache.directory.studio.apacheds.configuration.v2.actions.EditorImportConfigurationAction;
@@ -43,7 +44,6 @@ import org.eclipse.swt.widgets.Composite
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.editor.FormPage;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
@@ -96,14 +96,7 @@ public abstract class ServerConfiguratio
*/
public ServerConfigurationEditor getServerConfigurationEditor()
{
- FormEditor editor = getEditor();
-
- if ( editor instanceof ServerConfigurationEditor )
- {
- return ( ServerConfigurationEditor ) editor;
- }
-
- return null;
+ return ( ServerConfigurationEditor ) getEditor();
}
@@ -112,12 +105,7 @@ public abstract class ServerConfiguratio
*/
private void setEditorDirty()
{
- ServerConfigurationEditor editor = getServerConfigurationEditor();
-
- if ( editor != null )
- {
- editor.setDirty( true );
- }
+ getServerConfigurationEditor().setDirty( true );
}
@@ -129,14 +117,35 @@ public abstract class ServerConfiguratio
*/
public ConfigBean getConfigBean()
{
- ServerConfigurationEditor editor = getServerConfigurationEditor();
+ ConfigBean configBean = getServerConfigurationEditor().getConfigBean();
+
+ if ( configBean == null )
+ {
+ configBean = new ConfigBean();
+ getServerConfigurationEditor().setConfigBean( configBean );
+ }
+
+ return configBean;
+ }
+
+
+ /**
+ * Gets the directory service associated with the editor.
+ *
+ * @return
+ * the directory service bean associated with the editor
+ */
+ public DirectoryServiceBean getDirectoryServiceBean()
+ {
+ DirectoryServiceBean directoryServiceBean = getConfigBean().getDirectoryServiceBean();
- if ( editor != null )
+ if ( directoryServiceBean == null )
{
- return editor.getConfigBean();
+ directoryServiceBean = new DirectoryServiceBean();
+ getConfigBean().addDirectoryService( directoryServiceBean );
}
- return null;
+ return directoryServiceBean;
}
@@ -230,12 +239,16 @@ public abstract class ServerConfiguratio
/**
- * TODO createDefaultValueLabel.
+ * Creates default value Label.
*
* @param toolkit
+ * the toolkit
* @param parent
+ * the parent
* @param text
+ * the text string
* @return
+ * a default value Label
*/
protected Label createDefaultValueLabel( FormToolkit toolkit, Composite parent, String text )
{
@@ -246,12 +259,24 @@ public abstract class ServerConfiguratio
}
+ /**
+ * Adds a 'dirty' listener to the given Text.
+ *
+ * @param text
+ * the Text control
+ */
public void addDirtyListener( Text text )
{
text.addModifyListener( dirtyModifyListener );
}
+ /**
+ * Adds a 'dirty' listener to the given Button.
+ *
+ * @param button
+ * the Button control
+ */
public void addDirtyListener( Button button )
{
button.addSelectionListener( dirtySelectionListener );
Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/LoadConfigurationRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/LoadConfigurationRunnable.java?rev=1037767&r1=1037766&r2=1037767&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/LoadConfigurationRunnable.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/LoadConfigurationRunnable.java Mon Nov 22 16:26:06 2010
@@ -47,8 +47,10 @@ import org.eclipse.swt.widgets.Display;
*/
public class LoadConfigurationRunnable implements StudioRunnableWithProgress
{
+ /** The associated editor */
private ServerConfigurationEditor editor;
+ /** The configuration bean */
private ConfigBean configBean;