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/23 01:05:32 UTC

svn commit: r1692334 - in /directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor: EntryEditorWidget.java EntryEditorWidgetConfiguration.java EntryEditorWidgetContentProvider.java

Author: elecharny
Date: Wed Jul 22 23:05:31 2015
New Revision: 1692334

URL: http://svn.apache.org/r1692334
Log:
o Compute the ValueEditorManager once and pass it as a parameter
o Avoid the creation of a list, when a copy of the array is enough
o Minor code refactoring

Modified:
    directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidget.java
    directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetConfiguration.java
    directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetContentProvider.java

Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidget.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidget.java?rev=1692334&r1=1692333&r2=1692334&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidget.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidget.java Wed Jul 22 23:05:31 2015
@@ -22,6 +22,7 @@ package org.apache.directory.studio.ldap
 
 
 import org.apache.directory.studio.common.ui.widgets.ViewFormWidget;
+import org.apache.directory.studio.valueeditors.ValueEditorManager;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
@@ -104,7 +105,9 @@ public class EntryEditorWidget extends V
             column.setResizable( true );
 
         }
+        
         viewer.setColumnProperties( EntryEditorWidgetTableMetadata.COLUM_NAMES );
+        
         tree.addControlListener( new ControlAdapter()
         {
             public void controlResized( ControlEvent e )
@@ -127,12 +130,15 @@ public class EntryEditorWidget extends V
         configuration.getFilter().connect( viewer );
         configuration.getPreferences().connect( viewer );
 
+        // Get the ValueEditorManager
+        ValueEditorManager valueEditorManager = configuration.getValueEditorManager( viewer );
+        
         // setup providers
         viewer.setContentProvider( configuration.getContentProvider( this ) );
-        viewer.setLabelProvider( configuration.getLabelProvider( viewer ) );
+        viewer.setLabelProvider( configuration.getLabelProvider( valueEditorManager, viewer ) );
 
         // set table cell editors
-        viewer.setCellModifier( configuration.getCellModifier( viewer ) );
+        viewer.setCellModifier( configuration.getCellModifier( valueEditorManager ) );
         CellEditor[] editors = new CellEditor[EntryEditorWidgetTableMetadata.COLUM_NAMES.length];
         viewer.setCellEditors( editors );
 

Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetConfiguration.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetConfiguration.java?rev=1692334&r1=1692333&r2=1692334&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetConfiguration.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetConfiguration.java Wed Jul 22 23:05:31 2015
@@ -147,11 +147,11 @@ public class EntryEditorWidgetConfigurat
      * 
      * @return the label provider
      */
-    public EntryEditorWidgetLabelProvider getLabelProvider( TreeViewer viewer )
+    public EntryEditorWidgetLabelProvider getLabelProvider( ValueEditorManager valueEditorManager, TreeViewer viewer )
     {
         if ( labelProvider == null )
         {
-            labelProvider = new EntryEditorWidgetLabelProvider( viewer, getValueEditorManager( viewer ) );
+            labelProvider = new EntryEditorWidgetLabelProvider( viewer, valueEditorManager );
         }
 
         return labelProvider;
@@ -165,11 +165,11 @@ public class EntryEditorWidgetConfigurat
      * 
      * @return the cell modifier
      */
-    public EntryEditorWidgetCellModifier getCellModifier( TreeViewer viewer )
+    public EntryEditorWidgetCellModifier getCellModifier( ValueEditorManager valueEditorManager )
     {
         if ( cellModifier == null )
         {
-            cellModifier = new EntryEditorWidgetCellModifier( getValueEditorManager( viewer ) );
+            cellModifier = new EntryEditorWidgetCellModifier( valueEditorManager );
         }
 
         return cellModifier;

Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetContentProvider.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetContentProvider.java?rev=1692334&r1=1692333&r2=1692334&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetContentProvider.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetContentProvider.java Wed Jul 22 23:05:31 2015
@@ -21,9 +21,6 @@
 package org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor;
 
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.directory.studio.ldapbrowser.core.jobs.InitializeAttributesRunnable;
 import org.apache.directory.studio.ldapbrowser.core.jobs.StudioBrowserJob;
 import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
@@ -76,12 +73,12 @@ public class EntryEditorWidgetContentPro
             String dn = ""; //$NON-NLS-1$
             boolean enabled = true;
 
-            if ( newInput != null && newInput instanceof IEntry )
+            if ( ( newInput != null ) && ( newInput instanceof IEntry ) )
             {
                 IEntry entry = ( IEntry ) newInput;
                 dn = Messages.getString( "EntryEditorWidgetContentProvider.DNLabel" ) + entry.getDn().getName(); //$NON-NLS-1$
             }
-            else if ( newInput != null && newInput instanceof AttributeHierarchy )
+            else if ( ( newInput != null ) && ( newInput instanceof AttributeHierarchy ) )
             {
                 AttributeHierarchy ah = ( AttributeHierarchy ) newInput;
                 dn = Messages.getString( "EntryEditorWidgetContentProvider.DNLabel" ) + ah.getAttribute().getEntry().getDn().getName(); //$NON-NLS-1$
@@ -92,14 +89,16 @@ public class EntryEditorWidgetContentPro
                 enabled = false;
             }
 
-            if ( mainWidget.getInfoText() != null && !mainWidget.getInfoText().isDisposed() )
+            if ( ( mainWidget.getInfoText() != null ) && !mainWidget.getInfoText().isDisposed() )
             {
                 mainWidget.getInfoText().setText( dn );
             }
+            
             if ( mainWidget.getQuickFilterWidget() != null )
             {
                 mainWidget.getQuickFilterWidget().setEnabled( enabled );
             }
+            
             if ( mainWidget.getViewer() != null && !mainWidget.getViewer().getTree().isDisposed() )
             {
                 mainWidget.getViewer().getTree().setEnabled( enabled );
@@ -123,29 +122,32 @@ public class EntryEditorWidgetContentPro
      */
     public Object[] getElements( Object inputElement )
     {
-        if ( inputElement != null && inputElement instanceof IEntry )
+        if ( ( inputElement != null ) && ( inputElement instanceof IEntry ) )
         {
             IEntry entry = ( IEntry ) inputElement;
-
+    
             if ( !entry.isAttributesInitialized() )
             {
                 InitializeAttributesRunnable runnable = new InitializeAttributesRunnable( entry );
                 StudioBrowserJob job = new StudioBrowserJob( runnable );
                 job.execute();
+                
                 return new Object[0];
             }
             else
             {
                 IAttribute[] attributes = entry.getAttributes();
                 Object[] values = getValues( attributes );
+                
                 return values;
             }
         }
-        else if ( inputElement != null && inputElement instanceof AttributeHierarchy )
+        else if ( ( inputElement != null ) && ( inputElement instanceof AttributeHierarchy ) )
         {
             AttributeHierarchy ah = ( AttributeHierarchy ) inputElement;
             IAttribute[] attributes = ah.getAttributes();
             Object[] values = getValues( attributes );
+            
             return values;
         }
         else
@@ -164,28 +166,31 @@ public class EntryEditorWidgetContentPro
      */
     private Object[] getValues( IAttribute[] attributes )
     {
-        List<Object> valueList = new ArrayList<Object>();
+        Object[] values = null;
+        
         if ( attributes != null )
         {
             for ( IAttribute attribute : attributes )
             {
-                IValue[] values = attribute.getValues();
-                if ( preferences == null || !preferences.isUseFolding()
-                    || ( values.length <= preferences.getFoldingThreshold() ) )
+                IValue[] attributeValues = attribute.getValues();
+                
+                if ( ( preferences == null ) || !preferences.isUseFolding()
+                    || ( attributeValues.length <= preferences.getFoldingThreshold() ) )
                 {
-                    for ( IValue value : values )
-                    {
-                        valueList.add( value );
-                    }
+                    values = new Object[attributeValues.length];
+                    
+                    System.arraycopy( attributeValues, 0, values, 0, attributeValues.length );
                 }
                 else
                 {
                     // if folding threshold is exceeded then return the attribute itself
-                    valueList.add( attribute );
+                    values = new Object[1];
+                    values[0] = attribute;
                 }
             }
         }
-        return valueList.toArray();
+        
+        return values;
     }
 
 
@@ -198,8 +203,10 @@ public class EntryEditorWidgetContentPro
         {
             IAttribute attribute = ( IAttribute ) parentElement;
             IValue[] values = attribute.getValues();
+            
             return values;
         }
+        
         return null;
     }
 
@@ -213,6 +220,7 @@ public class EntryEditorWidgetContentPro
         {
             return ( ( IValue ) element ).getAttribute();
         }
+        
         return null;
     }
 
@@ -224,5 +232,4 @@ public class EntryEditorWidgetContentPro
     {
         return ( element instanceof IAttribute );
     }
-
 }
\ No newline at end of file