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/04 11:16:25 UTC

svn commit: r1689124 - /directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ReplicationDetailsPage.java

Author: elecharny
Date: Sat Jul  4 09:16:25 2015
New Revision: 1689124

URL: http://svn.apache.org/r1689124
Log:
o Used the AttributeLoader instead of coding the attribute fetching in this class
o Removed the method that were fetching the attributes

Modified:
    directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ReplicationDetailsPage.java

Modified: directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ReplicationDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ReplicationDetailsPage.java?rev=1689124&r1=1689123&r2=1689124&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ReplicationDetailsPage.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/editor/ReplicationDetailsPage.java Sat Jul  4 09:16:25 2015
@@ -21,8 +21,6 @@ package org.apache.directory.studio.apac
 
 
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
@@ -30,7 +28,6 @@ import org.apache.directory.api.ldap.mod
 import org.apache.directory.api.ldap.model.message.AliasDerefMode;
 import org.apache.directory.api.ldap.model.message.SearchScope;
 import org.apache.directory.api.ldap.model.name.Dn;
-import org.apache.directory.api.ldap.model.schema.AttributeType;
 import org.apache.directory.server.config.beans.ReplConsumerBean;
 import org.apache.directory.studio.common.ui.dialogs.AttributeDialog;
 import org.apache.directory.studio.common.ui.widgets.WidgetModifyEvent;
@@ -39,7 +36,7 @@ import org.apache.directory.studio.ldapb
 import org.apache.directory.studio.ldapbrowser.common.widgets.search.FilterWidget;
 import org.apache.directory.studio.ldapbrowser.core.BrowserCorePlugin;
 import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.schema.Schema;
+import org.apache.directory.studio.ldapbrowser.core.utils.AttributeLoader;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.DoubleClickEvent;
@@ -93,8 +90,8 @@ public class ReplicationDetailsPage impl
     /** The browser connection */
     private IBrowserConnection browserConnection;
 
-    /** The array of attributes names and OIDs */
-    private String[] attributeNamesAndOids;
+    /** The Attribute list loader */
+    private AttributeLoader attributeLoader;
 
     /** The list of attributes */
     private List<String> attributesList = new ArrayList<String>();
@@ -235,6 +232,7 @@ public class ReplicationDetailsPage impl
     public ReplicationDetailsPage( ReplicationMasterDetailsBlock pmdb )
     {
         masterDetailsBlock = pmdb;
+        attributeLoader = new AttributeLoader();
 
         // Getting the browser connection associated with the connection in the configuration
         browserConnection = BrowserCorePlugin.getDefault().getConnectionManager()
@@ -508,7 +506,7 @@ public class ReplicationDetailsPage impl
     {
         AttributeDialog dialog = new AttributeDialog( addAttributeButton.getShell() );
         dialog.addNewElement();
-        dialog.setAttributeNamesAndOids( getAttributeNamesAndOids() );
+        dialog.setAttributeNamesAndOids( attributeLoader.getAttributeNamesAndOids() );
 
         if ( AttributeDialog.OK == dialog.open() )
         {
@@ -539,7 +537,7 @@ public class ReplicationDetailsPage impl
 
             AttributeDialog dialog = new AttributeDialog( addAttributeButton.getShell() );
             dialog.setEditedElement( attribute );
-            dialog.setAttributeNamesAndOids( getAttributeNamesAndOids() );
+            dialog.setAttributeNamesAndOids( attributeLoader.getAttributeNamesAndOids() );
 
             if ( AttributeDialog.OK == dialog.open() )
             {
@@ -577,86 +575,6 @@ public class ReplicationDetailsPage impl
         }
     }
 
-
-    /**
-     * Gets the array containing the attribute names and OIDs.
-     *
-     * @return the array containing the attribute names and OIDs
-     */
-    private String[] getAttributeNamesAndOids()
-    {
-        // Checking if the array has already be generated
-        if ( ( attributeNamesAndOids == null ) || ( attributeNamesAndOids.length == 0 ) )
-        {
-            List<String> attributeNamesList = new ArrayList<String>();
-            List<String> oidsList = new ArrayList<String>();
-
-            if ( browserConnection == null )
-            {
-                // Getting all connections in the case where no connection is found
-                IBrowserConnection[] connections = BrowserCorePlugin.getDefault().getConnectionManager()
-                    .getBrowserConnections();
-                for ( IBrowserConnection connection : connections )
-                {
-                    addAttributeNamesAndOids( connection.getSchema(), attributeNamesList, oidsList );
-                }
-            }
-            else
-            {
-                // Only adding attribute names and OIDs from the associated connection
-                addAttributeNamesAndOids( browserConnection.getSchema(), attributeNamesList, oidsList );
-            }
-
-            // Also adding attribute names and OIDs from the default schema
-            addAttributeNamesAndOids( Schema.DEFAULT_SCHEMA, attributeNamesList, oidsList );
-
-            // Sorting the set
-            Collections.sort( attributeNamesList );
-            Collections.sort( oidsList );
-
-            attributeNamesAndOids = new String[attributeNamesList.size() + oidsList.size()];
-            System.arraycopy( attributeNamesList.toArray(), 0, attributeNamesAndOids, 0, attributeNamesList
-                .size() );
-            System.arraycopy( oidsList.toArray(), 0, attributeNamesAndOids, attributeNamesList
-                .size(), oidsList.size() );
-        }
-
-        return attributeNamesAndOids;
-    }
-
-
-    /**
-     * Adds the attribute names and OIDs to the given set.
-     *
-     * @param schema the schema
-     * @param attributeNamesList the attribute names list
-     * @param oidsList the OIDs name list
-     */
-    private void addAttributeNamesAndOids( Schema schema, List<String> attributeNamesList, List<String> oidsList )
-    {
-        if ( schema != null )
-        {
-            Collection<AttributeType> atds = schema.getAttributeTypeDescriptions();
-            for ( AttributeType atd : atds )
-            {
-                // OID
-                if ( !oidsList.contains( atd.getOid() ) )
-                {
-                    oidsList.add( atd.getOid() );
-                }
-
-                // Names
-                for ( String name : atd.getNames() )
-                {
-                    if ( !attributeNamesList.contains( name ) )
-                    {
-                        attributeNamesList.add( name );
-                    }
-                }
-            }
-        }
-    }
-
 
     /**
      * Create a new button grid data.