Title: Samsung Enterprise Portal mySingle

Hi,

I am using LSC to migrate data from ApacheDS to Mysql database.

I am using Apache Direstory Studio version 2.0.0, ApacheDS server 2.0.0-M17, Mysql 5.6.

 

The following is my configuration in lsc.xml file.

<?xml version="1.0" ?>
    <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd" revision="0">

    <connections>

        <ldapConnection>
            <name>ldap-conn</name>
            <url>ldap://107.108.219.17:10389/dc=samsung,dc=com</url>
            <username>uid=admin,ou=system</username>
            <password>secret</password>
            <authentication>SIMPLE</authentication>
            <referral>IGNORE</referral>
            <derefAliases>NEVER</derefAliases>
            <version>VERSION_3</version>
            <pageSize>-1</pageSize>
            <factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
            <tlsActivated>false</tlsActivated>
       </ldapConnection>

       <databaseConnection>
           <name>mysql-conn</name>
           <url>jdbc:mysql://localhost:3306/users</url>
           <username>root</username>
           <password>root</password>
           <driver>com.mysql.jdbc.Driver</driver>
      </databaseConnection>

    </connections>

 <tasks>
  <task>
   <name>insert</name>
   <bean>org.lsc.beans.SimpleBean</bean>
   <ldapSourceService>
    <name>ldap-insert-service</name>
    <connection reference="ldap-conn" />
    <baseDn>ou=ES,ou=people,dc=samsung,dc=com</baseDn>
    <pivotAttributes>
     <string>mail</string>
    </pivotAttributes>
    <fetchedAttributes>
     <string>cn</string>
     <string>sn</string>
     <string>mobile</string>
     <string>uid</string>
     <string>mail</string>
    </fetchedAttributes>
    <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
    <getOneFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</getOneFilter>
    <cleanFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</cleanFilter>
   </ldapSourceService>

   <databaseDestinationService>
    <name>mysql-insert-service</name>
    <connection reference="mysql-conn" />
    <requestNameForList>getPersonList</requestNameForList>
    <requestNameForObject>getPerson</requestNameForObject>
    <requestsNameForInsert>
     <string>insertPerson</string>
    </requestsNameForInsert>
    <requestsNameForUpdate>
     <string>updatePerson</string>
    </requestsNameForUpdate>
    <requestsNameForDelete>
     <string>deletePerson</string>
    </requestsNameForDelete>
   </databaseDestinationService>
   
   <propertiesBasedSyncOptions>
    <mainIdentifier>"mail="+srcBean.getDatasetFirstValueById("mail") + ",ou=ES,ou=people,dc=samsung,dc=com"</mainIdentifier>
    <defaultDelimiter>;</defaultDelimiter>
    <defaultPolicy>FORCE</defaultPolicy>
    <conditions>
     <create>true</create>
     <update>false</update>
     <delete>false</delete>
     <changeId>false</changeId>
    </conditions>
   </propertiesBasedSyncOptions>
  </task>
  
  <task>
   <name>update</name>
   <bean>org.lsc.beans.SimpleBean</bean>
   <ldapSourceService>
    <name>ldap-update-service</name>
    <connection reference="ldap-conn" />
    <baseDn>ou=ES,ou=people,dc=samsung,dc=com</baseDn>
    <pivotAttributes>
     <string>mail</string>
    </pivotAttributes>
    <fetchedAttributes>
     <string>cn</string>
     <string>sn</string>
     <string>mobile</string>
     <string>uid</string>
     <string>mail</string>
    </fetchedAttributes>
    <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
    <getOneFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</getOneFilter>
    <cleanFilter>(&amp;(objectClass=inetOrgPerson)(mail={mail}))</cleanFilter>
   </ldapSourceService>

   <databaseDestinationService>
    <name>mysql-update-service</name>
    <connection reference="mysql-conn" />
    <requestNameForList>getPersonList</requestNameForList>
    <requestNameForObject>getPerson</requestNameForObject>
    <requestsNameForInsert>
     <string></string>
    </requestsNameForInsert>
    <requestsNameForUpdate>
     <string>updatePerson</string>
    </requestsNameForUpdate>
    <requestsNameForDelete>
     <string></string>
    </requestsNameForDelete>
   </databaseDestinationService>
   
   <propertiesBasedSyncOptions>
    <mainIdentifier>"mail="+srcBean.getDatasetFirstValueById("mail")</mainIdentifier>
    <defaultDelimiter>;</defaultDelimiter>
    <defaultPolicy>FORCE</defaultPolicy>
    <conditions>
     <update>true</update>
     <changeId>false</changeId>
    </conditions>
    <dataset>
     <name>objectClass</name>
     <policy>KEEP</policy>
     <createValues>
      <string>"inetOrgPerson"</string>
      <string>"organizationalPerson"</string>
      <string>"person"</string>
      <string>"top"</string>
     </createValues>
    </dataset>
    <dataset>
     <name>mobile</name>
     <policy>FORCE</policy>
     <forceValues>
      <string>"mobile="+srcBean.getDatasetFirstValueById("mobile")</string>
     </forceValues>
    </dataset>
   </propertiesBasedSyncOptions>
  </task>  
 </tasks>
</lsc>

I have ApacheDS server and mysql running on my local machine.

When I run this task using the following command line argument, D:\lsc-2.1.1\bin>lsc -f D:\LSC\adtomysql -s insert, it inserts all users into mysql. Also when I run this task whenever I add any new user, the new user gets synced with mysql.

 

But Whenever I update any attributes in ApacheDS (lets say I updated mobile), this update doesn't get synced to mysql.

Can someone look at my lsc.xml and point out what the problem is?

 

I have attached all configuration files lsc.xml InetOrgPerson.xml, logback.xml and sql-map-config.xml with this mail for reference.

 

On mysql side, I have the following table.

create table users (

     uid varchar(50) null,

     cn varchar(50) null,

     sn varchar(50) null,

     mail varchar(50) null,

     mobile varchar(50) null

);

 

Any help is highly appreciated.

 

Thanks &Regards

ManiChandraKant

 

Attachment: logback.xml
Description: Binary data

Attachment: lsc.xml
Description: Binary data

Attachment: sql-map-config.xml
Description: Binary data

Attachment: InetOrgPerson.xml
Description: Binary data

_______________________________________________________________
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