You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/07/16 06:42:40 UTC

svn commit: r1691316 - in /directory/studio/trunk/plugins: openldap.common.ui/src/main/java/org/apache/directory/studio/openldap/common/ui/model/ openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/ openldap....

Author: elecharny
Date: Thu Jul 16 04:42:40 2015
New Revision: 1691316

URL: http://svn.apache.org/r1691316
Log:
Simplified the Overlay handling

Modified:
    directory/studio/trunk/plugins/openldap.common.ui/src/main/java/org/apache/directory/studio/openldap/common/ui/model/OverlayTypeEnum.java
    directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/OverlayDialog.java
    directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/overlays/AccessLogOverlayConfigurationBlock.java

Modified: directory/studio/trunk/plugins/openldap.common.ui/src/main/java/org/apache/directory/studio/openldap/common/ui/model/OverlayTypeEnum.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.common.ui/src/main/java/org/apache/directory/studio/openldap/common/ui/model/OverlayTypeEnum.java?rev=1691316&r1=1691315&r2=1691316&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.common.ui/src/main/java/org/apache/directory/studio/openldap/common/ui/model/OverlayTypeEnum.java (original)
+++ directory/studio/trunk/plugins/openldap.common.ui/src/main/java/org/apache/directory/studio/openldap/common/ui/model/OverlayTypeEnum.java Thu Jul 16 04:42:40 2015
@@ -52,7 +52,7 @@ public enum OverlayTypeEnum
     VALUE_SORTING( "Value Sorting" ),
     
     /** Unknown */
-    NONE( "" );
+    UNKNOWN( "" );
     
     /** The Overlay name */
     private String name;
@@ -74,6 +74,26 @@ public enum OverlayTypeEnum
     }
 
     
+    /**
+     * Return an instance of OverlayTypeEnum from a String
+     * 
+     * @param name The overlay's name
+     * @return The associated OverlayTypeEnum
+     */
+    public static OverlayTypeEnum getOverlay( String name )
+    {
+        for ( OverlayTypeEnum overlay : values() )
+        {
+            if ( overlay.name.equalsIgnoreCase( name ) )
+            {
+                return overlay;
+            }
+        }
+        
+        return UNKNOWN;
+    }
+
+    
     /**
      * @return An array with all the Enum value's name
      */

Modified: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/OverlayDialog.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/OverlayDialog.java?rev=1691316&r1=1691315&r2=1691316&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/OverlayDialog.java (original)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/OverlayDialog.java Thu Jul 16 04:42:40 2015
@@ -32,11 +32,15 @@ import org.eclipse.jface.viewers.Selecti
 import org.eclipse.jface.viewers.StructuredSelection;
 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.events.SelectionListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
+import org.apache.directory.studio.openldap.common.ui.model.OverlayTypeEnum;
 import org.apache.directory.studio.openldap.config.editor.dialogs.overlays.AccessLogOverlayConfigurationBlock;
 import org.apache.directory.studio.openldap.config.editor.dialogs.overlays.AuditLogOverlayConfigurationBlock;
 import org.apache.directory.studio.openldap.config.editor.dialogs.overlays.MemberOfOverlayConfigurationBlock;
@@ -57,7 +61,9 @@ import org.apache.directory.studio.openl
 
 
 /**
- * The OverlayDialog is used to edit the configuration of an overlay.
+ * The OverlayDialog is used to edit the configuration of an overlay. The user will
+ * select the overlay to configure in a Combo :
+ * 
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
@@ -80,17 +86,15 @@ public class OverlayDialog extends Dialo
 
     // UI widgets
     private Combo overlayTypeCombo;
-    private ComboViewer overlayTypeComboViewer;
     private Composite configurationComposite;
     private Composite configurationInnerComposite;
 
     // Listeners
-    private ISelectionChangedListener overlayTypeComboViewerSelectionChangedListener = new ISelectionChangedListener()
+    private SelectionListener overlayTypeComboViewerSelectionChangedListener = new SelectionAdapter()
     {
-        public void selectionChanged( SelectionChangedEvent event )
+        public void widgetSelected( SelectionEvent event )
         {
-            OverlayType type = ( OverlayType ) ( ( StructuredSelection ) overlayTypeComboViewer.getSelection() )
-                .getFirstElement();
+            OverlayTypeEnum type = OverlayTypeEnum.getOverlay( overlayTypeCombo.getText() );
 
             switch ( type )
             {
@@ -98,35 +102,42 @@ public class OverlayDialog extends Dialo
                     overlay = new OlcAuditlogConfig();
                     configurationBlock = new AuditLogOverlayConfigurationBlock( instance, ( OlcAuditlogConfig ) overlay );
                     break;
+                    
                 case MEMBER_OF:
                     overlay = new OlcMemberOf();
                     configurationBlock = new MemberOfOverlayConfigurationBlock( instance, browserConnection,
                         ( OlcMemberOf ) overlay );
                     break;
+                    
                 case PASSWORD_POLICY:
                     overlay = new OlcPPolicyConfig();
                     configurationBlock = new PasswordPolicyOverlayConfigurationBlock( instance, browserConnection,
                         ( OlcPPolicyConfig ) overlay );
                     break;
+                    
                 case REFERENTIAL_INTEGRITY:
                     overlay = new OlcRefintConfig();
                     configurationBlock = new ReferentialIntegrityOverlayConfigurationBlock( instance,
                         browserConnection, ( OlcRefintConfig ) overlay );
                     break;
+                    
                 case REWRITE_REMAP:
                     overlay = new OlcRwmConfig();
                     configurationBlock = new RewriteRemapOverlayConfigurationBlock( instance,
                         browserConnection, ( OlcRwmConfig ) overlay );
                     break;
+                    
                 case SYNC_PROV:
                     overlay = new OlcSyncProvConfig();
                     configurationBlock = new SyncProvOverlayConfigurationBlock( instance, ( OlcSyncProvConfig ) overlay );
                     break;
+                    
                 case VALUE_SORTING:
                     overlay = new OlcValSortConfig();
                     configurationBlock = new ValueSortingOverlayConfigurationBlock( instance, browserConnection,
                         ( OlcValSortConfig ) overlay );
                     break;
+                    
                 case ACCESS_LOG:
                 default:
                     overlay = new OlcAccessLogConfig();
@@ -188,7 +199,7 @@ public class OverlayDialog extends Dialo
     {
         if ( overlay != null )
         {
-            return NLS.bind( "{0} Overlay Configuration", getOverlayDisplayName( overlay ) );
+            return NLS.bind( "{0} Overlay Configuration", getOverlayType( overlay ) );
         }
         else
         {
@@ -242,7 +253,7 @@ public class OverlayDialog extends Dialo
             // Select the correct value on the combo viewer (if required)
             if ( allowOverlayTypeSelection )
             {
-                overlayTypeComboViewer.setSelection( new StructuredSelection( OverlayType.ACCESS_LOG ) );
+                overlayTypeCombo.setText( OverlayTypeEnum.ACCESS_LOG.getName() );
             }
         }
 
@@ -252,10 +263,11 @@ public class OverlayDialog extends Dialo
         // Adding the listener on the combo viewer  (if required)
         if ( allowOverlayTypeSelection )
         {
-            overlayTypeComboViewer.addSelectionChangedListener( overlayTypeComboViewerSelectionChangedListener );
+            overlayTypeCombo.addSelectionListener( overlayTypeComboViewerSelectionChangedListener );
         }
 
         applyDialogFont( composite );
+        
         return composite;
     }
 
@@ -270,74 +282,7 @@ public class OverlayDialog extends Dialo
         Composite composite = BaseWidgetUtils.createColumnContainer( parent, 2, 1 );
         BaseWidgetUtils.createLabel( composite, "Type:", 1 );
 
-        overlayTypeCombo = new Combo( composite, SWT.READ_ONLY | SWT.SINGLE );
-        overlayTypeCombo.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
-        overlayTypeComboViewer = new ComboViewer( overlayTypeCombo );
-        overlayTypeComboViewer.setContentProvider( new ArrayContentProvider() );
-        overlayTypeComboViewer.setLabelProvider( new LabelProvider()
-        {
-            public String getText( Object element )
-            {
-                if ( element instanceof OverlayType )
-                {
-                    OverlayType overlayType = ( OverlayType ) element;
-
-                    return getOverlayDisplayName( overlayType );
-                }
-
-                return super.getText( element );
-            }
-        } );
-        OverlayType[] databaseTypes = new OverlayType[]
-            {
-                OverlayType.ACCESS_LOG,
-                OverlayType.AUDIT_LOG,
-                OverlayType.MEMBER_OF,
-                OverlayType.PASSWORD_POLICY,
-                OverlayType.REFERENTIAL_INTEGRITY,
-                OverlayType.REWRITE_REMAP,
-                OverlayType.SYNC_PROV,
-                OverlayType.VALUE_SORTING
-        };
-        overlayTypeComboViewer.setInput( databaseTypes );
-    }
-
-
-    /**
-     * Gets the overlay display name.
-     *
-     * @param overlayType the overlay type
-     * @return the display name
-     */
-    public static String getOverlayDisplayName( OverlayType overlayType )
-    {
-        switch ( overlayType )
-        {
-            case ACCESS_LOG:
-                return "Access Log";
-            case AUDIT_LOG:
-                return "Audit Log";
-            case MEMBER_OF:
-                return "Member Of";
-            case PASSWORD_POLICY:
-                return "Password Policy";
-            case REFERENTIAL_INTEGRITY:
-                return "Referential Integrity";
-            case REWRITE_REMAP:
-                return "Rewrite/Remap";
-            case SYNC_PROV:
-                return "Sync Prov (Replication)";
-            case VALUE_SORTING:
-                return "Value Sorting";
-        }
-
-        return "Unknown";
-    }
-
-
-    public static String getOverlayDisplayName( OlcOverlayConfig overlay )
-    {
-        return getOverlayDisplayName( getOverlayType( overlay ) );
+        overlayTypeCombo = BaseWidgetUtils.createCombo( composite, OverlayTypeEnum.getNames(), 1, 1 );
     }
 
 
@@ -347,39 +292,39 @@ public class OverlayDialog extends Dialo
      * @param overlay the overlay
      * @return the overlay type
      */
-    public static OverlayType getOverlayType( OlcOverlayConfig overlay )
+    public static OverlayTypeEnum getOverlayType( OlcOverlayConfig overlay )
     {
         if ( overlay instanceof OlcAccessLogConfig )
         {
-            return OverlayType.ACCESS_LOG;
+            return OverlayTypeEnum.ACCESS_LOG;
         }
         else if ( overlay instanceof OlcAuditlogConfig )
         {
-            return OverlayType.AUDIT_LOG;
+            return OverlayTypeEnum.AUDIT_LOG;
         }
         else if ( overlay instanceof OlcMemberOf )
         {
-            return OverlayType.MEMBER_OF;
+            return OverlayTypeEnum.MEMBER_OF;
         }
         else if ( overlay instanceof OlcPPolicyConfig )
         {
-            return OverlayType.PASSWORD_POLICY;
+            return OverlayTypeEnum.PASSWORD_POLICY;
         }
         else if ( overlay instanceof OlcRefintConfig )
         {
-            return OverlayType.REFERENTIAL_INTEGRITY;
+            return OverlayTypeEnum.REFERENTIAL_INTEGRITY;
         }
         else if ( overlay instanceof OlcRwmConfig )
         {
-            return OverlayType.REWRITE_REMAP;
+            return OverlayTypeEnum.REWRITE_REMAP;
         }
         else if ( overlay instanceof OlcSyncProvConfig )
         {
-            return OverlayType.SYNC_PROV;
+            return OverlayTypeEnum.SYNC_PROV;
         }
         else if ( overlay instanceof OlcValSortConfig )
         {
-            return OverlayType.VALUE_SORTING;
+            return OverlayTypeEnum.VALUE_SORTING;
         }
 
         return null;

Modified: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/overlays/AccessLogOverlayConfigurationBlock.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/overlays/AccessLogOverlayConfigurationBlock.java?rev=1691316&r1=1691315&r2=1691316&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/overlays/AccessLogOverlayConfigurationBlock.java (original)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/dialogs/overlays/AccessLogOverlayConfigurationBlock.java Thu Jul 16 04:42:40 2015
@@ -46,7 +46,7 @@ import org.eclipse.swt.widgets.Composite
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Spinner;
 import org.apache.directory.studio.openldap.common.ui.dialogs.AttributeDialog;
-import org.apache.directory.studio.openldap.common.ui.model.LogOperation;
+import org.apache.directory.studio.openldap.common.ui.model.LogOperationEnum;
 import org.apache.directory.studio.openldap.common.ui.widgets.EntryWidget;
 import org.apache.directory.studio.openldap.common.ui.widgets.LogOperationsWidget;
 import org.apache.directory.studio.openldap.config.OpenLdapConfigurationPlugin;
@@ -199,10 +199,10 @@ public class AccessLogOverlayConfigurati
         logOperationsWidget = new LogOperationsWidget();
         logOperationsWidget.create( logOperationsGroup );
         logOperationsWidget.getControl().setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false, 2, 1 ) );
-        List<LogOperation> logOperations = new ArrayList<LogOperation>();
-        logOperations.add( LogOperation.ADD );
-        logOperations.add( LogOperation.ABANDON );
-        logOperations.add( LogOperation.SESSION );
+        List<LogOperationEnum> logOperations = new ArrayList<LogOperationEnum>();
+        logOperations.add( LogOperationEnum.ADD );
+        logOperations.add( LogOperationEnum.ABANDON );
+        logOperations.add( LogOperationEnum.SESSION );
         logOperationsWidget.setInput( logOperations );
     }
 
@@ -488,9 +488,9 @@ public class AccessLogOverlayConfigurati
     private List<String> getAccessLogOperationsValues()
     {
         List<String> accessLogOperations = new ArrayList<String>();
-        List<LogOperation> logOperations = logOperationsWidget.getSelectedOperationsList();
+        List<LogOperationEnum> logOperations = logOperationsWidget.getSelectedOperationsList();
 
-        for ( LogOperation logOperation : logOperations )
+        for ( LogOperationEnum logOperation : logOperations )
         {
             // Converting log operation to string
             accessLogOperations.add( logOperation.toString() );
@@ -505,14 +505,14 @@ public class AccessLogOverlayConfigurati
      *
      * @return the access log operations
      */
-    private List<LogOperation> getAccessLogOperations( List<String> logOperationsValues )
+    private List<LogOperationEnum> getAccessLogOperations( List<String> logOperationsValues )
     {
-        List<LogOperation> logOperations = new ArrayList<LogOperation>();
+        List<LogOperationEnum> logOperations = new ArrayList<LogOperationEnum>();
 
         for ( String logOperationValue : logOperationsValues )
         {
             // Converting log operation from a string
-            LogOperation logOperation = LogOperation.fromString( logOperationValue );
+            LogOperationEnum logOperation = LogOperationEnum.fromString( logOperationValue );
 
             if ( logOperation != null )
             {