[midPoint] Issue with simple inbound mapping.

Deepak Natarajan dnataraj at trilobytesystems.com
Tue Aug 26 11:35:31 CEST 2014


Hi -

I find some simple inbound mapping behaving inconsistently (I'm
obviously doing something wrong)

My source feed (CSV) :

                <icfccsvfile:encoding>utf-8</icfccsvfile:encoding>
                <icfccsvfile:valueQualifier>"</icfccsvfile:valueQualifier>
                <icfccsvfile:fieldDelimiter>;</icfccsvfile:fieldDelimiter>
               
<icfccsvfile:multivalueDelimiter>,</icfccsvfile:multivalueDelimiter>
               
<icfccsvfile:usingMultivalue>false</icfccsvfile:usingMultivalue>
               
<icfccsvfile:uniqueAttribute>id</icfccsvfile:uniqueAttribute>

"id";"encoded-attributes"
"foo";"3AARpkJyaXR0YalSYXNtdXN"

and my mappings :

                <attribute>
                    <ref>icfs:uid</ref>
                    <limitations>
                        <access>
                            <read>true</read>
                        </access>
                    </limitations>
                </attribute>

                <attribute>
                    <ref>icfs:name</ref>
                    <inbound>
                        <c:expression>
                            <c:script>
                                <c:code>
                                    input + '-suffix'
                                </c:code>
                            </c:script>
                        </c:expression>
                        <target>
                            <path>$user/name</path>
                        </target>
                    </inbound>
                </attribute>

                <attribute>
                    <ref>ri:encoded-attributes</ref>
                    <inbound>
                        <source>
                            <name>encodedAttrs</name>
                           
<path>$account/attributes/ri:encoded-attributes</path>
                        </source>
                        <source>
                            <name>id</name>
                            <path>$account/attributes/ri:id</path>
                        </source>
                        ....
                        ....
                    </inbound>

Is this incorrect?
 
The thing is, I have used this configuration before, without any
changes, and it used to work. Today it fails (my VCS system shows my
working version had these mappings)

Caused by:
com.evolveum.midpoint.util.exception.ExpressionEvaluationException:
java.lang.NullPointerException expression in mapping in inbound
expression for
{http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}encoded-attributes
in resource:036f0100-2fe8-49e1-a8fd-5548374f8703(APOS CSV Feeder
Resource Definition)({.../common/common-3}input=null;
{.../common/common-3}id=null;
{.../common/common-3}encodedAttrs=PPV(String:3AARpkJyaXR0YalSYXNtdXN );
) in expression in mapping in inbound expression for
{http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}encoded-attributes
in resource:036f0100-2fe8-49e1-a8fd-5548374f8703(APOS CSV Feeder
Resource Definition)

Why is "input" implicit variable and id both null?

Thanks for any help!

-
Deepak Natarajan




More information about the midPoint mailing list