[midPoint] Parsing Dates in Inbound Mapping

Mencel, Matt mr-mencel at wiu.edu
Tue Aug 23 20:26:33 CEST 2016


I tried it like this....

          <inbound>
            <target>
              <path>$user/extension/birthDate</path>
            </target>
            <expression>
              <script>
                <language>
http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy
</language>
                <code>
XMLGregorianCalendar(Date.parse('yyyymmdd', input))
</code>
              </script>
            </expression>
          </inbound>
        </attribute>

I'm still getting Java errors (see below).  I'll can just switch it back to
a string type and not worry about it.

Thanks,
Matt




2016-08-23 13:21:42,247 [] [midPointScheduler_Worker-8] ERROR
(com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl):
SYNCHRONIZATION: Error in synchronization on
resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS) for situation
LINKED: ExpressionEvaluationException: groovy.lang.MissingMethodException:
No signature of method:
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.XMLGregorianCalendar() is
applicable for argument types: (java.util.Date) values: [Sat Jan 05
00:04:00 CST 1985] expression in mapping in inbound expression for {
http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate in
resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV
TEADVS)({.../common/common-3}input=PPV(String:19850405); ) in expression in
mapping in inbound expression for {
http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate in
resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS). Change was
ResourceObjectShadowChangeDescription(objectDelta=ObjectDelta(ShadowType:4c7c2ce9-9041-46da-b8c3-a57be022ce18,ADD:
shadow:4c7c2ce9-9041-46da-b8c3-a57be022ce18(902073705)),
currentShadow=shadow:4c7c2ce9-9041-46da-b8c3-a57be022ce18(902073705),
oldShadow=null, sourceChannel=
http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#import,
resource=resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS))
com.evolveum.midpoint.util.exception.ExpressionEvaluationException:
groovy.lang.MissingMethodException: No signature of method:
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.XMLGregorianCalendar() is
applicable for argument types: (java.util.Date) values: [Sat Jan 05
00:04:00 CST 1985] expression in mapping in inbound expression for {
http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate in
resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV
TEADVS)({.../common/common-3}input=PPV(String:19850405); ) in expression in
mapping in inbound expression for {
http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate in
resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:425)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:352)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:367)
~[util-3.4.jar:na]
        at
com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:357)
~[util-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluateRelativeExpression(AbstractValueTransformationExpressionEvaluator.java:442)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluate(AbstractValueTransformationExpressionEvaluator.java:114)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.Expression.evaluate(Expression.java:133)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.mapping.Mapping.evaluateExpression(Mapping.java:985)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.mapping.Mapping.evaluate(Mapping.java:520)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.MappingEvaluator.evaluateMapping(MappingEvaluator.java:95)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.evaluateInboundMapping(InboundProcessor.java:490)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInboundExpressionsForProjection(InboundProcessor.java:319)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInboundFocal(InboundProcessor.java:186)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInbound(InboundProcessor.java:128)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.FocusProcessor.processFocusFocus(FocusProcessor.java:212)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.FocusProcessor.processFocus(FocusProcessor.java:146)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.Projector.projectInternal(Projector.java:208)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.projector.Projector.project(Projector.java:106)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.Clockwork.click(Clockwork.java:302)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.lens.Clockwork.run(Clockwork.java:214)
~[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.reactToChange(SynchronizationServiceImpl.java:766)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:299)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ChangeNotificationDispatcherImpl.notifyChange(ChangeNotificationDispatcherImpl.java:148)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.sync.SynchronizeAccountResultHandler.handleObjectInternal(SynchronizeAccountResultHandler.java:203)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.sync.SynchronizeAccountResultHandler.handleObject(SynchronizeAccountResultHandler.java:128)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeResultHandler.processRequest(AbstractSearchIterativeResultHandler.java:327)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeResultHandler.handle(AbstractSearchIterativeResultHandler.java:189)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl$4.handle(ProvisioningServiceImpl.java:1184)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ShadowCache$2.handle(ShadowCache.java:831)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter$3.handle(ResourceObjectConverter.java:1102)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl$2.handle(ConnectorInstanceIcfImpl.java:2316)
[provisioning-impl-3.4.jar:na]
        at
org.identityconnectors.framework.impl.api.SearchResultsHandlerLoggingProxy.handle(SearchResultsHandlerLoggingProxy.java:64)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
        at
org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
        at
org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
        at
org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
        at com.sun.proxy.$Proxy169.search(Unknown Source) [na:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.8.0_101]
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_101]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_101]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
        at
org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:83)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
        at com.sun.proxy.$Proxy169.search(Unknown Source) [na:na]
        at
org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:177)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
        at
com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.search(ConnectorInstanceIcfImpl.java:2412)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter.searchResourceObjects(ResourceObjectConverter.java:1112)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:838)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:763)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.searchObjectsIterative(ProvisioningServiceImpl.java:1232)
[provisioning-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.ModelObjectResolver.searchIterative(ModelObjectResolver.java:224)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeTaskHandler.runInternal(AbstractSearchIterativeTaskHandler.java:239)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeTaskHandler.run(AbstractSearchIterativeTaskHandler.java:155)
[model-impl-3.4.jar:na]
        at
com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:479)
[task-quartz-impl-3.4.jar:na]
        at
com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeSingleTask(JobExecutor.java:300)
[task-quartz-impl-3.4.jar:na]
        at
com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:164)
[task-quartz-impl-3.4.jar:na]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
[quartz-2.1.3.jar:na]
        at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
[quartz-2.1.3.jar:na]
Caused by:
com.evolveum.midpoint.util.exception.ExpressionEvaluationException:
groovy.lang.MissingMethodException: No signature of method:
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.XMLGregorianCalendar() is
applicable for argument types: (java.util.Date) values: [Sat Jan 05
00:04:00 CST 1985] expression in mapping in inbound expression for {
http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate in
resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)
        at
com.evolveum.midpoint.model.common.expression.script.jsr223.Jsr223ScriptEvaluator.evaluate(Jsr223ScriptEvaluator.java:119)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.script.ScriptExpression.evaluate(ScriptExpression.java:111)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.script.ScriptExpressionEvaluator.transformSingleValue(ScriptExpressionEvaluator.java:60)
~[model-common-3.4.jar:na]
        at
com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:422)
~[model-common-3.4.jar:na]
        ... 55 common frames omitted
Caused by: javax.script.ScriptException:
groovy.lang.MissingMethodException: No signature of method:
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.XMLGregorianCalendar() is
applicable for argument types: (java.util.Date) values: [Sat Jan 05
00:04:00 CST 1985]
        at
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:347)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:41)
~[groovy-all-2.4.0.jar:2.4.0]
        at javax.script.CompiledScript.eval(CompiledScript.java:92)
~[na:1.8.0_101]
        at
com.evolveum.midpoint.model.common.expression.script.jsr223.Jsr223ScriptEvaluator.evaluate(Jsr223ScriptEvaluator.java:117)
~[model-common-3.4.jar:na]
        ... 58 common frames omitted
Caused by: groovy.lang.MissingMethodException: No signature of method:
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.XMLGregorianCalendar() is
applicable for argument types: (java.util.Date) values: [Sat Jan 05
00:04:00 CST 1985]
        at
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.callGlobal(GroovyScriptEngineImpl.java:418)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.access$000(GroovyScriptEngineImpl.java:89)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl$2.invokeMethod(GroovyScriptEngineImpl.java:330)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:81)
~[groovy-all-2.4.0.jar:2.4.0]
        at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:161)
~[groovy-all-2.4.0.jar:2.4.0]
        at Script23.run(Script23.groovy:2) ~[na:na]
        at
org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:344)
~[groovy-all-2.4.0.jar:2.4.0]
        ... 61 common frames omitted


On Tue, Aug 23, 2016 at 1:08 PM, Pavol Mederly <mederly at evolveum.com> wrote:

> Matt,
>
> maybe you could try this:
>
> com.evolveum.midpoint.prism.xml.createXMLGregorianCalendar(d)
>
> where d is a java.util.Date object.
>
> See https://github.com/Evolveum/midpoint/blob/master/infra/
> prism/src/main/java/com/evolveum/midpoint/prism/xml/
> XmlTypeConverter.java#L450
>
> Pavol Mederly
> Software developerevolveum.com
>
> On 23.08.2016 19:52, Mencel, Matt wrote:
>
> Ah so now it's getting a bit crazy.  Apparently I have to convert it to an
> XMLGregorianCalendar type to put something in a dateTime attribute.
>
> This is probably not the right way, but when I tried this Groovy couldn't
> find the XMLGregorianCalendar class.
>
> <attribute>
> <ref>ri:birthdate</ref>
> <displayName>DOB</displayName>
> <inbound>
> <target>
> <path>$user/extension/birthDate</path>
> </target>
> <expression>
>            <script>
>                <language>http://midpoint.evolveum.com/xml/ns/public/
> expression/language#Groovy</language>
>                <code>
>                    <!-- Date.parse('yyyymmdd', input) -->
> GregorianCalendar c = new GregorianCalendar(); c.setTime(input);
> XMLGregorianCalendar date2 = DatatypeFactory.newInstance().
> newXMLGregorianCalendar(c);
>                </code>
>            </script>
>        </expression>
> </inbound>
> </attribute>
>
> So is everyone just storing dates as strings in Midpoint?
>
> Matt
>
> On Tue, Aug 23, 2016 at 12:24 PM, Pavol Mederly <mederly at evolveum.com>
> wrote:
>
>> That's the usual process ;)
>>
>> It seems that midPoint doesn't support xsd:date, only xsd:dateTime.
>>
>> Best regards,
>>
>> Pavol Mederly
>> Software developerevolveum.com
>>
>> On 23.08.2016 19:20, Mencel, Matt wrote:
>>
>> OK, that changed the error at least.  :)
>>
>> 2016-08-23 12:17:19,231 [] [midPointScheduler_Worker-6] ERROR
>> (com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeResultHandler):
>> Import of object shadow:4c7c2ce9-9041-46da-b8c3-a57be022ce18(902073705)
>> from resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS) failed:
>> java.lang.RuntimeException: No type mapping for XSD type {
>> http://www.w3.org/2001/XMLSchema}date({.../common/common-3}
>> input=PPV(String:19850405); ) in expression in mapping in inbound
>> expression for {http://midpoint.evolveum.com/
>> xml/ns/public/resource/instance-3}birthdate in
>> resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)
>> com.evolveum.midpoint.util.exception.SystemException:
>> java.lang.RuntimeException: No type mapping for XSD type {
>> http://www.w3.org/2001/XMLSchema}date({.../common/common-3}
>> input=PPV(String:19850405); ) in expression in mapping in inbound
>> expression for {http://midpoint.evolveum.com/
>> xml/ns/public/resource/instance-3}birthdate in
>> resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)
>>         at com.evolveum.midpoint.model.impl.sync.SynchronizationService
>> Impl.notifyChange(SynchronizationServiceImpl.java:316)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ChangeNotificationDi
>> spatcherImpl.notifyChange(ChangeNotificationDispatcherImpl.java:148)
>> ~[provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.sync.SynchronizeAccountResu
>> ltHandler.handleObjectInternal(SynchronizeAccountResultHandler.java:203)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.sync.SynchronizeAccountResu
>> ltHandler.handleObject(SynchronizeAccountResultHandler.java:128)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativ
>> eResultHandler.processRequest(AbstractSearchIterativeResultHandler.java:327)
>> [model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativ
>> eResultHandler.handle(AbstractSearchIterativeResultHandler.java:189)
>> [model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceI
>> mpl$4.handle(ProvisioningServiceImpl.java:1184)
>> [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ShadowCache$2.handle(ShadowCache.java:831)
>> [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ResourceObjectConver
>> ter$3.handle(ResourceObjectConverter.java:1102)
>> [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanc
>> eIcfImpl$2.handle(ConnectorInstanceIcfImpl.java:2316)
>> [provisioning-impl-3.4.jar:na]
>>         at org.identityconnectors.framework.impl.api.SearchResultsHandl
>> erLoggingProxy.handle(SearchResultsHandlerLoggingProxy.java:64)
>> [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
>>         at org.identityconnectors.framework.impl.api.StreamHandlerUtil$
>> ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101)
>> [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
>>         at org.identityconnectors.framework.impl.api.BufferedResultsPro
>> xy.invoke(BufferedResultsProxy.java:262) [connector-framework-internal-
>> 1.4.3.0-SNAPSHOT.jar:na]
>>         at org.identityconnectors.framework.impl.api.DelegatingTimeoutP
>> roxy.invoke(DelegatingTimeoutProxy.java:94)
>> [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
>>         at com.sun.proxy.$Proxy170.search(Unknown Source) [na:na]
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> ~[na:1.8.0_101]
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> ~[na:1.8.0_101]
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> ~[na:1.8.0_101]
>>         at java.lang.reflect.Method.invoke(Method.java:498)
>> ~[na:1.8.0_101]
>>         at org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:83)
>> [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
>>         at com.sun.proxy.$Proxy170.search(Unknown Source) [na:na]
>>         at org.identityconnectors.framework.impl.api.AbstractConnectorF
>> acade.search(AbstractConnectorFacade.java:177)
>> [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]
>>         at com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanc
>> eIcfImpl.search(ConnectorInstanceIcfImpl.java:2412)
>> [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ResourceObjectConver
>> ter.searchResourceObjects(ResourceObjectConverter.java:1112)
>> [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ShadowCache.searchOb
>> jectsIterative(ShadowCache.java:838) [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ShadowCache.searchOb
>> jectsIterative(ShadowCache.java:763) [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceI
>> mpl.searchObjectsIterative(ProvisioningServiceImpl.java:1232)
>> [provisioning-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.ModelObjectResolver.searchI
>> terative(ModelObjectResolver.java:224) [model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativ
>> eTaskHandler.runInternal(AbstractSearchIterativeTaskHandler.java:239)
>> [model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativ
>> eTaskHandler.run(AbstractSearchIterativeTaskHandler.java:155)
>> [model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.
>> executeHandler(JobExecutor.java:479) [task-quartz-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.
>> executeSingleTask(JobExecutor.java:300) [task-quartz-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:164)
>> [task-quartz-impl-3.4.jar:na]
>>         at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>> [quartz-2.1.3.jar:na]
>>         at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
>> [quartz-2.1.3.jar:na]
>> Caused by: java.lang.RuntimeException: No type mapping for XSD type {
>> http://www.w3.org/2001/XMLSchema}date({.../common/common-3}
>> input=PPV(String:19850405); ) in expression in mapping in inbound
>> expression for {http://midpoint.evolveum.com/
>> xml/ns/public/resource/instance-3}birthdate in
>> resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)
>>         at com.evolveum.midpoint.model.common.expression.evaluator.Abst
>> ractValueTransformationExpressionEvaluator$1.process(Abstrac
>> tValueTransformationExpressionEvaluator.java:434)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.evaluator.Abst
>> ractValueTransformationExpressionEvaluator$1.process(Abstrac
>> tValueTransformationExpressionEvaluator.java:352)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:367)
>> ~[util-3.4.jar:na]
>>         at com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:357)
>> ~[util-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.evaluator.Abst
>> ractValueTransformationExpressionEvaluator.evaluateRelativeE
>> xpression(AbstractValueTransformationExpressionEvaluator.java:442)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.evaluator.Abst
>> ractValueTransformationExpressionEvaluator.evaluate(Abstract
>> ValueTransformationExpressionEvaluator.java:114)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.Expression.evaluate(Expression.java:133)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.mapping.Mapping.evaluateExpression(Mapping.java:985)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.mapping.Mapping.evaluate(Mapping.java:520)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.MappingEvalu
>> ator.evaluateMapping(MappingEvaluator.java:95) ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.InboundProce
>> ssor.evaluateInboundMapping(InboundProcessor.java:490)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.InboundProce
>> ssor.processInboundExpressionsForProjection(InboundProcessor.java:319)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.InboundProce
>> ssor.processInboundFocal(InboundProcessor.java:186)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.InboundProce
>> ssor.processInbound(InboundProcessor.java:128) ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.FocusProcess
>> or.processFocusFocus(FocusProcessor.java:212) ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.FocusProcess
>> or.processFocus(FocusProcessor.java:146) ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.Projector.pr
>> ojectInternal(Projector.java:208) ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.projector.Projector.project(Projector.java:106)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.Clockwork.click(Clockwork.java:302)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.lens.Clockwork.run(Clockwork.java:214)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.sync.SynchronizationService
>> Impl.reactToChange(SynchronizationServiceImpl.java:766)
>> ~[model-impl-3.4.jar:na]
>>         at com.evolveum.midpoint.model.impl.sync.SynchronizationService
>> Impl.notifyChange(SynchronizationServiceImpl.java:299)
>> ~[model-impl-3.4.jar:na]
>>         ... 34 common frames omitted
>> Caused by: java.lang.IllegalArgumentException: No type mapping for XSD
>> type {http://www.w3.org/2001/XMLSchema}date
>>         at com.evolveum.midpoint.prism.xml.XsdTypeMapper.toJavaType(XsdTypeMapper.java:184)
>> ~[prism-3.4.jar:na]
>>         at com.evolveum.midpoint.prism.xml.XsdTypeMapper.toJavaType(XsdTypeMapper.java:173)
>> ~[prism-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.script.jsr223.
>> Jsr223ScriptEvaluator.evaluate(Jsr223ScriptEvaluator.java:129)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.script.ScriptE
>> xpression.evaluate(ScriptExpression.java:111) ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.script.ScriptE
>> xpressionEvaluator.transformSingleValue(ScriptExpressionEvaluator.java:60)
>> ~[model-common-3.4.jar:na]
>>         at com.evolveum.midpoint.model.common.expression.evaluator.Abst
>> ractValueTransformationExpressionEvaluator$1.process(Abstrac
>> tValueTransformationExpressionEvaluator.java:422)
>> ~[model-common-3.4.jar:na]
>>         ... 55 common frames omitted
>>
>> On Tue, Aug 23, 2016 at 12:14 PM, Pavol Mederly <mederly at evolveum.com>
>> wrote:
>>
>>> Hello Matt,
>>>
>>> I assume you get something like "unknown variable 'birthdate'"
>>> exception. When creating inbound mappings, you refer to the incoming value
>>> (from the resource) via "input" variable.
>>>
>>> So your line should be something like Date.parse(..., input).
>>>
>>> Best regards,
>>>
>>> Pavol Mederly
>>> Software developerevolveum.com
>>>
>>> On 23.08.2016 19:10, Mencel, Matt wrote:
>>>
>>> So in my CSV I have a birthday field stored as a string value like so...
>>> '20160822'.  I've created a DOB field in my custom schema of type date...
>>>
>>>             <xsd:element name="birthDate" type="xsd:date" minOccurs="0"
>>> maxOccurs="1">
>>>                 <xsd:annotation>
>>>                     <xsd:appinfo>
>>>                         <a:indexed>false</a:indexed>
>>>                         <a:displayName>DOB</a:displayName>
>>>                         <a:displayOrder>130</a:displayOrder>
>>>                     </xsd:appinfo>
>>>                 </xsd:annotation>
>>>             </xsd:element>
>>>
>>> and am trying to parse the string to the date field using the following
>>> in my mapping...which doesn't work at the moment.
>>>
>>> <attribute>
>>> <ref>ri:birthdate</ref>
>>> <displayName>DOB</displayName>
>>> <inbound>
>>> <target>
>>> <path>$user/extension/birthDate</path>
>>> </target>
>>> <expression>
>>>            <script>
>>>                <language>http://midpoint.evo
>>> lveum.com/xml/ns/public/expression/language#Groovy</language>
>>>                <code>
>>>                    Date.parse('yyyymmdd', birthdate)
>>>                </code>
>>>            </script>
>>>        </expression>
>>> </inbound>
>>> </attribute>
>>>
>>> Do I need to do the script in the user object template instead?
>>>
>>> Thanks,
>>> Matt
>>>
>>>
>>> _______________________________________________
>>> midPoint mailing listmidPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>>>
>>> _______________________________________________ midPoint mailing list
>>> midPoint at lists.evolveum.com http://lists.evolveum.com/mail
>>> man/listinfo/midpoint
>>
>> _______________________________________________
>> midPoint mailing listmidPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>>
>> _______________________________________________ midPoint mailing list
>> midPoint at lists.evolveum.com http://lists.evolveum.com/mail
>> man/listinfo/midpoint
>
> _______________________________________________
> midPoint mailing listmidPoint at lists.evolveum.comhttp://lists.evolveum.com/mailman/listinfo/midpoint
>
>
> _______________________________________________
> 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/20160823/00ab6eac/attachment.htm>


More information about the midPoint mailing list