I have trouble with javascript/groovy. I want to filter users from one
group like this:
in group1 should be users whose employeeNumber is null(not defined) or
begins with letter AM (for example: AM11212211)
in group2 should be users whose employeeNumber is only numbers (for
example: 1234 or 123 or 12 or 1)

I think this should be in <MainIdentifier>

When i try I get this error:

Apr 14 14:49:49 - ERROR - javax.script.ScriptException:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup
failed:
Script5.groovy: 3: unexpected token: ) @ line 3, column 36.
                                if (kategorijaStudentas == AM* ) {
                                      ^

Apr 14 14:49:50 - ERROR - javax.script.ScriptException:
javax.script.ScriptException: groovy.lang.MissingMethodException: No
signature of method:
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.var() is applicable for
argument types: (java.lang.String) values: [1011]


My code:

<task>
            <name>Studentai-ldap2ad</name>
            <bean>org.lsc.beans.SimpleBean</bean>
            <ldapSourceService>
                <name>openldap-source-service</name>
                <connection reference="ldap-src-conn" />
                <baseDn>dc=src,dc=src</baseDn>
                <pivotAttributes>
                    <string>uid</string>
                </pivotAttributes>
                <fetchedAttributes>
                    <string>cn</string>
                    <string>uid</string>
                    <string>departmentNumber</string>
                    <string>givenName</string>
                    <string>mail</string>
                    <string>employeeNumber</string>
                    <string>objectClass</string>
                    <string>sn</string>
                    <string>title</string>
                </fetchedAttributes>

<getAllFilter><![CDATA[(objectClass=inetOrgPerson)]]></getAllFilter>

<getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={uid}))]]></getOneFilter>

<cleanFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={uid}))]]></cleanFilter>
            </ldapSourceService>
            <ldapDestinationService>
                <name>ad-dst-service</name>
                <connection reference="ldap-dst-conn" />
                <baseDn>dc=dst,dc=dst</baseDn>
                <pivotAttributes>
                    <string>sAMAccountName</string>
                </pivotAttributes>
                <fetchedAttributes>
                    <string>cn</string>
                    <string>name</string>
                    <string>displayName</string>
                    <string>sAMAccountName</string>
                    <string>department</string>
                    <string>employeeID</string>
                    <string>givenName</string>
                    <string>mail</string>
                    <string>objectClass</string>
                    <string>sn</string>
                    <string>title</string>
                    <string>userAccountControl</string>
                </fetchedAttributes>

<getAllFilter><![CDATA[(objectClass=inetOrgPerson)]]></getAllFilter>

<getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(sAMAccountName={uid}))]]></getOneFilter>
            </ldapDestinationService>
            <propertiesBasedSyncOptions>
                <mainIdentifier><![CDATA[gr:
                var kategorijaStudentas =
srcBean.getDatasetFirstValueById("employeeNumber")
                if (kategorijaStudentas = AM* ) {
                    kategorijaStudentas = Studentas;
                } if (kategorijaStudentas = "") {
                    kategorijaStudentas =Studentas2;
                }
                    kategorijaStudentas
                    ]]></mainIdentifier>
                <defaultDelimiter>;</defaultDelimiter>
                <defaultPolicy>FORCE</defaultPolicy>
                <conditions>
                    <create>true</create>
                    <update>true</update>
                    <delete>true</delete>
                    <changeId>true</changeId>
                </conditions>
                <dataset>
                <name>objectClass</name>
                <policy>KEEP</policy>
                <forceValues>
                    <string>"person"</string>
                    <string>"inetOrgPerson"</string>
                    <string>"top"</string>
                </forceValues>
                </dataset>
                <dataset>
                    <name>name</name>
                    <policy>KEEP</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("cn")</string>
                    </forceValues>
                </dataset>
                <dataset>
                    <name>displayName</name>
                    <policy>KEEP</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("cn")</string>
                    </forceValues>
                </dataset>
                <dataset>
                    <name>userAccountControl</name>
                    <policy>KEEP</policy>
                    <forceValues>
                        <string>AD.userAccountControlSet( "0", [
AD.UAC_SET_PASSWD_NOTREQD,
        AD.UAC_SET_NORMAL_ACCOUNT ])</string>
                    </forceValues>
                </dataset>
                <dataset>
                    <name>sAMAccountName</name>
                    <policy>KEEP</policy>
                    <createValues>

<string>srcBean.getDatasetFirstValueById("uid")</string>
                    </createValues>
                </dataset>
                    <dataset>
                    <name>department</name>
                    <policy>FORCE</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("departmentNumber")</string>
                    </forceValues>
                </dataset>
                    <dataset>
                    <name>employeeID</name>
                    <policy>FORCE</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("employeeNumber")</string>
                    </forceValues>
                </dataset>
            </propertiesBasedSyncOptions>
        </task>
        <task>
            <name>Darbuotojai-ldap2ad</name>
            <bean>org.lsc.beans.SimpleBean</bean>
            <ldapSourceService>
                <name>openldap-source-service2</name>
                <connection reference="ldap-src-conn" />
                <baseDn>dc=src,dc=src</baseDn>
                <pivotAttributes>
                    <string>uid</string>
                </pivotAttributes>
                <fetchedAttributes>
                    <string>cn</string>
                    <string>uid</string>
                    <string>departmentNumber</string>
                    <string>givenName</string>
                    <string>mail</string>
                    <string>employeeNumber</string>
                    <string>objectClass</string>
                    <string>sn</string>
                    <string>title</string>
                </fetchedAttributes>

<getAllFilter><![CDATA[(objectClass=inetOrgPerson)]]></getAllFilter>

<getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={uid}))]]></getOneFilter>

<cleanFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid={uid}))]]></cleanFilter>
            </ldapSourceService>
            <ldapDestinationService>
                <name>ad-dst-service2</name>
                <connection reference="ldap-dst-conn" />
                <baseDn>dc=dst,dc=dst</baseDn>
                <pivotAttributes>
                    <string>sAMAccountName</string>
                </pivotAttributes>
                <fetchedAttributes>
                    <string>cn</string>
                    <string>name</string>
                    <string>displayName</string>
                    <string>sAMAccountName</string>
                    <string>department</string>
                    <string>employeeID</string>
                    <string>givenName</string>
                    <string>mail</string>
                    <string>objectClass</string>
                    <string>sn</string>
                    <string>title</string>
                    <string>userAccountControl</string>
                </fetchedAttributes>

<getAllFilter><![CDATA[(objectClass=inetOrgPerson)]]></getAllFilter>

<getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(sAMAccountName={uid}))]]></getOneFilter>
            </ldapDestinationService>
            <propertiesBasedSyncOptions>
                <mainIdentifier><![CDATA[gr:
                var kategorija =
srcBean.getDatasetFirstValueById("employeeNumber")
                if (kategorija>=1) {
                    kategorija=Darbuotojas;
                }
                    kategorija
                    ]]>
                </mainIdentifier>
                <defaultDelimiter>;</defaultDelimiter>
                <defaultPolicy>FORCE</defaultPolicy>
                <conditions>
                    <create>true</create>
                    <update>true</update>
                    <delete>true</delete>
                    <changeId>true</changeId>
                </conditions>
                <dataset>
                <name>objectClass</name>
                <policy>KEEP</policy>
                <forceValues>
                    <string>"person"</string>
                    <string>"inetOrgPerson"</string>
                    <string>"top"</string>
                </forceValues>
                </dataset>
                <dataset>
                    <name>name</name>
                    <policy>KEEP</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("cn")</string>
                    </forceValues>
                </dataset>
                <dataset>
                    <name>displayName</name>
                    <policy>KEEP</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("cn")</string>
                    </forceValues>
                </dataset>
                <dataset>
                    <name>userAccountControl</name>
                    <policy>KEEP</policy>
                    <forceValues>
                        <string>AD.userAccountControlSet( "0", [
AD.UAC_SET_PASSWD_NOTREQD,
        AD.UAC_SET_NORMAL_ACCOUNT ])</string>
                    </forceValues>
                </dataset>
                <dataset>
                    <name>sAMAccountName</name>
                    <policy>KEEP</policy>
                    <createValues>

<string>srcBean.getDatasetFirstValueById("uid")</string>
                    </createValues>
                </dataset>
                    <dataset>
                    <name>department</name>
                    <policy>FORCE</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("departmentNumber")</string>
                    </forceValues>
                </dataset>
                    <dataset>
                    <name>employeeID</name>
                    <policy>FORCE</policy>
                    <forceValues>

<string>srcBean.getDatasetFirstValueById("employeeNumber")</string>
                    </forceValues>
                </dataset>
            </propertiesBasedSyncOptions>
        </task>

    </tasks>
_______________________________________________________________
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