Thanks for your quick reply. I have already tried this, it's always the
same. On the source setup, I restricted the selection in the "getAllFilter"
so that I only have one record to process, debug is a lot quicker !

So, with both flavours, if I use the '-n" switch, i get :
oct. 22 17:04:40 - INFO  - All entries: 1, to modify entries: 1,
successfully modified entries: 0, errors: 0

And when I try to run it for real :
oct. 22 17:05:14 - INFO  - All entries: 1, to modify entries: 0,
successfully modified entries: 0, errors: 0

If I remove the condition preventing LSC from changing IDs, he tries to
modrdn things when running.

dn:xxxxxxx
changetype: modrdn
newrdn: attr1=xxxxxxx
deleteoldrdn: 1
newsuperior:

Should I tweak something in the "mainIdentifier" declaration ?

Regards



2013/10/22 Clément OUDOT <clem.ou...@gmail.com>

>
>
>
> 2013/10/22 SB MK <sbm...@gmail.com>
>
>> Hi,
>>
>> I still don't manage to get what I need, but it looks so simple !
>>
>> I have to sync a few properties from "ref-ldap" to "dest-ldap", which is
>> an embedded directory I can't manage. But fortunately, its "attr1"
>> attribute (not a key attribute) matches the "uid" of my main repository, so
>> I assume I can use it as a pivot too.
>> "attr1' is not used to build the DN in "dest-ldap", these values are
>> computed in a way I can't neither predict nor reproduce. But it shouldn't
>> be a problem, as I'm not creating anything, should it ?
>>
>> Only records with matching "uid/attr1" values should (and can) be synced,
>> so I followed your advice and set conditions preventing LSC from populating
>> "dest-ldap".
>>
>> If I run LSC in dry run mode, it shows me what he plans to update but
>> when I launch it for real, it doesn't find anything to sync (oct. 22
>> 16:00:07 - INFO  - All entries: 1, to modify entries: 0, successfully
>> modified entries: 0, errors: 0)
>>
>> Of course, the credentials I use on "dest-ldap" allow me to
>> read/update/create/delete, I checked this with an ldap editor.
>>
>> Can you help me find what's wrong with my parameters ?
>>
>> Regards
>>
>>
>>
>>         <task>
>>                         <name>MyTask</name>
>>                         <bean>org.lsc.beans.SimpleBean</bean>
>>
>>                         <asyncLdapSourceService>
>>                                 <name>source-service</name>
>>                                 <connection reference="ref-ldap" />
>>                                 <baseDn>(not a </baseDn>
>>                                 <pivotAttributes>
>>                                         <string>uid</string>
>>                                 </pivotAttributes>
>>                                 <fetchedAttributes>
>>                                         <string>codecivilite</string>
>>                                         <string>cn</string>
>>                                         <string>mail</string>
>>                                         <string>givenName</string>
>>                                         <string>sn</string>
>>                                         <string>uid</string>
>>                                         <string>location</string>
>>                                 </fetchedAttributes>
>>
>> <getAllFilter>(&amp;(objectClass=person))</getAllFilter>
>>
>> <getOneFilter>(&amp;(objectClass=person)(uid={uid}))</getOneFilter>
>>                                 <serverType>OracleDS</serverType>
>>                         </asyncLdapSourceService>
>>
>>                         <ldapDestinationService>
>>                                 <name>dst-service</name>
>>                                 <connection reference="dest-ldap"/>
>>                                 <baseDn>BASE_DN</baseDn>
>>                                 <pivotAttributes>
>>                                         <string>attr1</string>
>>                                 </pivotAttributes>
>>                                 <fetchedAttributes>
>>                                         <string>attr1</string>
>>                                         <string>localisationDesc</string>
>>                                         <string>displayName</string>
>>                                         <string>displayGn</string>
>>                                         <string>mail</string>
>>                                         <string>type</string>
>>                                 </fetchedAttributes>
>>
>> <getAllFilter>(&amp;(objectClass=peopleRecord))</getAllFilter>
>>
>> <getOneFilter>(&amp;(objectClass=peopleRecord)(attr1={attr1}))</getOneFilter>
>>                         </ldapDestinationService>
>>
>>                         <propertiesBasedSyncOptions>
>>
>> <mainIdentifier>"nothing="+srcBean.getDatasetFirstValueById("uid")</mainIdentifier>
>>                                 <defaultDelimiter>;</defaultDelimiter>
>>                                 <defaultPolicy>FORCE</defaultPolicy>
>>
>>                                 <conditions>
>>                                         <create>false</create>
>>                                         <update>true</update>
>>                                         <delete>false</delete>
>>                                         <changeId>false</changeId>
>>                                 </conditions>
>>
>>                                 <dataset>
>>                                                 <name>sn</name>
>>                                                 <policy>FORCE</policy>
>>                                                 <forceValues>
>>
>> <string>srcBean.getDatasetFirstValueById("uid")</string>
>>                                                 </forceValues>
>>                                 </dataset>
>>
>>                                 <dataset>
>>                                                 <name>displayGn</name>
>>                                                 <policy>FORCE</policy>
>>                                                 <forceValues>
>>
>> <string>srcBean.getDatasetFirstValueById("givenName")</string>
>>                                                 </forceValues>
>>                                 </dataset>
>>
>>                                 <dataset>
>>                                                 <name>displayName</name>
>>                                                 <policy>FORCE</policy>
>>                                                 <forceValues>
>>
>> <string>srcBean.getDatasetFirstValueById("sn")</string>
>>                                                 </forceValues>
>>                                 </dataset>
>>
>>                                 <dataset>
>>
>> <name>localisationDesc</name>
>>                                                 <policy>FORCE</policy>
>>                                                 <forceValues>
>>
>> <string>srcBean.getDatasetFirstValueById("location")</string>
>>                                                 </forceValues>
>>                                 </dataset>
>>
>>                                 <dataset>
>>                                                 <name>mail</name>
>>                                                 <policy>FORCE</policy>
>>                                                 <forceValues>
>>
>> <string>srcBean.getDatasetFirstValueById("mail")</string>
>>                                                 </forceValues>
>>                                 </dataset>
>>
>>                                 <dataset>
>>                                                 <name>type</name>
>>                                                 <policy>FORCE</policy>
>>                                                 <forceValues>
>>
>> <string>srcBean.getDatasetFirstValueById("codecivilite")</string>
>>                                                 </forceValues>
>>                                 </dataset>
>>                         </propertiesBasedSyncOptions>
>>         </task>
>>
>>
>
> Try to replace:
>
>
>
> <getOneFilter>(&amp;(objectClass=peopleRecord)(attr1={attr1}))</getOneFilter>
>
> by:
>
> <getOneFilter>(&amp;(objectClass=peopleRecord)(attr1={uid}))</getOneFilter>
>
>
>
> Clément.
>
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
lsc-users@lists.lsc-project.org
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to