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