/** * Compute a reverse LDIF of an AddRequest. It's simply a delete request * of the added entry * * @param dn the dn of the added entry * @return a reverse LDIF */ public static LdifEntry reverseAdd( Dn dn ) { LdifEntry entry = new LdifEntry(); entry.setChangeType( ChangeType.Delete ); entry.setDn( dn ); return entry; }
/** * Compute a reverse LDIF of an AddRequest. It's simply a delete request * of the added entry * * @param dn the dn of the added entry * @return a reverse LDIF */ public static LdifEntry reverseAdd( Dn dn ) { LdifEntry entry = new LdifEntry(); entry.setChangeType( ChangeType.Delete ); entry.setDn( dn ); return entry; }
/** * Compute a reverse LDIF of an AddRequest. It's simply a delete request * of the added entry * * @param dn the dn of the added entry * @return a reverse LDIF */ public static LdifEntry reverseAdd( Dn dn ) { LdifEntry entry = new LdifEntry(); entry.setChangeType( ChangeType.Delete ); entry.setDn( dn ); return entry; }
/** * Compute a reverse LDIF of a DeleteRequest. We have to get the previous * entry in order to restore it. * * @param dn The deleted entry Dn * @param deletedEntry The entry which has been deleted * @return A reverse LDIF * @throws LdapException If something went wrong */ public static LdifEntry reverseDel( Dn dn, Entry deletedEntry ) throws LdapException { LdifEntry entry = new LdifEntry(); entry.setDn( dn ); entry.setChangeType( ChangeType.Add ); for ( Attribute attribute : deletedEntry ) { entry.addAttribute( attribute ); } return entry; }
/** * Compute a reverse LDIF of a DeleteRequest. We have to get the previous * entry in order to restore it. * * @param dn The deleted entry Dn * @param deletedEntry The entry which has been deleted * @return A reverse LDIF * @throws LdapException If something went wrong */ public static LdifEntry reverseDel( Dn dn, Entry deletedEntry ) throws LdapException { LdifEntry entry = new LdifEntry(); entry.setDn( dn ); entry.setChangeType( ChangeType.Add ); for ( Attribute attribute : deletedEntry ) { entry.addAttribute( attribute ); } return entry; }
/** * Compute a reverse LDIF of a DeleteRequest. We have to get the previous * entry in order to restore it. * * @param dn The deleted entry Dn * @param deletedEntry The entry which has been deleted * @return A reverse LDIF * @throws LdapException If something went wrong */ public static LdifEntry reverseDel( Dn dn, Entry deletedEntry ) throws LdapException { LdifEntry entry = new LdifEntry(); entry.setDn( dn ); entry.setChangeType( ChangeType.Add ); for ( Attribute attribute : deletedEntry ) { entry.addAttribute( attribute ); } return entry; }
newDn = newDn.add( modifiedDn.getRdn() ); entry.setChangeType( ChangeType.ModDn ); entry.setDn( newDn ); entry.setNewRdn( currentRdn.getName() );
ldif.setChangeType( ChangeType.Modify ); ldif.setDn( modifyContext.getDn() );
ldif.setChangeType( ChangeType.ModDn ); ldif.setDn( moveContext.getDn() ); ldif.setNewSuperior( moveContext.getNewSuperior().getName() );
restored.setChangeType( ChangeType.Modify );
restored.setChangeType( ChangeType.Modify );
restored.setChangeType( ChangeType.Modify );
reverted.setChangeType( ChangeType.ModRdn );
reverted.setChangeType( ChangeType.ModRdn );
reverted.setChangeType( ChangeType.ModRdn );
public static LdifEntry getUserAddLdif( String dnstr, byte[] password, String cn, String sn ) throws LdapException { Dn dn = new Dn( dnstr ); LdifEntry ldif = new LdifEntry(); ldif.setDn( dnstr ); ldif.setChangeType( ChangeType.Add ); Attribute attr = new DefaultAttribute( "objectClass", "top", "person", "organizationalPerson", "inetOrgPerson" ); ldif.addAttribute( attr ); attr = new DefaultAttribute( "ou", "Engineering", "People" ); ldif.addAttribute( attr ); String uid = dn.getRdn().getValue(); ldif.putAttribute( "uid", uid ); ldif.putAttribute( "l", "Bogusville" ); ldif.putAttribute( "cn", cn ); ldif.putAttribute( "sn", sn ); ldif.putAttribute( "mail", uid + "@apache.org" ); ldif.putAttribute( "telephoneNumber", "+1 408 555 4798" ); ldif.putAttribute( "facsimileTelephoneNumber", "+1 408 555 9751" ); ldif.putAttribute( "roomnumber", "4612" ); ldif.putAttribute( "userPassword", password ); String givenName = cn.split( " " )[0]; ldif.putAttribute( "givenName", givenName ); return ldif; }
/** * {@inheritDoc} */ @Override public void move( MoveOperationContext moveContext ) throws LdapException { next( moveContext ); if ( !changeLog.isEnabled() ) { return; } LdifEntry forward = new LdifEntry(); forward.setChangeType( ChangeType.ModDn ); forward.setDn( moveContext.getDn() ); forward.setNewSuperior( moveContext.getNewSuperior().getName() ); LdifEntry reverse = LdifRevertor.reverseMove( moveContext.getNewSuperior(), moveContext.getDn() ); moveContext.setChangeLogEvent( changeLog.log( getPrincipal( moveContext ), forward, reverse ) ); }
/** * {@inheritDoc} */ @Override public void add( AddOperationContext addContext ) throws LdapException { next( addContext ); if ( !changeLog.isEnabled() ) { return; } Entry addEntry = addContext.getEntry(); // we don't want to record addition of a tag as a change if ( addEntry.get( REV_AT_OID ) != null ) { return; } LdifEntry forward = new LdifEntry(); forward.setChangeType( ChangeType.Add ); forward.setDn( addContext.getDn() ); for ( Attribute attribute : addEntry.getAttributes() ) { AttributeType attributeType = attribute.getAttributeType(); forward.addAttribute( addEntry.get( attributeType ).clone() ); } LdifEntry reverse = LdifRevertor.reverseAdd( addContext.getDn() ); addContext.setChangeLogEvent( changeLog.log( getPrincipal( addContext ), forward, reverse ) ); }
/** * {@inheritDoc} */ @Override public void rename( RenameOperationContext renameContext ) throws LdapException { Entry serverEntry = null; if ( renameContext.getEntry() != null ) { serverEntry = ( ( ClonedServerEntry ) renameContext.getEntry() ).getOriginalEntry(); } next( renameContext ); // After this point, the entry has been modified. The cloned entry contains // the modified entry, the originalEntry has changed if ( !changeLog.isEnabled() ) { return; } LdifEntry forward = new LdifEntry(); forward.setChangeType( ChangeType.ModRdn ); forward.setDn( renameContext.getDn() ); forward.setNewRdn( renameContext.getNewRdn().getName() ); forward.setDeleteOldRdn( renameContext.getDeleteOldRdn() ); List<LdifEntry> reverses = LdifRevertor.reverseRename( serverEntry, renameContext.getNewRdn(), renameContext.getDeleteOldRdn() ); renameContext.setChangeLogEvent( changeLog.log( getPrincipal( renameContext ), forward, reverses ) ); }
forward.setChangeType( ChangeType.ModDn ); forward.setDn( moveAndRenameContext.getDn() ); forward.setDeleteOldRdn( moveAndRenameContext.getDeleteOldRdn() );