Sure. How about data sources though? are there any standard sources that I need 
to base this on? Otherwise, here is the task part of the config that syncs from 
one OpenLDAP to another.

    <task>
      <name>task2to1</name>
      <bean>org.lsc.beans.SimpleBean</bean>
      <ldapSourceService>
        <name>src-service</name>
        <connection reference=“srv2" />
        <baseDn>o=Org</baseDn>
        <pivotAttributes>
          <string>mail</string>
        </pivotAttributes>
        <fetchedAttributes>
          <string>cn</string>
          <string>sn</string>
          <string>objectClass</string>
          <string>mail</string>
        </fetchedAttributes>
        <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
        
<getOneFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</getOneFilter>
        
<cleanFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</cleanFilter>
      </ldapSourceService>
      <ldapDestinationService>
        <name>dst-service</name>
        <connection reference=“srv1" />
        <baseDn>ou=Org,dc=Uni,dc=de</baseDn>
        <pivotAttributes>
          <string>mail</string>
        </pivotAttributes>
        <fetchedAttributes>
          <string>cn</string>
          <string>sn</string>
          <string>objectClass</string>
          <string>mail</string>
        </fetchedAttributes>
        <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
        
<getOneFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</getOneFilter>
      </ldapDestinationService>
      <propertiesBasedSyncOptions>
        <mainIdentifier>srcBean.getMainIdentifier().replace(",o=Org","") + 
",ou=Org,dc=Uni,dc=de"</mainIdentifier>
        <defaultDelimiter>;</defaultDelimiter>
        <defaultPolicy>FORCE</defaultPolicy>
      </propertiesBasedSyncOptions>
    </task>

Hope this helps!
Marian

> On 15. Dec 2014, at 12:50, Clément OUDOT <[email protected]> wrote:
> 
> 
> 
> 2014-12-15 12:25 GMT+01:00 Marian Harbach <[email protected] 
> <mailto:[email protected]>>:
> Hi Clement,
> 
> I finally came around to look at this again. The issue seems to be that the 
> mainIdentifier javascript is applied twice during modification checking in 
> the BeanComparator. This patch fixes the problem for me:
> 
> Index: BeanComparator.java
> ===================================================================
> --- BeanComparator.java       (revision 2025)
> +++ BeanComparator.java       (working copy)
> @@ -158,7 +158,7 @@
>               IBean itmBean = cloneSrcBean(task, srcBean, dstBean);
>  
>               // get modification type to perform
> -             LscModificationType modificationType = 
> calculateModificationType(task, itmBean, dstBean);
> +             LscModificationType modificationType = 
> calculateModificationType(task, srcBean, dstBean);
>  
>               // if there's nothing to do, just return
>               if (modificationType == null) {
> 
> calculateModificationType() clones the srcBean parameter again and in the 
> current version the already-cloned itmBean is passed in. Thus, in 
> calculateModifications, the DN is modified twice and fails the equals check, 
> causing the modrdn modification type. Can somebody verify this?
> 
> 
> 
> 
> Could you send us a minimal configuration that reproduces the problem?
> 
> 
> Clément. 

-- 
Marian Harbach
Research Associate
Distributed Computing and Security Group
Leibniz Universität Hannover
Schloßwender Str. 5, 30159 Hannover, Germany
Tel. +49 (0) 511 762 79 9038

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to