Dear all,
I'm using olingo 4.7.1 and I have a Geography property in my entity.
I created a new edm.geo.Geospatial object as:
Geospatial geospatial = new Polygon(Dimension.GEOGRAPHY,
SRID.valueOf("4326"), ..., ...);
If I try to put it into a property defined as:
new
CsdlProperty().setName(F_GEO).setType(EdmPrimitiveTypeKind.GeographyPolygon.getFullQualifiedName()).setNullable(true)
The above code works perfectly when I retrieve the entity.
But If I try to put my geometry into a property defined as generic geography
like:
new
CsdlProperty().setName(F_GEO).setType(EdmPrimitiveTypeKind.Geography.getFullQualifiedName()).setNullable(true)
I have an error when serializer tries to convert the object to a string... why?
ERROR - Wrong value for property!
Wrong value for property!
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writePropertyValue(ODataXmlSerializer.java:864)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writeProperty(ODataXmlSerializer.java:798)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writeProperties(ODataXmlSerializer.java:639)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writeEntity(ODataXmlSerializer.java:526)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.entity(ODataXmlSerializer.java:364)
at
com.telespazio.esa.lta.odata.LtaEntityProcessor.readEntity(LtaEntityProcessor.java:368)
at
org.apache.olingo.server.core.ODataDispatcher.handleSingleEntityDispatching(ODataDispatcher.java:596)
at
org.apache.olingo.server.core.ODataDispatcher.handleEntityDispatching(ODataDispatcher.java:513)
at
org.apache.olingo.server.core.ODataDispatcher.handleResourceDispatching(ODataDispatcher.java:152)
at
org.apache.olingo.server.core.ODataDispatcher.dispatch(ODataDispatcher.java:118)
at
org.apache.olingo.server.core.ODataHandlerImpl.processInternal(ODataHandlerImpl.java:164)
at
org.apache.olingo.server.core.ODataHandlerImpl.process(ODataHandlerImpl.java:85)
at
org.apache.olingo.server.core.ODataHttpHandlerImpl.process(ODataHttpHandlerImpl.java:74)
at
org.apache.olingo.server.core.ODataHttpHandlerImpl.process(ODataHttpHandlerImpl.java:88)
at com.telespazio.esa.lta.ODataServlet.service(ODataServlet.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:643)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: Not
implemented!
at
org.apache.olingo.commons.core.edm.primitivetype.EdmGeography.internalValueToString(EdmGeography.java:47)
at
org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueToString(AbstractPrimitiveType.java:86)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writePrimitiveValue(ODataXmlSerializer.java:992)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writePrimitive(ODataXmlSerializer.java:972)
at
org.apache.olingo.server.core.serializer.xml.ODataXmlSerializer.writePropertyValue(ODataXmlSerializer.java:843)
... 37 more
I need to put different geometries int my F_GEO property (It could be a Polygon
or a LineString or a MultiPoint and so on...)
Reading documentation, it seems that EdmPrimitiveTypeKind.Geography should be
used for all geometry types, isn't it?
Where am I going wrong? Is there a workaround?
I'm looking forward to reading your reply
Regards
Mario
[Telespazio S.p.A.]
Mario Leggio
LoB Satellite Systems and Operations
System and Ground Segment Engineering
Via Tiburtina, 965 - 00156 Rome - Italy
Ph: +39 06 4079 3072 | Fax: +39 06 4099-8286
[email protected]
telespazio.com<http://www.telespazio.com>
-WARNING: This message contains confidential and/or proprietary information
which may be subject to privilege or immunity and which is intended for the use
of its addressee only.
Should you receive this message in error, you are kindly requested to inform
the sender and to definitively remove it from any paper or electronic format.
Any other use of this e-mail is strictly forbidden. Thank you in advance for
your cooperation.
Please consider the environment before printing this e-mail.