[midPoint] ScriptedSQL update attributes
Rodrigo Yanis
ryanis at identicum.com
Thu Jul 6 18:05:05 CEST 2017
Hello Wojciech,
Have you tried something like this?
*attributes?.get("n_family")?.get(0);*
Regards,
*Rodrigo Yanis.*
Identicum S.A.
Jorge Newbery 3226
Tel: +54 (11) 4552-3050
ryanis at identicum.com
www.identicum.com
2017-07-06 12:23 GMT-03:00 Wojciech Staszewski <
wojciech.staszewski at diagnostyka.pl>:
> Hello!
>
> I have a resource with ScriptedSQL 1.1.2.0-em3 connector.
>
> It worked ok, but from a certain date it gives me an error during
> attibutes update:
>
> switch ( action ) {
>
> case "UPDATE":
> switch ( objectClass ) {
> case "__ACCOUNT__":
> for (attr in accountAttrNames) {
> if (attributes.get(attr) != null) {
> switch (attr) {
> case "n_family":
> def family = attributes.get(attr)?.get(0).
> toString();
> sql.executeUpdate("UPDATE egw_addressbook SET
> n_family=? WHERE account_id=?",[family,uid]);
> break;
> [...]
>
>
>
>
> Outbound mapping:
>
> <attribute>
> <c:ref>ri:n_family</c:ref>
> <outbound>
> <authoritative>true</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <source>
> <c:path>familyName</c:path>
> </source>
> </outbound>
> </attribute>
>
>
>
> The ERROR:
> ERROR (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil):
> ConnId Exception java.lang.IndexOutOfBoundsException in
> connector:97d430f1-d2b0-4487-b60b-4905dc76d2ca(ICF org.forgerock.openicf.
> connectors.scriptedsql.ScriptedSQLConnector v1.1.2.0.em3):
> ConnectorSpec(resource:d7a1b38c-07db-42cc-b173-664b6e317871(EGroupWare),
> name=null, oid=97d430f1-d2b0-4487-b60b-4905dc76d2ca) while updating
> object identified by ConnId UID '1020': Index: 0, Size: 0
> ERROR (com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl):
> Couldn't modify object: unexpected problem: java.lang.IndexOutOfBoundsException:
> Index: 0, Size: 0
> ERROR (com.evolveum.midpoint.model.impl.lens.ChangeExecutor): Error
> executing changes for (account (default) on resource:d7a1b38c-07db-42cc-
> b173-664b6e317871(EGroupWare)): Internal error: java.lang.IndexOutOfBoundsException:
> Index: 0, Size: 0
>
> The value of "n_family" is NULL, although "familyName" of midPoint's user
> is not null.
>
> I tried this (sorry, I'm not a developer):
>
> def family = attributes.get(attr)?.get(0).toString();
> def family = attributes?.get(attr)?.get(0).toString();
> def family = attributes.get(attr)?.get(0);
> def family = attributes?.get(attr)?.get(0);
> def family = attributes.get(attr)?.find { true };
>
> as in the example: https://github.com/Evolveum/
> midpoint/blob/master/samples/resources/scriptedsql/CreateScript.groovy
>
> all with the same result, that means NULL. What is the correct working
> syntax?
>
> Thanks a lot,
> Regards,
> Wojciech Staszewski.
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20170706/6783b976/attachment.htm>
More information about the midPoint
mailing list