Hi Hugh, If you have some time to try and implement it, start from SyncReplSourceService.java class and look at the getNextId() method which is storing results inside a temporary map. Don't implement IAsynchronousService if you do not plan to use the event based model, but use this idea inside a subclass of SimpleJndiService in which you should override the getBean method.
You will have to build the same map and before returning any result, sort the map according the DN hierarchy through for example the following method : http://directory.apache.org/api/gen-docs/latest/apidocs/org/apache/directory/shared/ldap/model/name/Dn.html#isAncestorOf(org.apache.directory.shared.ldap.model.name.Dn Regards, -- Sebastien BAHLOUL IAM / Security specialist Ldap Synchronization Connector : http://lsc-project.org Blog : http://sbahloul.wordpress.com/ 2012/4/24 Hugh Kelley <[email protected]> > I do plan to run the sync as a recurring job (cron-like) but the > destination directory is currently empty. > > Is it AbstractSimpleJndiService that you are proposing I customize > (specifically the SearchResult property or thereabouts)? > > Hugh > > > On Tue, Apr 24, 2012 at 12:19 PM, Sébastien Bahloul < > [email protected]> wrote: > >> Hi Clement, Hugh, >> >> The builtin LDAP source service is effectively not designed to handle >> such use case. But it is possible to write a source service that will >> respect the LDAP hierarchy to send results in the correct order. >> >> Are you planning to run it on a periodical basis ? If so, we can preload >> the whole directory, sort entries thanks to a LDAP hierarchical sort class >> and manage the entries with that order. >> >> Regards, >> -- >> Sebastien BAHLOUL >> IAM / Security specialist >> Ldap Synchronization Connector : http://lsc-project.org >> Blog : http://sbahloul.wordpress.com/ >> >> >> >> Le 24 avril 2012 18:15, Clément OUDOT <[email protected]> a écrit : >> >>> Le 24 avril 2012 18:07, Hugh Kelley <[email protected]> a écrit : >>> > I am trying to use LSC to essentially "mirror" a very hierarchical >>> (many >>> > nested OUs) production LDAP instance into an isolated pre-production >>> LDAP >>> > instance. My current issue is that the updates are being generated >>> in >>> > reverse (or perhaps random) order, so that child objects creations are >>> > attempted before parent objects have been created. >>> > >>> > See the bottom of this post for an excerpt from my LDIF. I know >>> there is a >>> > <sortedBy> option I can use at the connection level, but I don't know >>> of any >>> > LDAP attribute that could be used in a sort-by-depth manner. Are >>> there any >>> > clever solutions for this? >>> > >>> > One ideaI am exploring is to sort by whenChanged, thinking that the >>> > most-recently changed objects should be the children. However, this >>> > lsc.xml configuration appears to be invalid. >>> > >>> > </ldapConnection> >>> > . . . . . . >>> > <binaryAttributes> >>> > <string>objectGUID</string> >>> > </binaryAttributes> >>> > <sortedBy>whenChanged</sortedBy> >>> > </ldapConnection> >>> > >>> > ERROR - org.lsc.exception.LscConfigurationException: >>> > javax.xml.bind.UnmarshalException >>> > - with linked exception: >>> > [org.xml.sax.SAXParseException: cvc-complex-type.2.4.d: Invalid >>> content was >>> > found starting with element 'sortedBy'. No child element is expected >>> at this >>> > point.] >>> > org.lsc.exception.LscConfigurationException: >>> > javax.xml.bind.UnmarshalException >>> > >>> >>> >>> sortedBy option does not work in 2.0. An issue has been opened for the >>> next version: http://tools.lsc-project.org/issues/440 >>> >>> >>> LSC is not a very good tool to synchronize a hierarchical tree, just >>> for the reason you mention in your mail: entries are get in a non >>> hierarchical order. Maybe someone in this list has done such >>> synchronization and can help us? >>> >>> >>> Clément. >>> _______________________________________________________________ >>> Ldap Synchronization Connector (LSC) - http://lsc-project.org >>> >>> lsc-users mailing list >>> [email protected] >>> http://lists.lsc-project.org/listinfo/lsc-users >>> >> >> > > _______________________________________________________________ > Ldap Synchronization Connector (LSC) - http://lsc-project.org > > lsc-users mailing list > [email protected] > http://lists.lsc-project.org/listinfo/lsc-users > >
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

