On Thu, Feb 1, 2018 at 6:57 PM, Clément OUDOT <[email protected]> wrote:
> Hello,
>
> if this can help, I have a small script that I use in LSC to convert
> group of groups from AD to a flatten group in OpenLDAP.
>
Thanks, this looks promising.
I've plaved the js function right above the other js code in the
dataset section, is that correct?
> The javascript method is:
>
> // Return members DN
> function getMembersDn(srcLdap, dstLdap, dn) {
> var result = new java.util.ArrayList();;
>
> if ( dn.match(/ou=groupes/i) ) {
>
> // Browse group to find members
> var membersDn = new java.util.ArrayList();;
> try {
> membersDn = srcLdap.attribute(dn, "member");
> } catch(e) {
> return result;
> }
>
> for (var i=0; i<membersDn.size(); i++) {
> var memberDn = membersDn.get(i);
> result.addAll( getMembersDn(srcLdap,dstLdap,memberDn)
> );
> }
> }
>
> else {
>
> var uid = "";
> try {
> uid = srcLdap.attribute(dn, "sAMAccountName").get(0);
> } catch(e) {
> return result;
> }
>
> var destDn = dstLdap.search("ou=utilisateurs", "(uid="
> + uid + ")");
> if (destDn.size() == 0 || destDn.size() > 1) {
> return result;
> }
> var destMemberDn = destDn.get(0) + "," +
> dstLdap.getContextDn();
> result.add(destMemberDn);
> }
>
> return result;
> }
>
>
>
> And you call it for example :
>
> <dataset>
> <name>member</name>
> <policy>FORCE</policy>
> <forceValues>
> <string>
> <![CDATA[js:
> var membersSrcDn = srcBean.getDatasetValuesById("member");
> var membersDstDn = new java.util.ArrayList();
> for (var i=0; i<membersSrcDn.size(); i++) {
> var memberSrcDn = membersSrcDn.get(i);
> membersDstDn.addAll( getMembersDn(srcLdap,
> ldap, memberSrcDn) );
> }
> if ( membersDstDn.size() == 0) {
> membersDstDn.add("cn=empty");
> }
> membersDstDn
> ]]>
> </string>
> </forceValues>
> </dataset>
I'm getting the following error:
Feb 01 17:12:21 - ERROR - Error while synchronizing ID {cn=[GroupA]}:
org.lsc.exception.LscServiceException: javax.script.ScriptException:
ReferenceError: "ldap" is not defined in nashorn:mozilla_compat.js at
line number 67
>
>
> Clément.
> _______________________________________________________________
> Ldap Synchronization Connector (LSC) - http://lsc-project.org
>
> lsc-users mailing list
> [email protected]
> https://lists.lsc-project.org/cgi-bin/mailman/listinfo/lsc-users
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
https://lists.lsc-project.org/cgi-bin/mailman/listinfo/lsc-users