retrieveXPathQueryEscaped

1
I am playing a bit with xpath queries from Java. I have difficulty to build the xpath string in Java whenever I want to use a date. It always generates an error. I have tried "2015-01-01T00:00:00+01:00", "2015-01-01T00:00:00" or even just "2015-01-01" but whatever I try I get the error below. I must be doing something simple wrong. Anybody a clue? Regards, Ronald Exception in thread "akka:event-driven:dispatcher:request-dispatching-28" java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: sun.misc.Launcher$AppClassLoader@43be2d65 at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:211) at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:123) at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:82) at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:462) at org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:416) at org.joda.time.DateTimeZone.<clinit>(DateTimeZone.java:115) at com.mendix.core.util.DataType.parseDate(DataType.java:296) at com.mendix.connectionbus.retrieve.query.mapping.WhereClauseMapper.parseDateWhereTerm(WhereClauseMapper.java:1297) at com.mendix.connectionbus.retrieve.query.mapping.WhereClauseMapper.handleWhereTermSide(WhereClauseMapper.java:552) at com.mendix.connectionbus.retrieve.query.mapping.WhereClauseMapper.handleWhereTerm(WhereClauseMapper.java:171) at com.mendix.connectionbus.retrieve.query.mapping.WhereClauseMapper.map(WhereClauseMapper.java:144) at com.mendix.connectionbus.retrieve.query.mapping.QueryMapper.mapWhereClauseWhereTerms(QueryMapper.java:866) at com.mendix.connectionbus.retrieve.query.mapping.QueryMapper.getMappedQueries(QueryMapper.java:235) at com.mendix.connectionbus.retrieve.query.mapping.QueryMapper.getQueryInstances(QueryMapper.java:131) at com.mendix.connectionbus.retrieve.DataStoreCaller.mapToQueryInstances(DataStoreCaller.java:107) at com.mendix.connectionbus.retrieve.DataStoreCaller.getResult(DataStoreCaller.java:82) at com.mendix.connectionbus.retrieve.GetRequestHandler.doRequest(GetRequestHandler.java:68) at com.mendix.connectionbus.RequestAnalyzer.doRequest(RequestAnalyzer.java:43) at com.mendix.connectionbus.ConnectionBus.doRequest(ConnectionBus.java:269) at com.mendix.core.action.user.RetrieveXPathRawAction.retrieveXPathRaw(RetrieveXPathRawAction.java:130) at com.mendix.core.action.user.RetrieveXPathRawAction.executeAction(RetrieveXPathRawAction.java:70) at com.mendix.core.action.user.RetrieveXPathAction.executeAction(RetrieveXPathAction.java:63) at com.mendix.core.action.user.RetrieveXPathAction.executeAction(RetrieveXPathAction.java:21) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:57) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:478) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:463) at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:198) at com.mendix.core.Core.retrieveXPathQuery(Core.java:1156) at com.mendix.core.Core.retrieveXPathQuery(Core.java:1125) at com.mendix.core.Core.retrieveXPathQueryEscaped(Core.java:1354) at com.mendix.core.Core.retrieveXPathQueryEscaped(Core.java:1400) at signalering.actions.Signalering_Contracten_Zetten.executeAction(Signalering_Contracten_Zetten.java:64) at signalering.actions.Signalering_Contracten_Zetten.executeAction(Signalering_Contracten_Zetten.java:1) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:57) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:478) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:463) at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:198) at com.mendix.core.Core.execute(Core.java:226) at com.mendix.modules.microflowengine.actions.actioncall.JavaAction.execute(JavaAction.java:69) at com.mendix.modules.microflowengine.microflow.MicroflowObject.execute(MicroflowObject.java:77) at com.mendix.modules.microflowengine.microflow.Microflow.executeAfterBreakingIfNecessary(Microflow.java:163) at com.mendix.modules.microflowengine.microflow.Microflow.executeAction(Microflow.java:100) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:57) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:478) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:463) at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:198) at com.mendix.core.Core.execute(Core.java:226) at com.mendix.core.action.client.ExecuteAction.execute(ExecuteAction.java:186) at com.mendix.externalinterface.connector.ClientRequestHandler$$anonfun$handleRequest$1.apply$mcV$sp(ClientRequestHandler.scala:364) at com.mendix.externalinterface.connector.ClientRequestHandler$$anonfun$handleRequest$1.apply(ClientRequestHandler.scala:356) at com.mendix.externalinterface.connector.ClientRequestHandler$$anonfun$handleRequest$1.apply(ClientRequestHandler.scala:356) at com.mendix.externalinterface.connector.RequestDispatching$Worker$$anonfun$receive$2.apply(RequestDispatching.scala:185) at com.mendix.externalinterface.connector.RequestDispatching$Worker$$anonfun$receive$2.apply(RequestDispatching.scala:179) at akka.actor.Actor$class.apply(Actor.scala:545) at com.mendix.externalinterface.connector.RequestDispatching$Worker.apply(RequestDispatching.scala:175) at akka.actor.LocalActorRef.invoke(ActorRef.scala:910) at akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:25) at akka.dispatch.ExecutableMailbox$class.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:223) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:123) at akka.dispatch.ExecutableMailbox$class.run(ExecutorBasedEventDrivenDispatcher.scala:195) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.run(ExecutorBasedEventDrivenDispatcher.scala:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) at akka.dispatch.MonitorableThread.run(ThreadPoolBuilder.scala:192)
asked
2 answers
2

I have no experience with xpath from java but what you can do is set the loglevel of the database_retrieve to trace and see what that gives you. For example in my app this gives me this.

RequestAnalyzer: incoming request dj (depth = -1, amount = 50): //Product.Product[ArticleNumber != empty and ArticleNumber != ''][(changedDate>=1419980400000) and (Blocked='false')]

From the above i assume you need to convert your dateTime to a timestamp in order to use it in xpath.

answered
0

Hi Ronald,

What is the default language of your application? If Dutch, try "30-12-2014". If US English, "12-30-2014" might do the trick.

answered