/** * 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; }
/** * Anonymize a Delete change * * @param ldifEntry The entry to anonymize * @return The anonymized entry * @throws LdapException If the anonymization failed */ private LdifEntry anonymizeChangeDelete( LdifEntry ldifEntry ) throws LdapException { Dn entryDn = ldifEntry.getDn(); // Process the DN, there is nothing more in the entry Dn anonymizedDn = anonymizeDn( entryDn ); ldifEntry.setDn( anonymizedDn ); return ldifEntry; }
/** * 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; }
/** * Anonymize a Delete change * * @param ldifEntry The entry to anonymize * @return The anonymized entry * @throws LdapException If the anonymization failed */ private LdifEntry anonymizeChangeDelete( LdifEntry ldifEntry ) throws LdapException { Dn entryDn = ldifEntry.getDn(); // Process the DN, there is nothing more in the entry Dn anonymizedDn = anonymizeDn( entryDn ); ldifEntry.setDn( anonymizedDn ); return ldifEntry; }
/** * Anonymize a Delete change * * @param ldifEntry The entry to anonymize * @return The anonymized entry * @throws LdapException If the anonymization failed */ private LdifEntry anonymizeChangeDelete( LdifEntry ldifEntry ) throws LdapException { Dn entryDn = ldifEntry.getDn(); // Process the DN, there is nothing more in the entry Dn anonymizedDn = anonymizeDn( entryDn ); ldifEntry.setDn( anonymizedDn ); return ldifEntry; }
/** * 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; }
/** * Converts the configuration bean to a list of LDIF entries. */ private void convertConfigurationBeanToLdifEntries() throws ConfigurationException { try { if ( entries == null ) { entries = new ArrayList<LdifEntry>(); // Building the default config root entry 'ou=config' LdifEntry configRootEntry = new LdifEntry(); configRootEntry.setDn( new Dn( SchemaConstants.OU_AT + "=" + "config" ) ); addObjectClassAttribute( schemaManager, configRootEntry, "organizationalUnit" ); addAttributeTypeValues( SchemaConstants.OU_AT, "config", configRootEntry ); entries.add( configRootEntry ); // Building entries from the directory service beans List<AdsBaseBean> directoryServiceBeans = configBean.getDirectoryServiceBeans(); for ( AdsBaseBean adsBaseBean : directoryServiceBeans ) { addBean( configRootEntry.getDn(), schemaManager, adsBaseBean, entries ); } } } catch ( Exception e ) { throw new ConfigurationException( "Unable to convert the configuration bean to LDIF entries", e ); } }
restored.setDn( parentDn );
restored.setDn( parentDn );
restored.setDn( parentDn );
ldifEntry.setDn( anonymizedDn );
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 ) ); }
ldifEntry.setDn( anonymizedDn );
/** * {@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 ) ); }