<html><body><div style="font-family: times new roman, new york, times, serif; font-size: 12pt; color: #000000"><div>Hi Matt,<br></div><div><br></div><div>this is a fragment from my mapping for date (from Oracle DB I guess)<br></div><div>...<br></div><div> <inbound><br> <target><br> <c:path>$focus/activation/validFrom</c:path><br> </target><br> <expression><br> <script><br> <code><br> import java.text.SimpleDateFormat;<br> import java.text.DateFormat;<br><br> DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");<br><br> if (input!=null) {<br> Date convertedValidFrom = df.parse(input);<br> log.info("convertedValidFrom = " + convertedValidFrom);<br><br> return com.evolveum.midpoint.util.MiscUtil.asXMLGregorianCalendar(convertedValidFrom);<br> }<br> else {<br> return null;<br> }<br><br> </code><br> </script><br> </expression><br> </inbound><br>...<br></div><div><br></div><div>Hope this helps,<br></div><div>Ivan<br></div><div><br></div><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Matt Mencel" <mr-mencel@wiu.edu><br><b>To: </b>"midPoint General Discussion" <midpoint@lists.evolveum.com><br><b>Sent: </b>Tuesday, August 23, 2016 9:26:33 PM<br><b>Subject: </b>Re: [midPoint] Parsing Dates in Inbound Mapping<br><div><br></div><div dir="ltr">I tried it like this....<div><br></div><div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <inbound></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <target></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <path>$user/extension/birthDate</path></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> </target></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <expression></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <script></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <language><a href="http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy" target="_blank">http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</a></language></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> <code></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"><span class="" style="white-space:pre"> </span>XMLGregorianCalendar(Date.parse('yyyymmdd', input))</span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"><span class="" style="white-space:pre"> </span></code></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> </script></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> </expression></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> </inbound></span></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"> </attribute></span></div></div><div><span style="font-family: monospace,monospace;" data-mce-style="font-family: monospace,monospace;" face="monospace, monospace"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif">I'm still getting Java errors (see below). I'll can just switch it back to a string type and not worry about it.</span></div><div><br></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif">Thanks,</span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif">Matt</span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif"><br></span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif"><div>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 {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a> in resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)({.../common/common-3}input=PPV(String:19850405); ) in expression in mapping in inbound expression for {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a> 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=<a href="http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#import" target="_blank">http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#import</a>, resource=resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS))</div><div>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 {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a> in resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)({.../common/common-3}input=PPV(String:19850405); ) in expression in mapping in inbound expression for {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a> in resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)</div><div> at com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:425) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:352) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:367) ~[util-3.4.jar:na]</div><div> at com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:357) ~[util-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluateRelativeExpression(AbstractValueTransformationExpressionEvaluator.java:442) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluate(AbstractValueTransformationExpressionEvaluator.java:114) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.Expression.evaluate(Expression.java:133) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.mapping.Mapping.evaluateExpression(Mapping.java:985) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.mapping.Mapping.evaluate(Mapping.java:520) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.MappingEvaluator.evaluateMapping(MappingEvaluator.java:95) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.evaluateInboundMapping(InboundProcessor.java:490) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInboundExpressionsForProjection(InboundProcessor.java:319) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInboundFocal(InboundProcessor.java:186) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.InboundProcessor.processInbound(InboundProcessor.java:128) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.FocusProcessor.processFocusFocus(FocusProcessor.java:212) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.FocusProcessor.processFocus(FocusProcessor.java:146) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.Projector.projectInternal(Projector.java:208) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.projector.Projector.project(Projector.java:106) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.Clockwork.click(Clockwork.java:302) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.lens.Clockwork.run(Clockwork.java:214) ~[model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.reactToChange(SynchronizationServiceImpl.java:766) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:299) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ChangeNotificationDispatcherImpl.notifyChange(ChangeNotificationDispatcherImpl.java:148) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.sync.SynchronizeAccountResultHandler.handleObjectInternal(SynchronizeAccountResultHandler.java:203) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.sync.SynchronizeAccountResultHandler.handleObject(SynchronizeAccountResultHandler.java:128) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeResultHandler.processRequest(AbstractSearchIterativeResultHandler.java:327) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeResultHandler.handle(AbstractSearchIterativeResultHandler.java:189) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl$4.handle(ProvisioningServiceImpl.java:1184) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ShadowCache$2.handle(ShadowCache.java:831) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter$3.handle(ResourceObjectConverter.java:1102) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl$2.handle(ConnectorInstanceIcfImpl.java:2316) [provisioning-impl-3.4.jar:na]</div><div> at org.identityconnectors.framework.impl.api.SearchResultsHandlerLoggingProxy.handle(SearchResultsHandlerLoggingProxy.java:64) [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div><div> at org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101) [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div><div> at org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262) [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div><div> at org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94) [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div><div> at com.sun.proxy.$Proxy169.search(Unknown Source) [na:na]</div><div> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]</div><div> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]</div><div> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]</div><div> at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]</div><div> at org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:83) [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div><div> at com.sun.proxy.$Proxy169.search(Unknown Source) [na:na]</div><div> at org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:177) [connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div><div> at com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.search(ConnectorInstanceIcfImpl.java:2412) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter.searchResourceObjects(ResourceObjectConverter.java:1112) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:838) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:763) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.searchObjectsIterative(ProvisioningServiceImpl.java:1232) [provisioning-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.ModelObjectResolver.searchIterative(ModelObjectResolver.java:224) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeTaskHandler.runInternal(AbstractSearchIterativeTaskHandler.java:239) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.impl.util.AbstractSearchIterativeTaskHandler.run(AbstractSearchIterativeTaskHandler.java:155) [model-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:479) [task-quartz-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeSingleTask(JobExecutor.java:300) [task-quartz-impl-3.4.jar:na]</div><div> at com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:164) [task-quartz-impl-3.4.jar:na]</div><div> at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-2.1.3.jar:na]</div><div> at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz-2.1.3.jar:na]</div><div>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 {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a> in resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV TEADVS)</div><div> at com.evolveum.midpoint.model.common.expression.script.jsr223.Jsr223ScriptEvaluator.evaluate(Jsr223ScriptEvaluator.java:119) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.script.ScriptExpression.evaluate(ScriptExpression.java:111) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.script.ScriptExpressionEvaluator.transformSingleValue(ScriptExpressionEvaluator.java:60) ~[model-common-3.4.jar:na]</div><div> at com.evolveum.midpoint.model.common.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:422) ~[model-common-3.4.jar:na]</div><div> ... 55 common frames omitted</div><div>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]</div><div> at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:347) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:41) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at javax.script.CompiledScript.eval(CompiledScript.java:92) ~[na:1.8.0_101]</div><div> at com.evolveum.midpoint.model.common.expression.script.jsr223.Jsr223ScriptEvaluator.evaluate(Jsr223ScriptEvaluator.java:117) ~[model-common-3.4.jar:na]</div><div> ... 58 common frames omitted</div><div>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]</div><div> at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.callGlobal(GroovyScriptEngineImpl.java:418) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.access$000(GroovyScriptEngineImpl.java:89) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl$2.invokeMethod(GroovyScriptEngineImpl.java:330) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:81) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:161) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> at Script23.run(Script23.groovy:2) ~[na:na]</div><div> at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:344) ~[groovy-all-2.4.0.jar:2.4.0]</div><div> ... 61 common frames omitted</div></span></div><div><span style="font-family: arial,helvetica,sans-serif;" data-mce-style="font-family: arial,helvetica,sans-serif;" face="arial, helvetica, sans-serif"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 23, 2016 at 1:08 PM, Pavol Mederly <span dir="ltr"><<a href="mailto:mederly@evolveum.com" target="_blank">mederly@evolveum.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<p>Matt,</p>
<p>maybe you could try this:</p>
<p>com.evolveum.midpoint.prism.xml.createXMLGregorianCalendar(d)</p>
<p>where d is a java.util.Date object.</p>
<p>See <a href="https://github.com/Evolveum/midpoint/blob/master/infra/prism/src/main/java/com/evolveum/midpoint/prism/xml/XmlTypeConverter.java#L450" target="_blank">https://github.com/Evolveum/midpoint/blob/master/infra/prism/src/main/java/com/evolveum/midpoint/prism/xml/XmlTypeConverter.java#L450</a><br data-mce-bogus="1"></p><span class="">
<pre>Pavol Mederly
Software developer
<a href="http://evolveum.com" target="_blank">evolveum.com</a>
</pre>
</span><div><div class="h5"><div>On 23.08.2016 19:52, Mencel, Matt
wrote:<br>
</div>
<blockquote>
<div dir="ltr">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.
<div><br>
</div>
<div>This is probably not the right way, but when I tried this
Groovy couldn't find the XMLGregorianCalendar class.</div>
<div><br>
</div>
<attribute><br>
<ref>ri:birthdate</ref><br>
<displayName>DOB</displayName><br>
<inbound><br>
<target><br>
<path>$user/extension/birthDate</path><br>
</target><br>
<expression><br>
<script><br>
<language><a href="http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy" target="_blank">http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</a></language><br>
<code><br>
<!-- Date.parse('yyyymmdd', input) --><br>
GregorianCalendar c = new GregorianCalendar(); c.setTime(input);
XMLGregorianCalendar date2 =
DatatypeFactory.newInstance().newXMLGregorianCalendar(c);<br>
</code><br>
</script><br>
</expression><br>
</inbound><br>
</attribute>
<div><br>
</div>
<div>So is everyone just storing dates as strings in Midpoint?</div>
<div><br>
</div>
<div>Matt</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Aug 23, 2016 at 12:24 PM, Pavol
Mederly <span dir="ltr"><<a href="mailto:mederly@evolveum.com" target="_blank">mederly@evolveum.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote">
<div>
<p>That's the usual process ;)</p>
<p>It seems that midPoint doesn't support xsd:date, only
xsd:dateTime.</p>
<span>
<p>Best regards,</p>
<pre>Pavol Mederly
Software developer
<a href="http://evolveum.com" target="_blank">evolveum.com</a>
</pre>
</span>
<div>
<div>
<div>On 23.08.2016 19:20, Mencel, Matt wrote:<br>
</div>
<blockquote>
<div dir="ltr">OK, that changed the error at least.
:)
<div><br>
</div>
<div>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 <a>resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV</a>
TEADVS) failed: java.lang.RuntimeException: No
type mapping for XSD type {<a href="http://www.w3.org/2001/XMLSchema%7Ddate%28%7B.../common/common-3%7Dinput=PPV%28String:19850405%29" target="_blank">http://www.w3.org/2001/XMLSchema}date({.../common/common-3}input=PPV(String:19850405)</a>;
) in expression in mapping in inbound expression
for {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3%7Dbirthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a>
in <a>resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV</a>
TEADVS)</div>
<div>com.evolveum.midpoint.util.exception.SystemException:
java.lang.RuntimeException: No type mapping for
XSD type {<a href="http://www.w3.org/2001/XMLSchema%7Ddate%28%7B.../common/common-3%7Dinput=PPV%28String:19850405%29" target="_blank">http://www.w3.org/2001/XMLSchema}date({.../common/common-3}input=PPV(String:19850405)</a>;
) in expression in mapping in inbound expression
for {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3%7Dbirthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a>
in <a>resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV</a>
TEADVS)</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:316)
~[model-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ChangeNotificationDispatcherImpl.notifyChange(ChangeNotificationDispatcherImpl.java:148)
~[provisioning-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.sync.SynchronizeAccountResultHandler.handleObjectInternal(SynchronizeAccountResultHandler.java:203)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.sync.SynchronizeAccountResultHandler.handleObject(SynchronizeAccountResultHandler.java:128)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.util.AbstractSearchIterativeResultHandler.processRequest(AbstractSearchIterativeResultHandler.java:327)
[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.util.AbstractSearchIterativeResultHandler.handle(AbstractSearchIterativeResultHandler.java:189)
[model-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl$4.handle(ProvisioningServiceImpl.java:1184)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ShadowCache$2.handle(ShadowCache.java:831)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter$3.handle(ResourceObjectConverter.java:1102)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl$2.handle(ConnectorInstanceIcfImpl.java:2316)
[provisioning-impl-3.4.jar:na]</div>
<div> at
org.identityconnectors.framework.impl.api.SearchResultsHandlerLoggingProxy.handle(SearchResultsHandlerLoggingProxy.java:64)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div>
<div> at
org.identityconnectors.framework.impl.api.StreamHandlerUtil$ObjectStreamHandlerAdapter.handle(StreamHandlerUtil.java:101)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div>
<div> at
org.identityconnectors.framework.impl.api.BufferedResultsProxy.invoke(BufferedResultsProxy.java:262)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div>
<div> at
org.identityconnectors.framework.impl.api.DelegatingTimeoutProxy.invoke(DelegatingTimeoutProxy.java:94)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div>
<div> at com.sun.proxy.$Proxy170.search(Unknown
Source) [na:na]</div>
<div> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) ~[na:1.8.0_101]</div>
<div> at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_101]</div>
<div> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_101]</div>
<div> at java.lang.reflect.Method.invoke(Method.java:498)
~[na:1.8.0_101]</div>
<div> at
org.identityconnectors.framework.impl.api.LoggingProxy.invoke(LoggingProxy.java:83)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div>
<div> at com.sun.proxy.$Proxy170.search(Unknown
Source) [na:na]</div>
<div> at
org.identityconnectors.framework.impl.api.AbstractConnectorFacade.search(AbstractConnectorFacade.java:177)
[connector-framework-internal-1.4.3.0-SNAPSHOT.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.search(ConnectorInstanceIcfImpl.java:2412)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ResourceObjectConverter.searchResourceObjects(ResourceObjectConverter.java:1112)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:838)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ShadowCache.searchObjectsIterative(ShadowCache.java:763)
[provisioning-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.searchObjectsIterative(ProvisioningServiceImpl.java:1232)
[provisioning-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.ModelObjectResolver.searchIterative(ModelObjectResolver.java:224)
[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.util.AbstractSearchIterativeTaskHandler.runInternal(AbstractSearchIterativeTaskHandler.java:239)
[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.util.AbstractSearchIterativeTaskHandler.run(AbstractSearchIterativeTaskHandler.java:155)
[model-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:479)
[task-quartz-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeSingleTask(JobExecutor.java:300)
[task-quartz-impl-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:164)
[task-quartz-impl-3.4.jar:na]</div>
<div> at <a href="http://org.quartz.core.JobRunShell.ru" target="_blank">org.quartz.core.JobRunShell.ru</a>n(JobRunShell.java:213)
[quartz-2.1.3.jar:na]</div>
<div> at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
[quartz-2.1.3.jar:na]</div>
<div>Caused by: java.lang.RuntimeException: No
type mapping for XSD type {<a href="http://www.w3.org/2001/XMLSchema%7Ddate%28%7B.../common/common-3%7Dinput=PPV%28String:19850405%29" target="_blank">http://www.w3.org/2001/XMLSchema}date({.../common/common-3}input=PPV(String:19850405)</a>;
) in expression in mapping in inbound expression
for {<a href="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3%7Dbirthdate" target="_blank">http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}birthdate</a>
in <a>resource:0d6babea-6896-11e6-9d38-0050569aa9d2(CSV</a>
TEADVS)</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:434)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:352)
~[model-common-3.4.jar:na]</div>
<div> at com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:367)
~[util-3.4.jar:na]</div>
<div> at com.evolveum.midpoint.util.MiscUtil.carthesian(MiscUtil.java:357)
~[util-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluateRelativeExpression(AbstractValueTransformationExpressionEvaluator.java:442)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.evaluator.AbstractValueTransformationExpressionEvaluator.evaluate(AbstractValueTransformationExpressionEvaluator.java:114)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.Expression.evaluate(Expression.java:133)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.mapping.Mapping.evaluateExpression(Mapping.java:985)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.mapping.Mapping.evaluate(Mapping.java:520)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.MappingEvaluator.evaluateMapping(MappingEvaluator.java:95)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.InboundProcessor.evaluateInboundMapping(InboundProcessor.java:490)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.InboundProcessor.processInboundExpressionsForProjection(InboundProcessor.java:319)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.InboundProcessor.processInboundFocal(InboundProcessor.java:186)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.InboundProcessor.processInbound(InboundProcessor.java:128)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.FocusProcessor.processFocusFocus(FocusProcessor.java:212)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.projector.FocusProcessor.processFocus(FocusProcessor.java:146)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a><a href="http://pl.lens.projector.Projector.pr" target="_blank">pl.lens.projector.Projector.pr</a>ojectInternal(Projector.java:208)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a><a href="http://pl.lens.projector.Projector.pr" target="_blank">pl.lens.projector.Projector.pr</a>oject(Projector.java:106)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.Clockwork.click(Clockwork.java:302)
~[model-impl-3.4.jar:na]</div>
<div> at <a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.lens.Clockwork.run(Clockwork.java:214)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.sync.SynchronizationServiceImpl.reactToChange(SynchronizationServiceImpl.java:766)
~[model-impl-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.im" target="_blank">com.evolveum.midpoint.model.im</a>pl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:299)
~[model-impl-3.4.jar:na]</div>
<div> ... 34 common frames omitted</div>
<div>Caused by: java.lang.IllegalArgumentException:
No type mapping for XSD type {<a href="http://www.w3.org/2001/XMLSchema%7Ddate" target="_blank">http://www.w3.org/2001/XMLSchema}date</a><br data-mce-bogus="1"></div>
<div> at
com.evolveum.midpoint.prism.xml.XsdTypeMapper.toJavaType(XsdTypeMapper.java:184)
~[prism-3.4.jar:na]</div>
<div> at
com.evolveum.midpoint.prism.xml.XsdTypeMapper.toJavaType(XsdTypeMapper.java:173)
~[prism-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.script.jsr223.Jsr223ScriptEvaluator.evaluate(Jsr223ScriptEvaluator.java:129)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.script.ScriptExpression.evaluate(ScriptExpression.java:111)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.script.ScriptExpressionEvaluator.transformSingleValue(ScriptExpressionEvaluator.java:60)
~[model-common-3.4.jar:na]</div>
<div> at
<a href="http://com.evolveum.midpoint.model.co" target="_blank">com.evolveum.midpoint.model.co</a>mmon.expression.evaluator.AbstractValueTransformationExpressionEvaluator$1.process(AbstractValueTransformationExpressionEvaluator.java:422)
~[model-common-3.4.jar:na]</div>
<div> ... 55 common frames omitted</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Aug 23, 2016 at
12:14 PM, Pavol Mederly <span dir="ltr"><<a href="mailto:mederly@evolveum.com" target="_blank">mederly@evolveum.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote">
<div>
<p>Hello Matt,</p>
<p>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.</p>
<p>So your line should be something like
Date.parse(..., input).</p>
<p>Best regards,<br>
</p>
<pre>Pavol Mederly
Software developer
<a href="http://evolveum.com" target="_blank">evolveum.com</a>
</pre>
<div>
<div>
<div>On 23.08.2016 19:10, Mencel, Matt
wrote:<br>
</div>
</div>
</div>
<blockquote>
<div>
<div>
<div dir="ltr">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...
<div><br>
</div>
<div>
<div> <xsd:element
name="birthDate" type="xsd:date"
minOccurs="0" maxOccurs="1"></div>
<div>
<xsd:annotation></div>
<div>
<xsd:appinfo></div>
<div>
<a:indexed>false</a:indexed></div>
<div>
<a:displayName>DOB</a:displayName></div>
<div>
<a:displayOrder>130</a:displayOrder></div>
<div>
</xsd:appinfo></div>
<div>
</xsd:annotation></div>
<div>
</xsd:element></div>
</div>
<div><br>
</div>
<div>and am trying to parse the
string to the date field using the
following in my mapping...which
doesn't work at the moment.</div>
<div><br>
</div>
<attribute><br>
<ref>ri:birthdate</ref><br>
<displayName>DOB</displayName><br>
<inbound><br>
<target><br>
<path>$user/extension/birthDate</path><br>
</target><br>
<expression><br>
<script><br>
<language><a href="http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy" target="_blank">http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</a></language><br>
<code><br>
Date.parse('yyyymmdd', birthdate)<br>
</code><br>
</script><br>
</expression><br>
</inbound><br>
</attribute>
<div><br>
</div>
<div>Do I need to do the script in
the user object template instead?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Matt</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</div>
_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</blockquote></div>
</div>
<fieldset></fieldset>
<pre>_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</div></div></div>
_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</blockquote></div>
</div>
<fieldset></fieldset>
<pre>_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</div></div></div><br>_______________________________________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="http://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">http://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>midPoint mailing list<br>midPoint@lists.evolveum.com<br>http://lists.evolveum.com/mailman/listinfo/midpoint<br></blockquote><div><br><br></div><div><br></div><div>-- <br></div><div><span name="x"></span>Ivan Noris<br>Senior Identity Engineer<br>evolveum.com<span name="x"></span><br></div></div></body></html>