[
https://issues.apache.org/jira/browse/DIRAPI-120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13587116#comment-13587116
]
Emmanuel Lecharny commented on DIRAPI-120:
------------------------------------------
The pb is more in the LdifParser code.
When we have a LDIF file like :
dn: cn=test,ou=users,ou=system
changetype: modify
delete: userPassword
-
we generate a Modification instance which contains an Attribute with a null
value.
But for AttributeType allowing the existence of null values, deleting the null
value will need to be able to parse :
dn: cn=test,ou=users,ou=system
changetype: modify
delete: userPassword
userPassword:
-
and to have a Modification containing the Attribute <userPassword, null>
At this point, we can't distinguish between the deletion of the complete
attribute and the deletion of the null value of an Attribute.
The Modification class should have a flag to distinguish those two cases.
> Deleted an attribute leads to an error
> --------------------------------------
>
> Key: DIRAPI-120
> URL: https://issues.apache.org/jira/browse/DIRAPI-120
> Project: Directory Client API
> Issue Type: Bug
> Reporter: Emmanuel Lecharny
> Priority: Critical
>
> Modifying an entry and removing an attribute creates a LDIF enry like :
> dn: cn=test,ou=users,ou=system
> changetype: modify
> delete: userPassword
> -
> which is transformed to a ModifyRequest with a Modification containing the
> attribute and a 'null' value, which is wrong.
> The AttributeUtils.toApiAttributes() method uses :
> ...
> for ( NamingEnumeration<?> values = jndiAttribute.getAll();
> values.hasMoreElements(); )
> {
> Object value = values.nextElement();
> if ( value instanceof String )
> {
> attribute.add( ( String ) value );
> }
> else if ( value instanceof byte[] )
> {
> attribute.add( ( byte[] ) value );
> }
> else
> {
> attribute.add( ( String ) null ); <-------------- Wrong
> !
> }
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira