[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