directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pamarce...@apache.org
Subject svn commit: r1469461 - in /directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2: ./ editor/
Date Thu, 18 Apr 2013 17:12:23 GMT
Author: pamarcelot
Date: Thu Apr 18 17:12:22 2013
New Revision: 1469461

URL: http://svn.apache.org/r1469461
Log:
Made it possible to configure multiple password policies with a master/details layout.

Added:
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java
      - copied, changed from r1469342, directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyPage.java
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java
Removed:
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyPage.java
Modified:
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/ApacheDS2ConfigurationPluginConstants.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/messages.properties
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_de.properties
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_fr.properties

Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/ApacheDS2ConfigurationPluginConstants.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/ApacheDS2ConfigurationPluginConstants.java?rev=1469461&r1=1469460&r2=1469461&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/ApacheDS2ConfigurationPluginConstants.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/ApacheDS2ConfigurationPluginConstants.java Thu Apr 18 17:12:22 2013
@@ -44,6 +44,8 @@ public interface ApacheDS2ConfigurationP
     public static final String IMG_NEW_SERVER_CONFIGURATION_FILE_WIZARD = "resources/icons/new_server_configuration_file_wizard.gif"; //$NON-NLS-1$
     public static final String IMG_PARTITION = "resources/icons/partition.gif"; //$NON-NLS-1$
     public static final String IMG_PARTITION_SYSTEM = "resources/icons/partition_system.gif"; //$NON-NLS-1$
+    public static final String IMG_PASSWORD_POLICY = "resources/icons/password_policy_default.gif"; //$NON-NLS-1$
+    public static final String IMG_PASSWORD_POLICY_DEFAULT = "resources/icons/password_policy.gif"; //$NON-NLS-1$
     public static final String IMG_REPLICATION_CONSUMER = "resources/icons/replication_consumer.gif"; //$NON-NLS-1$
     public static final String IMG_VERTICAL_ORIENTATION = "resources/icons/vertical_orientation.gif"; //$NON-NLS-1$
 }

Added: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.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/PasswordPoliciesMasterDetailsBlock.java?rev=1469461&view=auto
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java (added)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesMasterDetailsBlock.java Thu Apr 18 17:12:22 2013
@@ -0,0 +1,407 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.v2.editor;
+
+
+import org.apache.directory.server.config.beans.AuthenticationInterceptorBean;
+import org.apache.directory.server.config.beans.DirectoryServiceBean;
+import org.apache.directory.server.config.beans.InterceptorBean;
+import org.apache.directory.server.config.beans.PasswordPolicyBean;
+import org.apache.directory.studio.apacheds.configuration.v2.ApacheDS2ConfigurationPlugin;
+import org.apache.directory.studio.apacheds.configuration.v2.ApacheDS2ConfigurationPluginConstants;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerComparator;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.ui.forms.DetailsPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.MasterDetailsBlock;
+import org.eclipse.ui.forms.SectionPart;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+
+
+/**
+ * This class represents the Password Policies Master/Details Block used in the Password Policies Page.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class PasswordPoliciesMasterDetailsBlock extends MasterDetailsBlock
+{
+    private static final String NEW_ID = Messages.getString( "PasswordPoliciesMasterDetailsBlock.PasswordPolicyNewId" ); //$NON-NLS-1$
+
+    private static final String AUTHENTICATION_INTERCEPTOR_ID = "authenticationInterceptor";
+
+    /** The associated page */
+    private PasswordPoliciesPage page;
+
+    /** The Details Page */
+    private PasswordPolicyDetailsPage detailsPage;
+
+    /** The authentication interceptor */
+    private AuthenticationInterceptorBean authenticationInterceptor;
+
+    // UI Fields
+    private TableViewer viewer;
+    private Button addButton;
+    private Button deleteButton;
+
+
+    /**
+     * Creates a new instance of PasswordPoliciesMasterDetailsBlock.
+     *
+     * @param page
+     *      the associated page
+     */
+    public PasswordPoliciesMasterDetailsBlock( PasswordPoliciesPage page )
+    {
+        this.page = page;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    protected void createMasterPart( final IManagedForm managedForm, Composite parent )
+    {
+        FormToolkit toolkit = managedForm.getToolkit();
+
+        // Creating the Section
+        Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+        section.setText( Messages.getString( "PasswordPoliciesMasterDetailsBlock.AllPasswordPolicies" ) ); //$NON-NLS-1$
+        section.marginWidth = 10;
+        section.marginHeight = 5;
+        Composite client = toolkit.createComposite( section, SWT.WRAP );
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        layout.makeColumnsEqualWidth = false;
+        layout.marginWidth = 2;
+        layout.marginHeight = 2;
+        client.setLayout( layout );
+        toolkit.paintBordersFor( client );
+        section.setClient( client );
+
+        // Creating the Table and Table Viewer
+        Table table = toolkit.createTable( client, SWT.NULL );
+        GridData gd = new GridData( SWT.FILL, SWT.FILL, true, true, 1, 2 );
+        gd.heightHint = 20;
+        gd.widthHint = 100;
+        table.setLayoutData( gd );
+        final SectionPart spart = new SectionPart( section );
+        managedForm.addPart( spart );
+        viewer = new TableViewer( table );
+        viewer.addSelectionChangedListener( new ISelectionChangedListener()
+        {
+            public void selectionChanged( SelectionChangedEvent event )
+            {
+                managedForm.fireSelectionChanged( spart, event.getSelection() );
+            }
+        } );
+        viewer.setContentProvider( new ArrayContentProvider() );
+        viewer.setLabelProvider( new LabelProvider()
+        {
+            public String getText( Object element )
+            {
+                if ( element instanceof PasswordPolicyBean )
+                {
+                    PasswordPolicyBean passwordPolicy = ( PasswordPolicyBean ) element;
+
+                    return NLS.bind( "{0}", passwordPolicy.getPwdId() ); //$NON-NLS-1$
+                }
+
+                return super.getText( element );
+            }
+
+
+            public Image getImage( Object element )
+            {
+                if ( element instanceof PasswordPolicyBean )
+                {
+                    PasswordPolicyBean passwordPolicy = ( PasswordPolicyBean ) element;
+
+                    if ( PasswordPoliciesPage.isDefaultPasswordPolicy( passwordPolicy ) )
+                    {
+                        return ApacheDS2ConfigurationPlugin.getDefault().getImage(
+                            ApacheDS2ConfigurationPluginConstants.IMG_PASSWORD_POLICY_DEFAULT );
+                    }
+                    else
+                    {
+                        return ApacheDS2ConfigurationPlugin.getDefault().getImage(
+                            ApacheDS2ConfigurationPluginConstants.IMG_PASSWORD_POLICY );
+                    }
+                }
+
+                return super.getImage( element );
+            }
+        } );
+        viewer.setComparator( new ViewerComparator()
+        {
+            public int compare( Viewer viewer, Object e1, Object e2 )
+            {
+                if ( ( e1 instanceof PasswordPolicyBean ) && ( e2 instanceof PasswordPolicyBean ) )
+                {
+                    PasswordPolicyBean passwordPolicy1 = ( PasswordPolicyBean ) e1;
+                    PasswordPolicyBean passwordPolicy2 = ( PasswordPolicyBean ) e2;
+
+                    String passwordPolicy1Id = passwordPolicy1.getPwdId();
+                    String passwordPolicy2Id = passwordPolicy2.getPwdId();
+
+                    if ( ( passwordPolicy1Id != null ) && ( passwordPolicy2Id != null ) )
+                    {
+                        return passwordPolicy1Id.compareTo( passwordPolicy2Id );
+                    }
+                }
+
+                return super.compare( viewer, e1, e2 );
+            }
+        } );
+
+        // Creating the button(s)
+        addButton = toolkit.createButton( client,
+            Messages.getString( "PasswordPoliciesMasterDetailsBlock.Add" ), SWT.PUSH ); //$NON-NLS-1$
+        addButton.setLayoutData( new GridData( SWT.FILL, SWT.BEGINNING, false, false ) );
+
+        deleteButton = toolkit.createButton( client,
+            Messages.getString( "PasswordPoliciesMasterDetailsBlock.Delete" ), SWT.PUSH ); //$NON-NLS-1$
+        deleteButton.setEnabled( false );
+        deleteButton.setLayoutData( new GridData( SWT.FILL, SWT.BEGINNING, false, false ) );
+
+        initFromInput();
+        addListeners();
+    }
+
+
+    /**
+     * Initializes the page with the Editor input.
+     */
+    private void initFromInput()
+    {
+        AuthenticationInterceptorBean authenticationInterceptor = getAuthenticationInterceptor();
+
+        if ( authenticationInterceptor != null )
+        {
+            viewer.setInput( authenticationInterceptor.getPasswordPolicies() );
+        }
+        else
+        {
+            viewer.setInput( null );
+        }
+    }
+
+
+    /**
+     * Gets the authentication interceptor.
+     *
+     * @return the authentication interceptor
+     */
+    private AuthenticationInterceptorBean getAuthenticationInterceptor()
+    {
+        if ( authenticationInterceptor == null )
+        {
+            // Looking for the authentication interceptor
+            for ( InterceptorBean interceptor : page.getConfigBean().getDirectoryServiceBean().getInterceptors() )
+            {
+                if ( AUTHENTICATION_INTERCEPTOR_ID.equalsIgnoreCase( interceptor.getInterceptorId() )
+                    && ( interceptor instanceof AuthenticationInterceptorBean ) )
+                {
+                    authenticationInterceptor = ( AuthenticationInterceptorBean ) interceptor;
+                }
+            }
+        }
+
+        return authenticationInterceptor;
+    }
+
+
+    /**
+     * Add listeners to UI fields.
+     */
+    private void addListeners()
+    {
+        viewer.addSelectionChangedListener( new ISelectionChangedListener()
+        {
+            public void selectionChanged( SelectionChangedEvent event )
+            {
+                viewer.refresh();
+
+                // Getting the selection of the table viewer
+                StructuredSelection selection = ( StructuredSelection ) viewer.getSelection();
+
+                // Delete button is enabled when something is selected
+                deleteButton.setEnabled( !selection.isEmpty() );
+
+                // Delete button is not enabled in the case of the system partition
+                if ( !selection.isEmpty() )
+                {
+                    PasswordPolicyBean passwordPolicy = ( PasswordPolicyBean ) selection.getFirstElement();
+                    if ( PasswordPoliciesPage.isDefaultPasswordPolicy( passwordPolicy ) )
+                    {
+                        deleteButton.setEnabled( false );
+                    }
+                }
+            }
+        } );
+
+        addButton.addSelectionListener( new SelectionAdapter()
+        {
+            public void widgetSelected( SelectionEvent e )
+            {
+                addNewPasswordPolicy();
+            }
+        } );
+
+        deleteButton.addSelectionListener( new SelectionAdapter()
+        {
+            public void widgetSelected( SelectionEvent e )
+            {
+                deleteSelectedPasswordPolicy();
+            }
+        } );
+    }
+
+
+    /**
+     * This method is called when the 'Add' button is clicked.
+     */
+    private void addNewPasswordPolicy()
+    {
+        String newId = getNewId();
+
+        PasswordPolicyBean newPasswordPolicy = new PasswordPolicyBean();
+        newPasswordPolicy.setPwdId( newId );
+        // TODO initialize default values
+
+        getAuthenticationInterceptor().addPasswordPolicies( newPasswordPolicy );
+        viewer.refresh();
+        viewer.setSelection( new StructuredSelection( newPasswordPolicy ) );
+        setEditorDirty();
+    }
+
+
+    /**
+     * Gets a new ID for a new password policy.
+     *
+     * @return 
+     *      a new ID for a new password policy
+     */
+    private String getNewId()
+    {
+        int counter = 1;
+        String name = NEW_ID;
+        boolean ok = false;
+
+        while ( !ok )
+        {
+            ok = true;
+            name = NEW_ID + counter;
+
+            for ( PasswordPolicyBean passwordPolicy : getAuthenticationInterceptor().getPasswordPolicies() )
+            {
+                if ( passwordPolicy.getPwdId().equalsIgnoreCase( name ) )
+                {
+                    ok = false;
+                }
+            }
+            counter++;
+        }
+
+        return name;
+    }
+
+
+    /**
+     * This method is called when the 'Delete' button is clicked.
+     */
+    private void deleteSelectedPasswordPolicy()
+    {
+        StructuredSelection selection = ( StructuredSelection ) viewer.getSelection();
+        if ( !selection.isEmpty() )
+        {
+            PasswordPolicyBean passwordPolicy = ( PasswordPolicyBean ) selection.getFirstElement();
+            if ( !PasswordPoliciesPage.isDefaultPasswordPolicy( passwordPolicy ) )
+            {
+                if ( MessageDialog
+                    .openConfirm(
+                        page.getManagedForm().getForm().getShell(),
+                        Messages.getString( "PasswordPoliciesMasterDetailsBlock.ConfirmDelete" ), //$NON-NLS-1$
+                        NLS.bind(
+                            Messages.getString( "PasswordPoliciesMasterDetailsBlock.AreYouSureDeletePasswordPolicy" ), passwordPolicy.getPwdId() ) ) ) //$NON-NLS-1$
+                {
+                    getAuthenticationInterceptor().removePasswordPolicies( passwordPolicy );
+                    setEditorDirty();
+                }
+            }
+        }
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    protected void registerPages( DetailsPart detailsPart )
+    {
+        detailsPage = new PasswordPolicyDetailsPage( this );
+        detailsPart.registerPage( PasswordPolicyBean.class, detailsPage );
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    protected void createToolBarActions( IManagedForm managedForm )
+    {
+        // TODO Auto-generated method stub
+
+    }
+
+
+    /**
+     * Sets the Editor as dirty.
+     */
+    public void setEditorDirty()
+    {
+        ( ( ServerConfigurationEditor ) page.getEditor() ).setDirty( true );
+        viewer.refresh();
+    }
+
+
+    /**
+     * Saves the necessary elements to the input model.
+     */
+    public void save()
+    {
+        detailsPage.commit( true );
+    }
+}

Copied: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java (from r1469342, directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyPage.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/PasswordPoliciesPage.java?p2=directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java&p1=directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyPage.java&r1=1469342&r2=1469461&rev=1469461&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPoliciesPage.java Thu Apr 18 17:12:22 2013
@@ -44,17 +44,16 @@ import org.eclipse.ui.forms.widgets.Tabl
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class PasswordPolicyPage extends ServerConfigurationEditorPage
+public class PasswordPoliciesPage extends ServerConfigurationEditorPage
 {
     private static final String AUTHENTICATION_INTERCEPTOR_ID = "authenticationInterceptor";
-
     private static final String PASSWORD_POLICY_ID_DEFAULT = "default";
 
     /** The Page ID*/
-    public static final String ID = PasswordPolicyPage.class.getName(); //$NON-NLS-1$
+    public static final String ID = PasswordPoliciesPage.class.getName(); //$NON-NLS-1$
 
     /** The Page Title */
-    private static final String TITLE = Messages.getString( "PasswordPolicyPage.PasswordPolicy" ); //$NON-NLS-1$
+    private static final String TITLE = Messages.getString( "PasswordPoliciesPage.PasswordPolicies" ); //$NON-NLS-1$
 
     // UI Widgets
     private ComboViewer checkQualityComboViewer;
@@ -87,7 +86,7 @@ public class PasswordPolicyPage extends 
      * @param editor
      *      the associated editor
      */
-    public PasswordPolicyPage( ServerConfigurationEditor editor )
+    public PasswordPoliciesPage( ServerConfigurationEditor editor )
     {
         super( editor, ID, TITLE );
     }
@@ -98,6 +97,16 @@ public class PasswordPolicyPage extends 
      */
     protected void createFormContent( Composite parent, FormToolkit toolkit )
     {
+        PasswordPoliciesMasterDetailsBlock masterDetailsBlock = new PasswordPoliciesMasterDetailsBlock( this );
+        masterDetailsBlock.createContent( getManagedForm() );
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    protected void createFormContent2( Composite parent, FormToolkit toolkit )
+    {
         TableWrapLayout twl = new TableWrapLayout();
         twl.numColumns = 2;
         parent.setLayout( twl );
@@ -313,64 +322,64 @@ public class PasswordPolicyPage extends 
     {
         PasswordPolicyBean passwordPolicy = getPasswordPolicy();
 
-        // Check Quality
-        checkQualityComboViewer.setSelection( new StructuredSelection( CheckQuality.valueOf( passwordPolicy
-            .getPwdCheckQuality() ) ) );
-
-        // Miminum Length
-        int minimumLength = passwordPolicy.getPwdMinLength();
-        minimumLengthCheckbox.setSelection( minimumLength != 0 );
-        minimumLengthText.setText( "" + minimumLength );
-
-        // Maximum Length
-        int maximumLength = passwordPolicy.getPwdMaxLength();
-        maximumLengthCheckbox.setSelection( maximumLength != 0 );
-        maximumLengthText.setText( "" + maximumLength );
-
-        // Minimum Age
-        minimumAgeText.setText( "" + passwordPolicy.getPwdMinAge() );
-
-        // Maximum Age
-        maximumAgeText.setText( "" + passwordPolicy.getPwdMaxAge() );
-
-        // Expire Warning
-        expireWarningCheckbox.setSelection( passwordPolicy.getPwdExpireWarning() == 0 );
-        expireWarningText.setText( "" + passwordPolicy.getPwdExpireWarning() );
-
-        // Grace Authentication Limit
-        int graceAuthenticationLimit = passwordPolicy.getPwdGraceAuthNLimit();
-        graceAuthenticationLimitCheckbox.setSelection( graceAuthenticationLimit != 0 );
-        graceAuthenticationLimitText.setText( "" + graceAuthenticationLimit );
-
-        // Grace Expire
-        int graceExpire = passwordPolicy.getPwdGraceExpire();
-        graceExpireCheckbox.setSelection( graceExpire != 0 );
-        graceExpireText.setText( "" + graceExpire );
-
-        // Must Change
-        mustChangeCheckbox.setSelection( passwordPolicy.isPwdMustChange() );
-
-        // Allow User Change
-        allowUserChangeCheckbox.setSelection( passwordPolicy.isPwdAllowUserChange() );
-
-        // Safe Modify
-        safeModifyCheckbox.setSelection( passwordPolicy.isPwdSafeModify() );
-
-        // Lockout
-        lockoutCheckbox.setSelection( passwordPolicy.isPwdLockout() );
-
-        // Lockout Duration
-        lockoutDurationText.setText( "" + passwordPolicy.getPwdLockoutDuration() );
-
-        // Max Failure
-        maxFailureText.setText( "" + passwordPolicy.getPwdMaxFailure() );
-
-        // Failure Count Interval
-        failureCountIntervalText.setText( "" + passwordPolicy.getPwdFailureCountInterval() );
-
-        // In History
-        inHistoryCheckbox.setSelection( passwordPolicy.getPwdInHistory() != 0 );
-        inHistoryText.setText( "" + passwordPolicy.getPwdInHistory() );
+//        // Check Quality
+//        checkQualityComboViewer.setSelection( new StructuredSelection( CheckQuality.valueOf( passwordPolicy
+//            .getPwdCheckQuality() ) ) );
+//
+//        // Miminum Length
+//        int minimumLength = passwordPolicy.getPwdMinLength();
+//        minimumLengthCheckbox.setSelection( minimumLength != 0 );
+//        minimumLengthText.setText( "" + minimumLength );
+//
+//        // Maximum Length
+//        int maximumLength = passwordPolicy.getPwdMaxLength();
+//        maximumLengthCheckbox.setSelection( maximumLength != 0 );
+//        maximumLengthText.setText( "" + maximumLength );
+//
+//        // Minimum Age
+//        minimumAgeText.setText( "" + passwordPolicy.getPwdMinAge() );
+//
+//        // Maximum Age
+//        maximumAgeText.setText( "" + passwordPolicy.getPwdMaxAge() );
+//
+//        // Expire Warning
+//        expireWarningCheckbox.setSelection( passwordPolicy.getPwdExpireWarning() == 0 );
+//        expireWarningText.setText( "" + passwordPolicy.getPwdExpireWarning() );
+//
+//        // Grace Authentication Limit
+//        int graceAuthenticationLimit = passwordPolicy.getPwdGraceAuthNLimit();
+//        graceAuthenticationLimitCheckbox.setSelection( graceAuthenticationLimit != 0 );
+//        graceAuthenticationLimitText.setText( "" + graceAuthenticationLimit );
+//
+//        // Grace Expire
+//        int graceExpire = passwordPolicy.getPwdGraceExpire();
+//        graceExpireCheckbox.setSelection( graceExpire != 0 );
+//        graceExpireText.setText( "" + graceExpire );
+//
+//        // Must Change
+//        mustChangeCheckbox.setSelection( passwordPolicy.isPwdMustChange() );
+//
+//        // Allow User Change
+//        allowUserChangeCheckbox.setSelection( passwordPolicy.isPwdAllowUserChange() );
+//
+//        // Safe Modify
+//        safeModifyCheckbox.setSelection( passwordPolicy.isPwdSafeModify() );
+//
+//        // Lockout
+//        lockoutCheckbox.setSelection( passwordPolicy.isPwdLockout() );
+//
+//        // Lockout Duration
+//        lockoutDurationText.setText( "" + passwordPolicy.getPwdLockoutDuration() );
+//
+//        // Max Failure
+//        maxFailureText.setText( "" + passwordPolicy.getPwdMaxFailure() );
+//
+//        // Failure Count Interval
+//        failureCountIntervalText.setText( "" + passwordPolicy.getPwdFailureCountInterval() );
+//
+//        // In History
+//        inHistoryCheckbox.setSelection( passwordPolicy.getPwdInHistory() != 0 );
+//        inHistoryText.setText( "" + passwordPolicy.getPwdInHistory() );
     }
 
 
@@ -556,4 +565,22 @@ public class PasswordPolicyPage extends 
             return super.toString();
         }
     }
+
+
+    /**
+     * Indicates if the given password policy is the default one.
+     *
+     * @param passwordPolicy the password policy
+     * @return <code>true</code> if the given password policy is the default one,
+     *         <code>false</code> if not.
+     */
+    public static boolean isDefaultPasswordPolicy( PasswordPolicyBean passwordPolicy )
+    {
+        if ( passwordPolicy != null )
+        {
+            return PASSWORD_POLICY_ID_DEFAULT.equalsIgnoreCase( passwordPolicy.getPwdId() );
+        }
+
+        return false;
+    }
 }
\ No newline at end of file

Added: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.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/PasswordPolicyDetailsPage.java?rev=1469461&view=auto
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java (added)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/PasswordPolicyDetailsPage.java Thu Apr 18 17:12:22 2013
@@ -0,0 +1,482 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.v2.editor;
+
+
+import org.apache.directory.server.config.beans.PasswordPolicyBean;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the Password Policy type
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class PasswordPolicyDetailsPage implements IDetailsPage
+{
+    /** The associated Master Details Block */
+    private PasswordPoliciesMasterDetailsBlock masterDetailsBlock;
+
+    /** The Managed Form */
+    private IManagedForm mform;
+
+    /** The input password policy */
+    private PasswordPolicyBean input;
+
+    // UI Widgets
+    private ComboViewer checkQualityComboViewer;
+    private Button minimumLengthCheckbox;
+    private Text minimumLengthText;
+    private Button maximumLengthCheckbox;
+    private Text maximumLengthText;
+    private Text minimumAgeText;
+    private Text maximumAgeText;
+    private Button expireWarningCheckbox;
+    private Text expireWarningText;
+    private Button graceAuthenticationLimitCheckbox;
+    private Text graceAuthenticationLimitText;
+    private Button graceExpireCheckbox;
+    private Text graceExpireText;
+    private Button mustChangeCheckbox;
+    private Button allowUserChangeCheckbox;
+    private Button safeModifyCheckbox;
+    private Button lockoutCheckbox;
+    private Text lockoutDurationText;
+    private Text maxFailureText;
+    private Text failureCountIntervalText;
+    private Button inHistoryCheckbox;
+    private Text inHistoryText;
+
+
+    // Listeners
+
+    /**
+     * Creates a new instance of PartitionDetailsPage.
+     *
+     * @param pmdb
+     *      the associated Master Details Block
+     */
+    public PasswordPolicyDetailsPage( PasswordPoliciesMasterDetailsBlock pmdb )
+    {
+        masterDetailsBlock = pmdb;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void createContents( Composite parent )
+    {
+        FormToolkit toolkit = mform.getToolkit();
+        TableWrapLayout layout = new TableWrapLayout();
+        layout.topMargin = 5;
+        layout.leftMargin = 5;
+        layout.rightMargin = 2;
+        layout.bottomMargin = 2;
+        parent.setLayout( layout );
+
+        // Composite
+        Composite composite = toolkit.createComposite( parent );
+        composite.setLayout( new GridLayout() );
+        TableWrapData compositeTableWrapData = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+        compositeTableWrapData.grabHorizontal = true;
+        composite.setLayoutData( compositeTableWrapData );
+
+        createQualitySection( toolkit, composite );
+        createExpirationSection( toolkit, composite );
+        createOptionsSection( toolkit, composite );
+        createLockoutSection( toolkit, composite );
+    }
+
+
+    /**
+     * Creates the Quality section.
+     *
+     * @param toolkit the toolkit to use
+     * @param parent the parent composite
+     */
+    private void createQualitySection( FormToolkit toolkit, Composite parent )
+    {
+        // Creation of the section
+        Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+        section.setText( "Quality" );
+        section.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+        Composite composite = toolkit.createComposite( section );
+        toolkit.paintBordersFor( composite );
+        GridLayout gridLayout = new GridLayout( 3, false );
+        gridLayout.marginHeight = gridLayout.marginWidth = 0;
+        composite.setLayout( gridLayout );
+        section.setClient( composite );
+
+        // Check Quality (pwdCheckQuality)
+        toolkit.createLabel( composite, "Check Quality:" );
+        checkQualityComboViewer = new ComboViewer( composite );
+        checkQualityComboViewer.setContentProvider( new ArrayContentProvider() );
+        checkQualityComboViewer.setInput( new CheckQuality[]
+            { CheckQuality.DISABLED, CheckQuality.RELAXED, CheckQuality.STRICT } );
+        checkQualityComboViewer.getControl().setLayoutData(
+            new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Minimum Length (pwdMinLength)
+        minimumLengthCheckbox = toolkit.createButton( composite, "Enable Mimimum Length", SWT.CHECK );
+        minimumLengthCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        toolkit.createLabel( composite, "   " );
+        minimumLengthText = toolkit.createText( composite, "" );
+
+        // Maximum Length (pwdMaxLength)
+        maximumLengthCheckbox = toolkit.createButton( composite, "Enable Maximum Length", SWT.CHECK );
+        maximumLengthCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        toolkit.createLabel( composite, "   " );
+        maximumLengthText = toolkit.createText( composite, "" );
+    }
+
+
+    /**
+     * Creates the Expiration section.
+     *
+     * @param toolkit the toolkit to use
+     * @param parent the parent composite
+     */
+    private void createExpirationSection( FormToolkit toolkit, Composite parent )
+    {
+        // Creation of the section
+        Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+        section.setText( "Expiration" );
+        section.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+        Composite composite = toolkit.createComposite( section );
+        toolkit.paintBordersFor( composite );
+        GridLayout gridLayout = new GridLayout( 3, false );
+        gridLayout.marginHeight = gridLayout.marginWidth = 0;
+        composite.setLayout( gridLayout );
+        section.setClient( composite );
+
+        // Minimum Age (pwdMinAge)
+        toolkit.createLabel( composite, "Mimimum Age:" );
+        minimumAgeText = toolkit.createText( composite, "" );
+        minimumAgeText.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Maximum Age (pwdMaxAge)
+        toolkit.createLabel( composite, "Maximum Age:" );
+        maximumAgeText = toolkit.createText( composite, "" );
+        maximumAgeText.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Expire Warning (pwdExpireWarning)
+        expireWarningCheckbox = toolkit.createButton( composite, "Enable Expire Warning", SWT.CHECK );
+        expireWarningCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        toolkit.createLabel( composite, "   " );
+        expireWarningText = toolkit.createText( composite, "" );
+
+        // Grace Authentication Limit (pwdGraceAuthNLimit)
+        graceAuthenticationLimitCheckbox = toolkit.createButton( composite, "Enable Grace Authentication Limit",
+            SWT.CHECK );
+        graceAuthenticationLimitCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        toolkit.createLabel( composite, "   " );
+        graceAuthenticationLimitText = toolkit.createText( composite, "" );
+
+        // Grace Expire (pwdGraceExpire)
+        graceExpireCheckbox = toolkit.createButton( composite, "Enable Grace Expire", SWT.CHECK );
+        graceExpireCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        toolkit.createLabel( composite, "   " );
+        graceExpireText = toolkit.createText( composite, "" );
+    }
+
+
+    /**
+     * Creates the Options section.
+     *
+     * @param toolkit the toolkit to use
+     * @param parent the parent composite
+     */
+    private void createOptionsSection( FormToolkit toolkit, Composite parent )
+    {
+        // Creation of the section
+        Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+        section.setText( "Options" );
+        section.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+        Composite composite = toolkit.createComposite( section );
+        toolkit.paintBordersFor( composite );
+        GridLayout gridLayout = new GridLayout( 2, false );
+        gridLayout.marginHeight = gridLayout.marginWidth = 0;
+        composite.setLayout( gridLayout );
+        section.setClient( composite );
+
+        // Must Change (pwdMustChange)
+        mustChangeCheckbox = toolkit.createButton( composite, "Enable Must Change", SWT.CHECK );
+        mustChangeCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Allow User Change (pwdAllowUserChange)
+        allowUserChangeCheckbox = toolkit.createButton( composite, "Enable Allow User Change", SWT.CHECK );
+        allowUserChangeCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Safe Modify (pwdSafeModify)
+        safeModifyCheckbox = toolkit.createButton( composite, "Enable Safe Modify", SWT.CHECK );
+        safeModifyCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+    }
+
+
+    /**
+     * Creates the Lockout section.
+     *
+     * @param toolkit the toolkit to use
+     * @param parent the parent composite
+     */
+    private void createLockoutSection( FormToolkit toolkit, Composite parent )
+    {
+        // Creation of the section
+        Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+        section.setText( "Lockout" );
+        section.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+        Composite composite = toolkit.createComposite( section );
+        toolkit.paintBordersFor( composite );
+        GridLayout gridLayout = new GridLayout( 3, false );
+        gridLayout.marginHeight = gridLayout.marginWidth = 0;
+        composite.setLayout( gridLayout );
+        section.setClient( composite );
+
+        // Lockout (pwdLockout)
+        lockoutCheckbox = toolkit.createButton( composite, "Enable Lockout", SWT.CHECK );
+        lockoutCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        // Lockout Duration (pwdLockoutDuration)
+        toolkit.createLabel( composite, "Lockout Duration:" );
+        lockoutDurationText = toolkit.createText( composite, "" );
+        lockoutDurationText.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Max Failure (pwdMaxFailure)
+        toolkit.createLabel( composite, "Max Failure:" );
+        maxFailureText = toolkit.createText( composite, "" );
+        maxFailureText.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // Failure Count Interval (pwdFailureCountInterval)
+        toolkit.createLabel( composite, "Failure Count Interval:" );
+        failureCountIntervalText = toolkit.createText( composite, "" );
+        failureCountIntervalText.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
+
+        // In History (pwdInHistory)
+        inHistoryCheckbox = toolkit.createButton( composite, "Enable In History", SWT.CHECK );
+        inHistoryCheckbox.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 3, 1 ) );
+
+        toolkit.createLabel( composite, "   " );
+        inHistoryText = toolkit.createText( composite, "" );
+    }
+
+
+    /**
+     * Adds listeners to UI fields.
+     */
+    private void addListeners()
+    {
+    }
+
+
+    /**
+     * Removes listeners to UI fields.
+     */
+    private void removeListeners()
+    {
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void selectionChanged( IFormPart part, ISelection selection )
+    {
+        IStructuredSelection ssel = ( IStructuredSelection ) selection;
+        if ( ssel.size() == 1 )
+        {
+            input = ( PasswordPolicyBean ) ssel.getFirstElement();
+        }
+        else
+        {
+            input = null;
+        }
+        refresh();
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void commit( boolean onSave )
+    {
+        if ( input != null )
+        {
+            // TODO
+        }
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void dispose()
+    {
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void initialize( IManagedForm form )
+    {
+        this.mform = form;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean isDirty()
+    {
+        return false;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean isStale()
+    {
+        return false;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void refresh()
+    {
+        removeListeners();
+
+        // TODO
+
+        addListeners();
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public void setFocus()
+    {
+        //        idText.setFocus();
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean setFormInput( Object input )
+    {
+        return false;
+    }
+
+    /**
+     * This enum is used for the check quality value.
+     *
+     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+     */
+    private enum CheckQuality
+    {
+        DISABLED(0),
+        RELAXED(1),
+        STRICT(2);
+
+        /** The value */
+        private int value;
+
+
+        /**
+         * Creates a new instance of CheckQuality.
+         *
+         * @param value the value
+         */
+        private CheckQuality( int value )
+        {
+            this.value = value;
+        }
+
+
+        /**
+         * Gets the value.
+         *
+         * @return the value
+         */
+        public int getValue()
+        {
+            return value;
+        }
+
+
+        public static CheckQuality valueOf( int value )
+        {
+            for ( CheckQuality checkQuality : CheckQuality.class.getEnumConstants() )
+            {
+                if ( checkQuality.getValue() == value )
+                {
+                    return checkQuality;
+                }
+            }
+
+            throw new IllegalArgumentException( "There is no CheckQuality value for :" + value );
+        }
+
+
+        /**
+         * {@inheritDoc}
+         */
+        public String toString()
+        {
+            switch ( this )
+            {
+                case DISABLED:
+                    return "Disabled";
+                case RELAXED:
+                    return "Relaxed";
+                case STRICT:
+                    return "Strict";
+            }
+
+            return super.toString();
+        }
+    }
+}

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=1469461&r1=1469460&r2=1469461&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 Thu Apr 18 17:12:22 2013
@@ -65,7 +65,7 @@ public class ServerConfigurationEditor e
     private LdapLdapsServersPage ldapLdapsServersPage;
     private KerberosServerPage kerberosServerPage;
     private PartitionsPage partitionsPage;
-    private PasswordPolicyPage passwordPolicyPage;
+    private PasswordPoliciesPage passwordPolicyPage;
     private ReplicationPage replicationPage;
 
 
@@ -373,7 +373,7 @@ public class ServerConfigurationEditor e
             addPage( kerberosServerPage );
             partitionsPage = new PartitionsPage( this );
             addPage( partitionsPage );
-            passwordPolicyPage = new PasswordPolicyPage( this );
+            passwordPolicyPage = new PasswordPoliciesPage( this );
             addPage( passwordPolicyPage );
             replicationPage = new ReplicationPage( this );
             addPage( replicationPage );

Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages.properties?rev=1469461&r1=1469460&r2=1469461&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages.properties (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages.properties Thu Apr 18 17:12:22 2013
@@ -114,8 +114,17 @@ PartitionsMasterDetailsBlock.AreYouSureD
 PartitionsMasterDetailsBlock.ConfirmDelete=Confirm Delete
 PartitionsMasterDetailsBlock.Delete=Delete
 PartitionsMasterDetailsBlock.PartitionNewId=partition
+
 PartitionsPage.Partitions=Partitions
-PasswordPolicyPage.PasswordPolicy=Password Policy
+
+PasswordPoliciesMasterDetailsBlock.Add=Add
+PasswordPoliciesMasterDetailsBlock.AllPasswordPolicies=All Password Policies
+PasswordPoliciesMasterDetailsBlock.AreYouSureDeletePasswordPolicy=Are you sure you want to delete password policy ''{0}''?
+PasswordPoliciesMasterDetailsBlock.ConfirmDelete=Confirm Delete
+PasswordPoliciesMasterDetailsBlock.Delete=Delete
+PasswordPoliciesMasterDetailsBlock.PasswordPolicyNewId=passwordPolicy
+
+PasswordPoliciesPage.PasswordPolicies=Password Policies
 
 ReplicationPage.Replication=Replication
 

Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_de.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_de.properties?rev=1469461&r1=1469460&r2=1469461&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_de.properties (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_de.properties Thu Apr 18 17:12:22 2013
@@ -114,8 +114,16 @@ PartitionsMasterDetailsBlock.AreYouSureD
 PartitionsMasterDetailsBlock.ConfirmDelete=L\u00F6schen best\u00E4tigen
 PartitionsMasterDetailsBlock.Delete=L\u00F6schen
 PartitionsMasterDetailsBlock.PartitionNewId=partition
+
 PartitionsPage.Partitions=Partitionen
-PasswordPolicyPage.PasswordPolicy=Passwortregeln
+
+PasswordPoliciesMasterDetailsBlock.Add=Hinzuf\u00FCgen...
+PasswordPoliciesMasterDetailsBlock.AllPasswordPolicies=Alle Passwortregeln
+PasswordPoliciesMasterDetailsBlock.AreYouSureDeletePasswordPolicy=Passwortregel ''{0} ({1})'' l\u00F6schen?
+PasswordPoliciesMasterDetailsBlock.ConfirmDelete=L\u00F6schen best\u00E4tigen
+PasswordPoliciesMasterDetailsBlock.Delete=L\u00F6schen
+
+PasswordPoliciesPage.PasswordPolicies=Passwortregeln
 
 ReplicationPage.Replication=Replikation
 

Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_fr.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_fr.properties?rev=1469461&r1=1469460&r2=1469461&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_fr.properties (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/messages_fr.properties Thu Apr 18 17:12:22 2013
@@ -116,7 +116,13 @@ PartitionsMasterDetailsBlock.Delete=Supp
 PartitionsMasterDetailsBlock.PartitionNewId=partition
 PartitionsPage.Partitions=Partitions
 
-PasswordPolicyPage.PasswordPolicy=Politique de mot de passe
+PasswordPoliciesMasterDetailsBlock.Add=Ajouter
+PasswordPoliciesMasterDetailsBlock.AllPasswordPolicies=Toutes les politiques de mot de passe
+PasswordPoliciesMasterDetailsBlock.AreYouSureDeletePasswordPolicy=Êtes-vous sûr de vouloir supprimer la politique de mot de passe ''{0} ({1})'' ?
+PasswordPoliciesMasterDetailsBlock.ConfirmDelete=Confirmer la suppression
+PasswordPoliciesMasterDetailsBlock.Delete=Supprimer
+
+PasswordPoliciesPage.PasswordPolicies=Politiques de mot de passe
 
 ReplicationPage.Replication=Réplication
 



Mime
View raw message