Hi Andrea,
As quoted from Andrea Aime <[EMAIL PROTECTED]>:
> I think you should look in the GML encoder, the FeatureTransformer class
> in particular.
I will have a looksee.
> >> and then use DateUtils to encode
> >> the date with the appropriate type, and you should get exactly the
> >> same behaviour as GeoServer.
> >
> > We-ellll... GeoServer (at least the 1.5.1 I'm running) still uses
> > the class TemporalAttributeType that does:
> >
> > // this might be right, maybe not, but anyway, its a default formatting
> > static java.text.DateFormat format = java.text.DateFormat.getInstance();
>
> Hmm... no, this date format is used only as a last resort parser if
> you try to initialize an attribute with a string, but I don't see it
> used for encoding?
That's right: when you *send* a *new* feature to GeoServer that has a
dateTime element, it must be in the Locale-specific format.
If you *update* an *existing* feature, the dateTime must be in ISO 8601
format. Which means that if the GeoTools library is fixed to always
send ISO 8601 format, it will still fail, but this time on the GeoServer
side of things (see attached exception from my logs).
> I just queried Geoserver 1.5.x snapshot over a dataset that has date,
Querying is no problem, as is updating existing features. It is new
features where things fail on the GeoServer side.
Kind regards,
--
-- Gertjan van Oosten, [EMAIL PROTECTED], West Consulting B.V., +31 15 2191 600
11-Jul-2007 15:11:12 org.vfny.geoserver.servlets.AbstractService sendError
INFO: Had an undefined error: unable to parse 2007-07-11T13:11:04 as Date
11-Jul-2007 15:11:12 org.vfny.geoserver.servlets.AbstractService sendError
SEVERE: Service exception occurred
org.vfny.geoserver.wfs.WfsException: java.lang.IllegalArgumentException: unable
to parse 2007-07-11T13:11:04 as Date
at
org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionHandler.java:66)
at
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:855)
at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:442)
at org.geoserver.request.Dispatcher.post(Dispatcher.java:301)
at org.geoserver.request.Dispatcher.dispatch(Dispatcher.java:181)
at
org.geoserver.request.Dispatcher.handleRequestInternal(Dispatcher.java:52)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:103)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalArgumentException: unable to parse
2007-07-11T13:11:04 as Date
at
org.geotools.feature.type.TemporalAttributeType.parse(TemporalAttributeType.java:60)
at
org.vfny.geoserver.wfs.requests.TransactionFeatureHandler.endElement(TransactionFeatureHandler.java:313)
at
org.geotools.gml.GMLFilterGeometry.endElement(GMLFilterGeometry.java:203)
at
org.geotools.gml.GMLFilterDocument.endElement(GMLFilterDocument.java:286)
at org.xml.sax.helpers.ParserAdapter.endElement(ParserAdapter.java:626)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.xml.sax.helpers.ParserAdapter.parse(ParserAdapter.java:405)
at
org.vfny.geoserver.wfs.requests.readers.TransactionXmlReader.read(TransactionXmlReader.java:78)
at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:435)
... 29 more
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel