Issue #662 has been updated by Clément OUDOT.

Target version set to 2.0.4


----------------------------------------
Bug #662: NoSuchElementException thrown by 
LscAttributes.getStringValueAttribute() method
http://tools.lsc-project.org/issues/662

Author: Manuel BOSSANT
Status: New
Priority: Normal
Assigned to: 
Category: Core
Target version: 2.0.4
Problem in version: 2.0.3


   I noticed that when I use LSC 2.0.3 to synchronize JDBC (Oracle) source to 
LDAP (OpenLDAP) destination is asynchronous mode it fails as soon as one of the 
result column in JDBC contains a NULL value. The offending code is in 
LscAttributes class, in method getStringValueAttribute. I have added the check 
on set size (&& ((Set)value).size() == 1) to avoid throwing a 
NoSuchElementException:

        @SuppressWarnings("rawtypes")
        public String getStringValueAttribute(String attribute) {
                Object value = values.get(attribute);
                if(value instanceof Set && ((Set)value).size() == 1) {
                        return ((Set)value).iterator().next().toString();
                } else if(value instanceof List){
                        return ((List)value).get(0).toString();
                }
                return value != null ? value.toString() : null;
        }


I tried to use nullValue attribute (set to empty string "") in iBatis XML 
configuration file but it still considers the attribute as an empty Set.



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://tools.lsc-project.org/my/account
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

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

Reply via email to