You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2007/07/15 18:15:40 UTC
svn commit: r556423 - in /directory/studio/trunk:
studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/
studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/dialogs/
studio-aciitemeditor/src/main/java/org...
Author: seelmann
Date: Sun Jul 15 09:15:39 2007
New Revision: 556423
URL: http://svn.apache.org/viewvc?view=rev&rev=556423
Log:
DIRSTUDIO-151
- Moved modification methods from IValueEditor to the ValueEditorManager
- Removed getRawValue( IConnection connection, Object stringOrBinaryValue )
Modified:
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/ACIItemValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/dialogs/MultiValuedDialog.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeAndValueValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/MaxValueCountValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/RestrictedByValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/SubtreeValueEditor.java
directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetCellModifier.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogBinaryValueEditor.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogStringValueEditor.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractInPlaceStringValueEditor.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/IValueEditor.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/MultivaluedValueEditor.java
directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorManager.java
directory/studio/trunk/studio-ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/editors/searchresult/SearchResultEditorCellModifier.java
directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/dn/DnValueEditor.java
directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java
directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/password/PasswordValueEditor.java
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/ACIItemValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/ACIItemValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/ACIItemValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/ACIItemValueEditor.java Sun Jul 15 09:15:39 2007
@@ -133,48 +133,4 @@
return null;
}
-
- /**
- * Returns a ACIItemValueContext with the given
- * connection, value and null entry.
- *
- * @param value the value
- * @param connection the connection
- *
- * @return the raw value
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- Object o = super.getRawValue( connection, value );
- if ( o != null && o instanceof String )
- {
- String v = (String) o;
- return new ACIItemValueWithContext( connection, null, v );
- }
-
- return null;
- }
-
-//
-// /**
-// * Returns always the string value.
-// *
-// * Reimplementation, because getRawValue() returns a
-// * DnValueEditorRawValueWrapper.
-// *
-// * @param value the value
-// *
-// * @return the display value
-// */
-// public String getDisplayValue( IValue value )
-// {
-// if ( value == null )
-// {
-// return "NULL";
-// }
-//
-// String displayValue = value.getStringValue();
-// return displayValue;
-// }
-
}
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/dialogs/MultiValuedDialog.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/dialogs/MultiValuedDialog.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/dialogs/MultiValuedDialog.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/dialogs/MultiValuedDialog.java Sun Jul 15 09:15:39 2007
@@ -282,31 +282,27 @@
*/
private void addValue()
{
-
- Object oldRawValue;
try
{
IAttribute attribute = new Attribute( context.getEntry(), "" ); //$NON-NLS-1$
IValue value = new Value( attribute, "" ); //$NON-NLS-1$
- oldRawValue = valueEditor.getRawValue( value ); //$NON-NLS-1$
+ Object oldRawValue = valueEditor.getRawValue( value ); //$NON-NLS-1$
+
+ CellEditor cellEditor = valueEditor.getCellEditor();
+ cellEditor.setValue( oldRawValue );
+ cellEditor.activate();
+ Object newRawValue = cellEditor.getValue();
+
+ if ( newRawValue != null )
+ {
+ String newValue = ( String ) valueEditor.getStringOrBinaryValue( newRawValue );
+
+ values.add( newValue );
+ tableViewer.refresh();
+ }
}
catch ( ModelModificationException e )
{
- oldRawValue = valueEditor.getRawValue( context.getConnection(), "" ); //$NON-NLS-1$
- }
-
-
- CellEditor cellEditor = valueEditor.getCellEditor();
- cellEditor.setValue( oldRawValue );
- cellEditor.activate();
- Object newRawValue = cellEditor.getValue();
-
- if ( newRawValue != null )
- {
- String newValue = ( String ) valueEditor.getStringOrBinaryValue( newRawValue );
-
- values.add( newValue );
- tableViewer.refresh();
}
}
@@ -320,30 +316,28 @@
String oldValue = getSelectedValue();
if ( oldValue != null )
{
- Object oldRawValue;
try
{
IAttribute attribute = new Attribute( context.getEntry(), "" ); //$NON-NLS-1$
IValue value = new Value( attribute, oldValue ); //$NON-NLS-1$
- oldRawValue = valueEditor.getRawValue( value ); //$NON-NLS-1$
+ Object oldRawValue = valueEditor.getRawValue( value ); //$NON-NLS-1$
+
+ CellEditor cellEditor = valueEditor.getCellEditor();
+ cellEditor.setValue( oldRawValue );
+ cellEditor.activate();
+ Object newRawValue = cellEditor.getValue();
+
+ if ( newRawValue != null )
+ {
+ String newValue = ( String ) valueEditor.getStringOrBinaryValue( newRawValue );
+
+ values.remove( oldValue );
+ values.add( newValue );
+ tableViewer.refresh();
+ }
}
catch ( ModelModificationException e )
{
- oldRawValue = valueEditor.getRawValue( context.getConnection(), oldValue );
- }
-
- CellEditor cellEditor = valueEditor.getCellEditor();
- cellEditor.setValue( oldRawValue );
- cellEditor.activate();
- Object newRawValue = cellEditor.getValue();
-
- if ( newRawValue != null )
- {
- String newValue = ( String ) valueEditor.getStringOrBinaryValue( newRawValue );
-
- values.remove( oldValue );
- values.add( newValue );
- tableViewer.refresh();
}
}
}
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeAndValueValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeAndValueValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeAndValueValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeAndValueValueEditor.java Sun Jul 15 09:15:39 2007
@@ -77,12 +77,7 @@
}
- /**
- * {@inheritDoc}
- *
- * Returns an AttributeTypeAndValueValueEditorRawValueWrapper.
- */
- public Object getRawValue( IConnection connection, Object value )
+ private Object getRawValue( IConnection connection, Object value )
{
Schema schema = null;
if ( connection != null )
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/AttributeTypeValueEditor.java Sun Jul 15 09:15:39 2007
@@ -75,12 +75,7 @@
}
- /**
- * {@inheritDoc}
- *
- * Returns a AttributeTypeValueEditorRawValueWrapper.
- */
- public Object getRawValue( IConnection connection, Object value )
+ private Object getRawValue( IConnection connection, Object value )
{
Schema schema = null;
if ( connection != null )
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java Sun Jul 15 09:15:39 2007
@@ -77,12 +77,7 @@
}
- /**
- * {@inheritDoc}
- *
- * Returns a FilterValueEditorRawValueWrapper.
- */
- public Object getRawValue( IConnection connection, Object value )
+ private Object getRawValue( IConnection connection, Object value )
{
if ( connection == null || value == null || !( value instanceof String ) )
{
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/MaxValueCountValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/MaxValueCountValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/MaxValueCountValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/MaxValueCountValueEditor.java Sun Jul 15 09:15:39 2007
@@ -100,12 +100,7 @@
}
- /**
- * {@inheritDoc}
- *
- * Returns an MaxValueCountValueEditorRawValueWrapper.
- */
- public Object getRawValue( IConnection connection, Object value )
+ private Object getRawValue( IConnection connection, Object value )
{
Schema schema = null;
if ( connection != null )
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/RestrictedByValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/RestrictedByValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/RestrictedByValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/RestrictedByValueEditor.java Sun Jul 15 09:15:39 2007
@@ -99,12 +99,7 @@
}
- /**
- * {@inheritDoc}
- *
- * Returns an RestrictedByValueEditorRawValueWrapper.
- */
- public Object getRawValue( IConnection connection, Object value )
+ private Object getRawValue( IConnection connection, Object value )
{
Schema schema = null;
if ( connection != null )
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/SubtreeValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/SubtreeValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/SubtreeValueEditor.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/SubtreeValueEditor.java Sun Jul 15 09:15:39 2007
@@ -103,20 +103,6 @@
/**
- * @see org.apache.directory.studio.valueeditors.AbstractDialogStringValueEditor#getRawValue(org.apache.directory.studio.ldapbrowser.core.model.IConnection, java.lang.Object)
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- Object o = super.getRawValue( connection, value );
- if ( o != null && o instanceof String )
- {
- return new SubtreeSpecificationValueWrapper( connection, null, ( String ) o );
- }
-
- return null;
- }
-
- /**
* The SubtreeSpecificationValueWrapper is used to pass contextual
* information to the opened SubtreeSpecificationDialog.
*
Modified: directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java (original)
+++ directory/studio/trunk/studio-aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/widgets/ACIItemProtectedItemsComposite.java Sun Jul 15 09:15:39 2007
@@ -32,6 +32,11 @@
import org.apache.directory.studio.aciitemeditor.dialogs.MultiValuedDialog;
import org.apache.directory.studio.aciitemeditor.model.ProtectedItemWrapper;
import org.apache.directory.studio.aciitemeditor.model.ProtectedItemWrapperFactory;
+import org.apache.directory.studio.ldapbrowser.core.internal.model.Attribute;
+import org.apache.directory.studio.ldapbrowser.core.internal.model.Value;
+import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
+import org.apache.directory.studio.ldapbrowser.core.model.IValue;
+import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
import org.apache.directory.studio.valueeditors.AbstractDialogStringValueEditor;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CellEditor;
@@ -501,20 +506,29 @@
{
oldValue = ""; //$NON-NLS-1$
}
- Object oldRawValue = valueEditor.getRawValue( context.getConnection(), oldValue );
+
+ try
+ {
+ IAttribute attribute = new Attribute( context.getEntry(), "" ); //$NON-NLS-1$
+ IValue value = new Value( attribute, oldValue ); //$NON-NLS-1$
+ Object oldRawValue = valueEditor.getRawValue( value ); //$NON-NLS-1$
+
+ CellEditor cellEditor = valueEditor.getCellEditor();
+ cellEditor.setValue( oldRawValue );
+ cellEditor.activate();
+ Object newRawValue = cellEditor.getValue();
- CellEditor cellEditor = valueEditor.getCellEditor();
- cellEditor.setValue( oldRawValue );
- cellEditor.activate();
- Object newRawValue = cellEditor.getValue();
+ if ( newRawValue != null )
+ {
+ String newValue = ( String ) valueEditor.getStringOrBinaryValue( newRawValue );
- if ( newRawValue != null )
+ values.clear();
+ values.add( newValue );
+ tableViewer.refresh();
+ }
+ }
+ catch ( ModelModificationException e )
{
- String newValue = ( String ) valueEditor.getStringOrBinaryValue( newRawValue );
-
- values.clear();
- values.add( newValue );
- tableViewer.refresh();
}
}
}
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetCellModifier.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetCellModifier.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetCellModifier.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/entryeditor/EntryEditorWidgetCellModifier.java Sun Jul 15 09:15:39 2007
@@ -22,12 +22,9 @@
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
-import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
import org.apache.directory.studio.ldapbrowser.core.model.schema.SchemaUtils;
import org.apache.directory.studio.valueeditors.ValueEditorManager;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Item;
@@ -129,8 +126,6 @@
/**
* {@inheritDoc}
- *
- * TODO: Remove value modification from value editors
*/
public void modify( Object element, String property, Object newRawValue )
{
@@ -141,20 +136,11 @@
if ( element != null && element instanceof IValue && valueEditorManager != null )
{
- IValue attributeValue = ( IValue ) element;
+ IValue oldValue = ( IValue ) element;
if ( EntryEditorWidgetTableMetadata.VALUE_COLUMN_NAME.equals( property ) )
{
- try
- {
- this.valueEditorManager.getCurrentValueEditor( attributeValue ).modifyValue( attributeValue,
- newRawValue );
- }
- catch ( ModelModificationException mme )
- {
- MessageDialog.openError( Display.getDefault().getActiveShell(), "Error While Modifying Value", mme
- .getMessage() );
- }
+ valueEditorManager.modifyValue( oldValue, newRawValue );
}
}
}
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogBinaryValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogBinaryValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogBinaryValueEditor.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogBinaryValueEditor.java Sun Jul 15 09:15:39 2007
@@ -21,19 +21,8 @@
package org.apache.directory.studio.valueeditors;
-import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
-import org.apache.directory.studio.ldapbrowser.core.internal.model.Attribute;
-import org.apache.directory.studio.ldapbrowser.core.jobs.CreateValuesJob;
-import org.apache.directory.studio.ldapbrowser.core.jobs.DeleteAttributesValueJob;
-import org.apache.directory.studio.ldapbrowser.core.jobs.ModifyValueJob;
-import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
-import org.apache.directory.studio.ldapbrowser.core.model.IConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
-import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
-import org.apache.directory.studio.ldapbrowser.core.utils.LdifUtils;
-import org.apache.directory.studio.ldapbrowser.core.utils.Utils;
/**
@@ -173,34 +162,6 @@
/**
* {@inheritDoc}
*
- * This implementation returns the value itself if it is
- * of type byte[] or a byte[] with the UTF-8 encoded string
- * value if it is of type String.
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- if ( value == null )
- {
- return null;
- }
- else if ( value instanceof String )
- {
- return LdifUtils.utf8encode( ( String ) value );
- }
- else if ( value instanceof byte[] )
- {
- return value;
- }
- else
- {
- return null;
- }
- }
-
-
- /**
- * {@inheritDoc}
- *
* This implementation always return the binary value
* as byte[].
*/
@@ -217,110 +178,6 @@
else
{
return null;
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void createValue( IEntry entry, String attributeDescription, Object newRawValue )
- throws ModelModificationException
- {
- if ( entry != null && attributeDescription != null && newRawValue != null && newRawValue instanceof byte[] )
- {
- if ( entry.getAttribute( attributeDescription ) != null )
- {
- this.modify( entry.getAttribute( attributeDescription ), newRawValue );
- }
- else
- {
- EventRegistry.suspendEventFireingInCurrentThread();
- IAttribute attribute = new Attribute( entry, attributeDescription );
- entry.addAttribute( attribute );
- EventRegistry.resumeEventFireingInCurrentThread();
-
- Object newValue;
- if ( entry.getConnection().getSchema().getAttributeTypeDescription( attributeDescription )
- .getSyntaxDescription().isString() )
- {
- newValue = LdifUtils.utf8decode( ( byte[] ) newRawValue );
- }
- else
- {
- newValue = ( byte[] ) newRawValue;
- }
-
- new CreateValuesJob( attribute, newValue ).execute();
- }
- }
- }
-
-
- private final void modify( IAttribute attribute, Object newRawValue ) throws ModelModificationException
- {
- if ( attribute != null && newRawValue != null && newRawValue instanceof byte[] )
- {
- if ( attribute.getValueSize() == 0 )
- {
- byte[] newValue = ( byte[] ) newRawValue;
- new CreateValuesJob( attribute, newValue ).execute();
- }
- else if ( attribute.getValueSize() == 1 )
- {
- this.modifyValue( attribute.getValues()[0], newRawValue );
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void modifyValue( IValue oldValue, Object newRawValue ) throws ModelModificationException
- {
- if ( oldValue != null && newRawValue != null && newRawValue instanceof byte[] )
- {
- byte[] newValue = ( byte[] ) newRawValue;
- IAttribute attribute = oldValue.getAttribute();
- if ( !Utils.equals( oldValue.getBinaryValue(), newValue ) )
- {
- if ( oldValue.isEmpty() )
- {
- EventRegistry.suspendEventFireingInCurrentThread();
- attribute.deleteEmptyValue();
- EventRegistry.resumeEventFireingInCurrentThread();
- new CreateValuesJob( attribute, newValue ).execute();
- }
- else
- {
- new ModifyValueJob( attribute, oldValue, newValue ).execute();
- }
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void deleteAttribute( AttributeHierarchy ah ) throws ModelModificationException
- {
- if ( ah != null )
- {
- new DeleteAttributesValueJob( ah ).execute();
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void deleteValue( IValue oldValue ) throws ModelModificationException
- {
- if ( oldValue != null )
- {
- new DeleteAttributesValueJob( oldValue ).execute();
}
}
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogStringValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogStringValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogStringValueEditor.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractDialogStringValueEditor.java Sun Jul 15 09:15:39 2007
@@ -21,18 +21,8 @@
package org.apache.directory.studio.valueeditors;
-import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
-import org.apache.directory.studio.ldapbrowser.core.internal.model.Attribute;
-import org.apache.directory.studio.ldapbrowser.core.jobs.CreateValuesJob;
-import org.apache.directory.studio.ldapbrowser.core.jobs.DeleteAttributesValueJob;
-import org.apache.directory.studio.ldapbrowser.core.jobs.ModifyValueJob;
-import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
-import org.apache.directory.studio.ldapbrowser.core.model.IConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
-import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
-import org.apache.directory.studio.ldapbrowser.core.utils.LdifUtils;
/**
@@ -114,42 +104,6 @@
/**
- * {@inheritDoc}
- *
- * This implementation returns the value itself if it is
- * of type String. If the value is of type byte[] then the binary
- * data is converted to a String using UTF-8 encoding.
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- if ( value == null )
- {
- return null;
- }
- else if ( value instanceof String )
- {
- return value;
- }
- else if ( value instanceof byte[] )
- {
- String s = LdifUtils.utf8decode( ( byte[] ) value );
- for ( int i = 0; i < s.length(); i++ )
- {
- if ( Character.isISOControl( s.charAt( i ) ) && s.charAt( i ) != '\n' && s.charAt( i ) != '\r' )
- {
- return null;
- }
- }
- return s;
- }
- else
- {
- return null;
- }
- }
-
-
- /**
* Small helper.
*/
private boolean isEditable( byte[] b )
@@ -190,111 +144,6 @@
else
{
return null;
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void createValue( IEntry entry, String attributeDescription, Object newRawValue )
- throws ModelModificationException
- {
- if ( entry != null && attributeDescription != null && newRawValue != null && newRawValue instanceof String )
- {
- if ( entry.getAttribute( attributeDescription ) != null )
- {
- this.modify( entry.getAttribute( attributeDescription ), newRawValue );
- }
- else
- {
- EventRegistry.suspendEventFireingInCurrentThread();
- IAttribute attribute = new Attribute( entry, attributeDescription );
- entry.addAttribute( attribute );
- EventRegistry.resumeEventFireingInCurrentThread();
-
- Object newValue;
- if ( entry.getConnection().getSchema().getAttributeTypeDescription( attributeDescription )
- .getSyntaxDescription().isString() )
- {
- newValue = ( String ) newRawValue;
- }
- else
- {
- newValue = LdifUtils.utf8encode( ( String ) newRawValue );
- }
-
- new CreateValuesJob( attribute, newValue ).execute();
- }
- }
- }
-
-
- private final void modify( IAttribute attribute, Object newRawValue ) throws ModelModificationException
- {
- if ( attribute != null && newRawValue != null && newRawValue instanceof String )
- {
- if ( attribute.getValueSize() == 0 )
- {
- String newValue = ( String ) newRawValue;
- new CreateValuesJob( attribute, newValue ).execute();
- }
- else if ( attribute.getValueSize() == 1 )
- {
- this.modifyValue( attribute.getValues()[0], newRawValue );
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void modifyValue( IValue oldValue, Object newRawValue ) throws ModelModificationException
- {
- if ( oldValue != null && newRawValue != null && newRawValue instanceof String )
- {
-
- String newValue = ( String ) newRawValue;
- IAttribute attribute = oldValue.getAttribute();
- if ( !oldValue.getStringValue().equals( newValue ) )
- {
- if ( oldValue.isEmpty() )
- {
- EventRegistry.suspendEventFireingInCurrentThread();
- attribute.deleteEmptyValue();
- EventRegistry.resumeEventFireingInCurrentThread();
- new CreateValuesJob( attribute, newValue ).execute();
- }
- else
- {
- new ModifyValueJob( attribute, oldValue, newValue ).execute();
- }
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void deleteAttribute( AttributeHierarchy ah ) throws ModelModificationException
- {
- if ( ah != null )
- {
- new DeleteAttributesValueJob( ah ).execute();
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void deleteValue( IValue oldValue ) throws ModelModificationException
- {
- if ( oldValue != null )
- {
- new DeleteAttributesValueJob( oldValue ).execute();
}
}
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractInPlaceStringValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractInPlaceStringValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractInPlaceStringValueEditor.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/AbstractInPlaceStringValueEditor.java Sun Jul 15 09:15:39 2007
@@ -30,11 +30,7 @@
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonConstants;
import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
-import org.apache.directory.studio.ldapbrowser.core.model.IConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
-import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
-import org.apache.directory.studio.ldapbrowser.core.utils.LdifUtils;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.TextCellEditor;
@@ -51,12 +47,6 @@
public abstract class AbstractInPlaceStringValueEditor extends TextCellEditor implements IValueEditor
{
- /**
- * @deprecated will be removed soon. Just used to delegate
- * createValue(), deleteValue() and modifyValue().
- */
- private TextValueEditor delegate;
-
/** The name of this value editor */
private String name;
@@ -70,7 +60,6 @@
protected AbstractInPlaceStringValueEditor()
{
super();
- this.delegate = new TextValueEditor();
}
@@ -219,42 +208,6 @@
/**
* {@inheritDoc}
*
- * This implementation returns the value itself if it is
- * of type byte[] or a byte[] with the UTF-8 encoded string
- * value if it is of type String.
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- if ( value == null )
- {
- return null;
- }
- else if ( value instanceof String )
- {
- return value;
- }
- else if ( value instanceof byte[] )
- {
- String s = LdifUtils.utf8decode( ( byte[] ) value );
- for ( int i = 0; i < s.length(); i++ )
- {
- if ( Character.isISOControl( s.charAt( i ) ) && s.charAt( i ) != '\n' && s.charAt( i ) != '\r' )
- {
- return null;
- }
- }
- return s;
- }
- else
- {
- return null;
- }
- }
-
-
- /**
- * {@inheritDoc}
- *
* This implementation always return the string value
* as String.
*/
@@ -341,41 +294,5 @@
return imageDescriptor;
}
-
- /**
- * {@inheritDoc}
- */
- public final void createValue( IEntry entry, String attributeDescription, Object newRawValue )
- throws ModelModificationException
- {
- delegate.createValue( entry, attributeDescription, newRawValue );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void deleteAttribute( AttributeHierarchy ah ) throws ModelModificationException
- {
- delegate.deleteAttribute( ah );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void deleteValue( IValue oldValue ) throws ModelModificationException
- {
- delegate.deleteValue( oldValue );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public final void modifyValue( IValue oldValue, Object newRawValue ) throws ModelModificationException
- {
- delegate.modifyValue( oldValue, newRawValue );
- }
}
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/IValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/IValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/IValueEditor.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/IValueEditor.java Sun Jul 15 09:15:39 2007
@@ -22,9 +22,7 @@
import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
-import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
-import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.swt.widgets.Composite;
@@ -160,62 +158,6 @@
* @param imageDescriptor the editors image
*/
public abstract void setValueEditorImageDescriptor( ImageDescriptor imageDescriptor );
-
-
- /**
- * Creates the attribute with the given value at the entry.
- *
- * It is called from a ICellModifier if no attribute of value exists and
- * the raw value returned by the CellEditor isn't null.
- *
- * @param entry
- * @param attributeDescription
- * @param newRawValue
- * @throws ModelModificationException
- * @deprecated This functionality will be removed from IValueEditor soon.
- */
- public abstract void createValue( IEntry entry, String attributeDescription, Object newRawValue )
- throws ModelModificationException;
-
-
- /**
- * Modifies the value and sets the given raw value
- *
- * It is called from a ICellModfier if the value exists and the raw
- * value returned by the CellEditor isn't null.
- *
- * @param value
- * @param newRawValue
- * @throws ModelModificationException
- * @deprecated This functionality will be removed from IValueEditor soon.
- */
- public abstract void modifyValue( IValue value, Object newRawValue ) throws ModelModificationException;
-
-
- /**
- * Deletes the attributes
- *
- * It is called from a ICellModfier if the attribute exists and the raw
- * value returned by the CellEditor is null.
- *
- * @param attributeHierarchy the attribute hierarchy
- * @throws ModelModificationException
- * @deprecated This functionality will be removed from IValueEditor soon.
- */
- public abstract void deleteAttribute( AttributeHierarchy attributeHierarchy ) throws ModelModificationException;
-
-
- /**
- * Deletes the value
- *
- * It is called from a ICellModfier if the value exists and the raw
- * value returned by the CellEditor is null.
- *
- * @param oldValue
- * @throws ModelModificationException
- * @deprecated This functionality will be removed from IValueEditor soon.
- */
- public abstract void deleteValue( IValue oldValue ) throws ModelModificationException;
/**
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/MultivaluedValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/MultivaluedValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/MultivaluedValueEditor.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/MultivaluedValueEditor.java Sun Jul 15 09:15:39 2007
@@ -29,10 +29,7 @@
import org.apache.directory.studio.ldapbrowser.common.dialogs.MultivaluedDialog;
import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
-import org.apache.directory.studio.ldapbrowser.core.model.IConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
-import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.swt.widgets.Composite;
@@ -218,58 +215,6 @@
public Object getRawValue( IValue value )
{
return null;
- }
-
-
- /**
- * {@inheritDoc}
- *
- * It doesn't make sense to use the MultivaluedValueEditor with a single value.
- * Returns null.
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- return null;
- }
-
-
- /**
- * {@inheritDoc}
- *
- * Modification is performed in the concrete single-ValueEditors.
- */
- public void modifyValue( IValue oldValue, Object newRawValue ) throws ModelModificationException
- {
- }
-
-
- /**
- * {@inheritDoc}
- *
- * Creationg is performed in the concrete single-ValueEditors.
- */
- public void createValue( IEntry entry, String attributeName, Object newRawValue ) throws ModelModificationException
- {
- }
-
-
- /**
- * {@inheritDoc}
- *
- * Deletion is performed in the concrete single-ValueEditors.
- */
- public void deleteAttribute( AttributeHierarchy ah ) throws ModelModificationException
- {
- }
-
-
- /**
- * {@inheritDoc}
- *
- * Deletion is performed in the concrete single-ValueEditors.
- */
- public void deleteValue( IValue oldValue ) throws ModelModificationException
- {
}
Modified: directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorManager.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorManager.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorManager.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-common/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorManager.java Sun Jul 15 09:15:39 2007
@@ -32,12 +32,21 @@
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonActivator;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonConstants;
+import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
+import org.apache.directory.studio.ldapbrowser.core.internal.model.Attribute;
+import org.apache.directory.studio.ldapbrowser.core.jobs.CreateValuesJob;
+import org.apache.directory.studio.ldapbrowser.core.jobs.DeleteAttributesValueJob;
+import org.apache.directory.studio.ldapbrowser.core.jobs.ModifyValueJob;
import org.apache.directory.studio.ldapbrowser.core.model.AttributeHierarchy;
+import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
+import org.apache.directory.studio.ldapbrowser.core.model.ModelModificationException;
import org.apache.directory.studio.ldapbrowser.core.model.schema.AttributeTypeDescription;
import org.apache.directory.studio.ldapbrowser.core.model.schema.LdapSyntaxDescription;
import org.apache.directory.studio.ldapbrowser.core.model.schema.Schema;
+import org.apache.directory.studio.ldapbrowser.core.utils.LdifUtils;
+import org.apache.directory.studio.ldapbrowser.core.utils.Utils;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint;
@@ -188,7 +197,8 @@
// check attribute preferences
AttributeTypeDescription atd = schema.getAttributeTypeDescription( attributeType );
- Map attributeValueEditorMap = BrowserCommonActivator.getDefault().getValueEditorsPreferences().getAttributeValueEditorMap();
+ Map attributeValueEditorMap = BrowserCommonActivator.getDefault().getValueEditorsPreferences()
+ .getAttributeValueEditorMap();
if ( atd.getNumericOID() != null && attributeValueEditorMap.containsKey( atd.getNumericOID().toLowerCase() ) )
{
return ( IValueEditor ) this.class2ValueEditors.get( attributeValueEditorMap.get( atd.getNumericOID()
@@ -206,7 +216,8 @@
// check syntax preferences
LdapSyntaxDescription lsd = atd.getSyntaxDescription();
- Map syntaxValueEditorMap = BrowserCommonActivator.getDefault().getValueEditorsPreferences().getSyntaxValueEditorMap();
+ Map syntaxValueEditorMap = BrowserCommonActivator.getDefault().getValueEditorsPreferences()
+ .getSyntaxValueEditorMap();
if ( lsd.getNumericOID() != null && syntaxValueEditorMap.containsKey( lsd.getNumericOID().toLowerCase() ) )
{
return ( IValueEditor ) this.class2ValueEditors.get( syntaxValueEditorMap.get( lsd.getNumericOID()
@@ -359,7 +370,8 @@
alternativeList.remove( getCurrentValueEditor( schema, attributeName ) );
- return (org.apache.directory.studio.valueeditors.IValueEditor[] ) alternativeList.toArray( new IValueEditor[alternativeList.size()] );
+ return ( org.apache.directory.studio.valueeditors.IValueEditor[] ) alternativeList
+ .toArray( new IValueEditor[alternativeList.size()] );
}
@@ -391,7 +403,8 @@
alternativeList.remove( getCurrentValueEditor( value ) );
- return (org.apache.directory.studio.valueeditors.IValueEditor[] ) alternativeList.toArray( new IValueEditor[alternativeList.size()] );
+ return ( org.apache.directory.studio.valueeditors.IValueEditor[] ) alternativeList
+ .toArray( new IValueEditor[alternativeList.size()] );
}
@@ -494,6 +507,140 @@
/**
+ * Creates the attribute with the given value at the entry.
+ *
+ * It is called from a ICellModifier if no attribute of value exists and
+ * the raw value returned by the CellEditor isn't null.
+ *
+ * @param newRawValue the new raw value
+ * @param entry the entry
+ * @param attributeDescription the attribute description
+ *
+ * @throws ModelModificationException the model modification exception
+ */
+ public void createValue( IEntry entry, String attributeDescription, Object newRawValue )
+ throws ModelModificationException
+ {
+ if ( entry != null && attributeDescription != null && newRawValue != null
+ && ( newRawValue instanceof byte[] || newRawValue instanceof String ) )
+ {
+ if ( entry.getAttribute( attributeDescription ) != null )
+ {
+ IAttribute attribute = entry.getAttribute( attributeDescription );
+ if ( attribute != null )
+ {
+ if ( attribute.getValueSize() == 0 )
+ {
+ new CreateValuesJob( attribute, newRawValue ).execute();
+ }
+ else if ( attribute.getValueSize() == 1 )
+ {
+ this.modifyValue( attribute.getValues()[0], newRawValue );
+ }
+ }
+ }
+ else
+ {
+ EventRegistry.suspendEventFireingInCurrentThread();
+ IAttribute attribute = new Attribute( entry, attributeDescription );
+ entry.addAttribute( attribute );
+ EventRegistry.resumeEventFireingInCurrentThread();
+
+ Object newValue;
+ if ( entry.getConnection().getSchema().getAttributeTypeDescription( attributeDescription )
+ .getSyntaxDescription().isString() )
+ {
+ if ( newRawValue instanceof String )
+ {
+ newValue = ( String ) newRawValue;
+ }
+ else
+ {
+ newValue = LdifUtils.utf8decode( ( byte[] ) newRawValue );
+ }
+ }
+ else
+ {
+ if ( newRawValue instanceof String )
+ {
+ newValue = LdifUtils.utf8encode( ( String ) newRawValue );
+ }
+ else
+ {
+ newValue = ( byte[] ) newRawValue;
+ }
+ }
+
+ new CreateValuesJob( attribute, newValue ).execute();
+ }
+ }
+ }
+
+
+ /**
+ * Modifies the value and sets the given raw value
+ *
+ * It is called from a ICellModfier if the value exists and the raw
+ * value returned by the CellEditor isn't null.
+ *
+ * @param oldValue the old value
+ * @param newRawValue the new raw value
+ */
+ public void modifyValue( IValue oldValue, Object newRawValue )
+ {
+ IAttribute attribute = oldValue.getAttribute();
+
+ boolean modify = false;
+ if ( oldValue != null && newRawValue != null && newRawValue instanceof byte[] )
+ {
+ byte[] newValue = ( byte[] ) newRawValue;
+ if ( !Utils.equals( oldValue.getBinaryValue(), newValue ) )
+ {
+ modify = true;
+ }
+ }
+ else if ( oldValue != null && newRawValue != null && newRawValue instanceof String )
+ {
+
+ String newValue = ( String ) newRawValue;
+ if ( !oldValue.getStringValue().equals( newValue ) )
+ {
+ modify = true;
+ }
+ }
+
+ if ( modify )
+ {
+ if ( oldValue.isEmpty() )
+ {
+ EventRegistry.suspendEventFireingInCurrentThread();
+ attribute.deleteEmptyValue();
+ EventRegistry.resumeEventFireingInCurrentThread();
+ new CreateValuesJob( attribute, newRawValue ).execute();
+ }
+ else
+ {
+ new ModifyValueJob( attribute, oldValue, newRawValue ).execute();
+ }
+ }
+ }
+
+
+ /**
+ * Deletes the attributes.
+ *
+ * It is called from a ICellModfier if the attribute exists and the raw
+ * value returned by the CellEditor is null.
+ *
+ * @param ah the attribute hierarchy
+ */
+ public void deleteAttribute( AttributeHierarchy ah )
+ {
+ new DeleteAttributesValueJob( ah ).execute();
+ }
+
+
+ /**
* Creates and returns the value editors specified by value editors extensions.
*
* @param parent the parent composite
@@ -588,19 +735,19 @@
*/
public static class ValueEditorExtension
{
-
+
/** The name. */
public String name = null;
-
+
/** The icon. */
public ImageDescriptor icon = null;
-
+
/** The class name. */
public String className = null;
-
+
/** The syntax oids. */
public Collection<String> syntaxOids = new ArrayList<String>( 3 );
-
+
/** The attribute types. */
public Collection<String> attributeTypes = new ArrayList<String>( 3 );
Modified: directory/studio/trunk/studio-ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/editors/searchresult/SearchResultEditorCellModifier.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/editors/searchresult/SearchResultEditorCellModifier.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/editors/searchresult/SearchResultEditorCellModifier.java (original)
+++ directory/studio/trunk/studio-ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/editors/searchresult/SearchResultEditorCellModifier.java Sun Jul 15 09:15:39 2007
@@ -168,7 +168,6 @@
public void modify( Object element, String property, Object newRawValue )
{
-
if ( element != null && element instanceof Item )
{
element = ( ( Item ) element ).getData();
@@ -176,25 +175,23 @@
if ( element != null && element instanceof ISearchResult && property != null )
{
- ISearchResult result = ( ISearchResult ) element;
- AttributeHierarchy ah = result.getAttributeWithSubtypes( property );
-
try
{
+ ISearchResult result = ( ISearchResult ) element;
+ AttributeHierarchy ah = result.getAttributeWithSubtypes( property );
+
// switch operation:
if ( ah == null && newRawValue != null )
{
- this.valueEditorManager.getCurrentValueEditor( result.getEntry(), property ).createValue(
- result.getEntry(), property, newRawValue );
+ this.valueEditorManager.createValue( result.getEntry(), property, newRawValue );
}
else if ( ah != null && newRawValue == null )
{
- this.valueEditorManager.getCurrentValueEditor( ah ).deleteAttribute( ah );
+ this.valueEditorManager.deleteAttribute( ah );
}
else if ( ah != null && ah.size() == 1 && ah.getAttribute().getValueSize() == 1 && newRawValue != null )
{
- this.valueEditorManager.getCurrentValueEditor( ah ).modifyValue( ah.getAttribute().getValues()[0],
- newRawValue );
+ this.valueEditorManager.modifyValue( ah.getAttribute().getValues()[0], newRawValue );
}
}
catch ( ModelModificationException mme )
Modified: directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/dn/DnValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/dn/DnValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/dn/DnValueEditor.java (original)
+++ directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/dn/DnValueEditor.java Sun Jul 15 09:15:39 2007
@@ -126,23 +126,6 @@
/**
- * {@inheritDoc}
- *
- * Returns a DnValueEditorRawValueWrapper with the given
- * connection and a DN build from the given value.
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- Object o = super.getRawValue( connection, value );
- if ( o != null && o instanceof String )
- {
- return new DnValueEditorRawValueWrapper( connection, ( String ) o );
- }
-
- return null;
- }
-
- /**
* The DnValueEditorRawValueWrapper is used to pass contextual
* information to the opened DnDialog.
*
Modified: directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java (original)
+++ directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/objectclass/ObjectClassValueEditor.java Sun Jul 15 09:15:39 2007
@@ -133,12 +133,7 @@
}
- /**
- * {@inheritDoc}
- *
- * Returns a ObjectClassValueEditorRawValueWrapper.
- */
- public Object getRawValue( IConnection connection, Object value )
+ private Object getRawValue( IConnection connection, Object value )
{
Schema schema = null;
if ( connection != null )
Modified: directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/password/PasswordValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/password/PasswordValueEditor.java?view=diff&rev=556423&r1=556422&r2=556423
==============================================================================
--- directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/password/PasswordValueEditor.java (original)
+++ directory/studio/trunk/studio-valueeditors/src/main/java/org/apache/directory/studio/valueeditors/password/PasswordValueEditor.java Sun Jul 15 09:15:39 2007
@@ -23,7 +23,6 @@
import org.apache.directory.studio.ldapbrowser.common.dialogs.TextDialog;
import org.apache.directory.studio.ldapbrowser.core.model.IAttribute;
-import org.apache.directory.studio.ldapbrowser.core.model.IConnection;
import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
import org.apache.directory.studio.valueeditors.AbstractDialogBinaryValueEditor;
@@ -136,18 +135,6 @@
return new PasswordValueEditorRawValueWrapper( password, value.getAttribute().getEntry() );
}
-
- /**
- * {@inheritDoc}
- *
- * Returns a PasswordValueEditorRawValueWrapper with
- * null entry.
- */
- public Object getRawValue( IConnection connection, Object value )
- {
- Object password = super.getRawValue( connection, value );
- return new PasswordValueEditorRawValueWrapper( password, null );
- }
/**
* The PasswordValueEditorRawValueWrapper is used to pass contextual