private void merge(ConfigurationChanges diffs, Collection<TransferCapability> prevs, Collection<TransferCapability> tcs, String aeDN) throws NamingException { for (TransferCapability tc : prevs) { String dn = dnOf(tc, aeDN); if (findByDN(aeDN, tcs, dn) == null) { destroySubcontext(dn); ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.D); } } for (TransferCapability tc : tcs) { String dn = dnOf(tc, aeDN); TransferCapability prev = findByDN(aeDN, prevs, dn); if (prev == null) { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.C); createSubcontext(dn, storeTo(ConfigurationChanges.nullifyIfNotVerbose(diffs, ldapObj), tc, new BasicAttributes(true))); } else { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.U); modifyAttributes(dn, storeDiffs(ldapObj, prev, tc, new ArrayList<ModificationItem>())); ConfigurationChanges.removeLastIfEmpty(diffs, ldapObj); } } }
private void merge(ConfigurationChanges diffs, Collection<TransferCapability> prevs, Collection<TransferCapability> tcs, String aeDN) throws NamingException { for (TransferCapability tc : prevs) { String dn = dnOf(tc, aeDN); if (findByDN(aeDN, tcs, dn) == null) { destroySubcontext(dn); ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.D); } } for (TransferCapability tc : tcs) { String dn = dnOf(tc, aeDN); TransferCapability prev = findByDN(aeDN, prevs, dn); if (prev == null) { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.C); createSubcontext(dn, storeTo(ConfigurationChanges.nullifyIfNotVerbose(diffs, ldapObj), tc, new BasicAttributes(true))); } else { ConfigurationChanges.ModifiedObject ldapObj = ConfigurationChanges.addModifiedObject(diffs, dn, ConfigurationChanges.ChangeType.U); modifyAttributes(dn, storeDiffs(ldapObj, prev, tc, new ArrayList<ModificationItem>())); ConfigurationChanges.removeLastIfEmpty(diffs, ldapObj); } } }