if (ldifEntry.isChangeAdd() || ldifEntry.isLdifContent()) { if (log.isDebugEnabled()) { log.debug("attempting add of {}", ldifEntry); conn.add(ldifEntry.getEntry()); } else if (ldifEntry.isChangeModify()) { if (log.isDebugEnabled()) { log.debug("attempting modify of {}", ldifEntry); conn.modify(ldifEntry.getDn(), ldifEntry.getModificationArray()); } else if (ldifEntry.isChangeDelete()) { if (log.isDebugEnabled()) { log.debug("attempting delete of {}", ldifEntry); conn.delete(ldifEntry.getDn()); } else if (ldifEntry.isChangeModDn()) { if (log.isDebugEnabled()) { log.debug("attempting DN move of {}", ldifEntry); conn.moveAndRename(ldifEntry.getDn(), new Dn(ldifEntry.getNewRdn(), ldifEntry.getNewSuperior()), ldifEntry.isDeleteOldRdn()); } else if (ldifEntry.isChangeModRdn()) { if (log.isDebugEnabled()) { log.debug("attempting RDN move of {}", ldifEntry); conn.rename(ldifEntry.getDn(), new Rdn(ldifEntry.getNewRdn()), ldifEntry.isDeleteOldRdn());
throws LdapInvalidDnException LdifEntry reverted = new LdifEntry(); reverted.setChangeType( ChangeType.ModRdn ); reverted.setDn( restoredDn ); reverted.setDn( newDn ); reverted.setNewRdn( oldRdn.getName() ); reverted.setNewSuperior( oldSuperior.getName() ); reverted.setDeleteOldRdn( deleteOldRdn );
/** * 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 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; }
public static void apply( DirectoryService service, LdifEntry entry ) throws LdapException Dn dn = entry.getDn(); CoreSession session = service.getAdminSession(); switch ( entry.getChangeType().getChangeType() ) new DefaultEntry( service.getSchemaManager(), entry.getEntry() ) ); break; Rdn newRdn = new Rdn( entry.getNewRdn() ); if ( entry.getNewSuperior() != null ) Dn newSuperior = new Dn( entry.getNewSuperior() ); session.moveAndRename( dn, newSuperior, newRdn, entry.isDeleteOldRdn() ); session.rename( dn, newRdn, entry.isDeleteOldRdn() ); session.modify( dn, entry.getModifications() ); break; throw new IllegalStateException( I18n.err( I18n.ERR_476, entry.getChangeType() ) );
reader.close(); syntaxCheckerList.add( entry.getEntry() );
Dn entryDn = ldifEntry.getDn(); LdifEntry newLdifEntry = new LdifEntry( schemaManager ); newLdifEntry.setChangeType( ChangeType.Modify ); newLdifEntry.setDn( anonymizedDn ); for ( Modification modification : ldifEntry.getModifications() ) newLdifEntry.addModification( anonymizedModification ); newLdifEntry.addModification( modification ); newLdifEntry.addModification( anonymizedModification );
if ( ldifEntry.isEntry() && !ldifEntry.isChangeAdd() ) writer.write( "\n" ); else if ( ldifEntry.isChangeDelete() ) writer.write( newLdifEntry.toString() ); writer.write( "\n" ); else if ( ldifEntry.isChangeAdd() ) writer.write( newLdifEntry.toString() ); writer.write( "\n" ); else if ( ldifEntry.isChangeModify() ) writer.write( newLdifEntry.toString() ); writer.write( "\n" ); else if ( ldifEntry.isChangeModDn() || ldifEntry.isChangeModRdn() ) writer.write( newLdifEntry.toString() ); writer.write( "\n" ); println( ldifEntry.getDn().toString() ); i++;
/** * injects an LDIF entry in the given DirectoryService * * @param entry the LdifEntry to be injected * @param service the DirectoryService * @throws Exception If the entry cannot be injected */ private static void injectEntry( LdifEntry entry, DirectoryService service ) throws LdapException { if ( entry.isChangeAdd() || entry.isLdifContent() ) { service.getAdminSession().add( new DefaultEntry( service.getSchemaManager(), entry .getEntry() ) ); } else if ( entry.isChangeModify() ) { service.getAdminSession().modify( entry.getDn(), entry.getModifications() ); } else { String message = I18n.err( I18n.ERR_117, entry.getChangeType() ); throw new LdapException( message ); } }
/** * Stream will be closed automatically. */ public void importLdif(InputStream is) throws Exception { try (LdifReader reader = new LdifReader(is)) { CoreSession coreSession = directoryService.getAdminSession(); // see LdifFileLoader for (LdifEntry ldifEntry : reader) { String ldif = ldifEntry.toString(); LOG.info(ldif); if (ChangeType.Add == ldifEntry.getChangeType() || /* assume "add" by default */ ChangeType.None == ldifEntry.getChangeType()) { coreSession.add(new DefaultEntry(coreSession.getDirectoryService().getSchemaManager(), ldifEntry.getEntry())); } else if (ChangeType.Modify == ldifEntry.getChangeType()) { coreSession.modify(ldifEntry.getDn(), ldifEntry.getModifications()); } else if (ChangeType.Delete == ldifEntry.getChangeType()) { coreSession.delete(ldifEntry.getDn()); } else { throw new IllegalStateException(); } } } }
if ( entry.isEntry() ) new DefaultEntry( service.getSchemaManager(), entry.getEntry() ) ); else if ( entry.isChangeModify() ) entry.getDn(), entry.getModifications() ); String message = I18n.err( I18n.ERR_117, entry.getChangeType() ); LOG.error( message ); reader.close();
Dn entryDn = ldifEntry.getDn(); ldifEntry.setDn( anonymizedDn ); String newRdnStr = ldifEntry.getNewRdn(); Dn anonymizedRdn = anonymizeDn( newRdn ); ldifEntry.setNewRdn( anonymizedRdn.toString() ); String newSuperiorStr = ldifEntry.getNewSuperior(); ldifEntry.setNewSuperior( anonymizedSuperior.toString() );
switch ( reverse.getChangeType().getChangeType() ) new DefaultEntry( schemaManager, reverse.getEntry() ), true ); break; adminSession.delete( reverse.getDn(), true ); break; List<Modification> mods = reverse.getModifications(); adminSession.modify( reverse.getDn(), mods, true ); break; Dn forwardDn = event.getForwardLdif().getDn(); Dn reverseDn = reverse.getDn(); moddn( reverseDn, forwardDn, reverse.isDeleteOldRdn() ); throw new NotImplementedException( I18n.err( I18n.ERR_76, reverse.getChangeType() ) );
Dn dn = ldifEntry.getDn(); if ( ldifEntry.isEntry() ) Entry entry = ldifEntry.getEntry(); boolean filterAccepted = applyFilters( dn, entry ); List<Modification> items = ldifEntry.getModifications();
LdifEntry ldif = new LdifEntry(); ldif.setChangeType( ChangeType.Modify ); ldif.setDn( modifyContext.getDn() ); ldif.addModification( modification );
protected List<LdifEntry> loadLdif(LdifReader ldifReader) throws Exception { List<LdifEntry> entries = new ArrayList<LdifEntry>(); for (LdifEntry ldifEntry : ldifReader) { Dn dn = ldifEntry.getDn(); if (ldifEntry.isEntry()) { org.apache.directory.api.ldap.model.entry.Entry items = ldifEntry.getEntry(); rootDSE.add(new DefaultEntry(directoryService.getSchemaManager(), items)); LOG.info("Added entry {}", dn); entries.add(ldifEntry); } } return entries; }
if ( ldifEntry.isEntry() && !ldifEntry.isChangeAdd() ) result.append( "\n" ); else if ( ldifEntry.isChangeDelete() ) else if ( ldifEntry.isChangeAdd() ) else if ( ldifEntry.isChangeModify() ) else if ( ldifEntry.isChangeModDn() || ldifEntry.isChangeModRdn() )