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