directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yiannis Mavroukakis <imavrouka...@gameaccount.com>
Subject [ApacheDS] Using LdifEntry with a ModifyOperationContext
Date Wed, 18 Mar 2009 09:57:38 GMT

Hello everyone :-)

I've got a problem trying to use LdifEntry with ModifyOperationContext. 
If you remember from
previous emails, I'm using LdifEntry because it can be serialized. I'm 
stuffing my Modification
objects in the LdifEntry object like so

        for( AttributeType attributeType : list )
        {
            EntryAttribute entryAttribute = ( (ServerAttribute) entry
                    .get( attributeType ) ).toClientAttribute( );
            ldiff.addAttribute( entryAttribute );
            if( changeType.equals( ChangeType.Modify ) )
            {
                ClientModification mod = new ClientModification(
                        ModificationOperation.REPLACE_ATTRIBUTE ,
                        entryAttribute );
                ldiff.addModificationItem( mod );
            }
        }

This serializes fine, however ModifyOperationContext.modify() gives me a

java.lang.ClassCastException: 
org.apache.directory.shared.ldap.entry.client.DefaultClientAttribute 
cannot be cast to org.apache.directory.server.core.entry.ServerAttribute

when I pass the LdifEntry object modification list to it because it 
expects ServerAttributes and not ClientAttributes and as far as I can 
remember, ServerAttributes are not serializable (?). Is there any way I 
can get around this requirement?

Thanks guys,

Yiannis

Mime
View raw message