From 6ecb02643a820d487e7d4e0042e3b2400406a78e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Chicchiricc=C3=B2?= Date: Thu, 8 May 2014 16:17:48 +0200 Subject: [PATCH] Fixing Geo deserializer with bad input --- .../V30/AllGeoTypesSet/-10/entity.xml | 161 ++ .../resources/V30/AllGeoTypesSet/feed.xml | 1371 +++++++++++++++++ fit/src/main/resources/V30/Computer/feed.xml | 44 +- .../fit/v3/EntityRetrieveTestITCase.java | 24 +- .../core/data/AtomGeoValueDeserializer.java | 5 + 5 files changed, 1582 insertions(+), 23 deletions(-) create mode 100644 fit/src/main/resources/V30/AllGeoTypesSet/-10/entity.xml create mode 100644 fit/src/main/resources/V30/AllGeoTypesSet/feed.xml diff --git a/fit/src/main/resources/V30/AllGeoTypesSet/-10/entity.xml b/fit/src/main/resources/V30/AllGeoTypesSet/-10/entity.xml new file mode 100644 index 000000000..42dc8c2fa --- /dev/null +++ b/fit/src/main/resources/V30/AllGeoTypesSet/-10/entity.xml @@ -0,0 +1,161 @@ + + + + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-10) + + + + <updated>2014-05-08T12:27:58Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-10</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.8606 173.334</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>40.5 40.5</gml:pos> + <gml:pos>30.5 30.5</gml:pos> + <gml:pos>20.5 40.5</gml:pos> + <gml:pos>10.5 30.5</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeogPolygon> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:null="true" /> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>40 10</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>20 40</gml:pos> + <gml:pos>10 30</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:null="true" /> + <d:Geom m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + </gml:LineString> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos /> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:null="true" /> + <d:GeomPolygon m:null="true" /> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>10 40</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>40 20</gml:pos> + <gml:pos>30 10</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>40 40</gml:pos> + <gml:pos>20 45</gml:pos> + <gml:pos>45 30</gml:pos> + <gml:pos>40 40</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>20 35</gml:pos> + <gml:pos>45 20</gml:pos> + <gml:pos>30 5</gml:pos> + <gml:pos>10 10</gml:pos> + <gml:pos>10 30</gml:pos> + <gml:pos>20 35</gml:pos> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>20 25</gml:pos> + <gml:pos>20 15</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeomMultiPolygon> + </m:properties> + </content> +</entry> \ No newline at end of file diff --git a/fit/src/main/resources/V30/AllGeoTypesSet/feed.xml b/fit/src/main/resources/V30/AllGeoTypesSet/feed.xml new file mode 100644 index 000000000..7d689e773 --- /dev/null +++ b/fit/src/main/resources/V30/AllGeoTypesSet/feed.xml @@ -0,0 +1,1371 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<feed xml:base="http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet</id> + <title type="text">AllGeoTypesSet + 2014-05-08T12:26:29Z + + + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-10) + + + + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-10</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.8606 173.334</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>40.5 40.5</gml:pos> + <gml:pos>30.5 30.5</gml:pos> + <gml:pos>20.5 40.5</gml:pos> + <gml:pos>10.5 30.5</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeogPolygon> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:null="true" /> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>40 10</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>20 40</gml:pos> + <gml:pos>10 30</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:null="true" /> + <d:Geom m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + </gml:LineString> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos /> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:null="true" /> + <d:GeomPolygon m:null="true" /> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>10 40</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>40 20</gml:pos> + <gml:pos>30 10</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>40 40</gml:pos> + <gml:pos>20 45</gml:pos> + <gml:pos>45 30</gml:pos> + <gml:pos>40 40</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>20 35</gml:pos> + <gml:pos>45 20</gml:pos> + <gml:pos>30 5</gml:pos> + <gml:pos>10 10</gml:pos> + <gml:pos>10 30</gml:pos> + <gml:pos>20 35</gml:pos> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>20 25</gml:pos> + <gml:pos>20 15</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeomMultiPolygon> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-9)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-9)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-9</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos /> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.7892 172.826</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:posList /> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:null="true" /> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>47.38 -122.7</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:null="true" /> + <d:GeogMultiPolygon m:type="Edm.GeographyMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiPolygon> + <d:Geom m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>15 5</gml:pos> + <gml:pos>40 10</gml:pos> + <gml:pos>10 20</gml:pos> + <gml:pos>5 10</gml:pos> + <gml:pos>15 5</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4369367.0586663447 6352015.6916818349</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>20 35</gml:pos> + <gml:pos>45 20</gml:pos> + <gml:pos>30 5</gml:pos> + <gml:pos>10 10</gml:pos> + <gml:pos>10 30</gml:pos> + <gml:pos>20 35</gml:pos> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>20 25</gml:pos> + <gml:pos>20 15</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pointMembers> + <gml:Point> + <gml:pos>0 0</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeomMultiPoint> + <d:GeomMultiLine m:null="true" /> + <d:GeomMultiPolygon m:null="true" /> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-8)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-8)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-8</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.5961 178.94</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>40 10</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogPolygon> + <d:GeogCollection m:type="Edm.GeographyCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogCollection> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>47.38 -122.7</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10.5 10.5</gml:pos> + <gml:pos>20.5 20.5</gml:pos> + <gml:pos>40.5 10.5</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40.5 40.5</gml:pos> + <gml:pos>30.5 30.5</gml:pos> + <gml:pos>20.5 40.5</gml:pos> + <gml:pos>10.5 30.5</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:type="Edm.GeographyMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>40 40</gml:pos> + <gml:pos>45 20</gml:pos> + <gml:pos>30 45</gml:pos> + <gml:pos>40 40</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>35 20</gml:pos> + <gml:pos>20 45</gml:pos> + <gml:pos>5 30</gml:pos> + <gml:pos>10 10</gml:pos> + <gml:pos>30 10</gml:pos> + <gml:pos>35 20</gml:pos> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:pos>20 30</gml:pos> + <gml:pos>25 20</gml:pos> + <gml:pos>15 20</gml:pos> + <gml:pos>20 30</gml:pos> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeogMultiPolygon> + <d:Geom m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4369367.0586663447 6352015.6916818349</gml:pos> + </gml:Point> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4377000.868172125 6348217.1067010015</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>45 40</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:geometryMembers> + <gml:Point> + <gml:pos>4 6</gml:pos> + </gml:Point> + <gml:LineString> + <gml:pos>4 6</gml:pos> + <gml:pos>7 10</gml:pos> + </gml:LineString> + </gml:geometryMembers> + </gml:MultiGeometry> + </d:GeomCollection> + <d:GeomMultiPoint m:null="true" /> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPolygon> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-7)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-7)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-7</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.8103 173.045</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.795 173.105</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>10.5 10.5</gml:pos> + <gml:pos>20.5 20.5</gml:pos> + <gml:pos>40.5 10.5</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeogPolygon> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>47.38 -122.7</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>40 10</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>20 40</gml:pos> + <gml:pos>10 30</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:null="true" /> + <d:Geom m:null="true" /> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4605537.5782547453 5924460.4760093335</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:null="true" /> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pointMembers> + <gml:Point> + <gml:pos>0 0</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeomMultiPoint> + <d:GeomMultiLine m:null="true" /> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPolygon> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-6)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-6)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-6</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.8453 173.153</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.9917 177.508</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:null="true" /> + <d:GeogPolygon m:null="true" /> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:null="true" /> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>40 10</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>20 40</gml:pos> + <gml:pos>10 30</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:type="Edm.GeographyMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>20 30</gml:pos> + <gml:pos>40 10</gml:pos> + <gml:pos>40 45</gml:pos> + <gml:pos>20 30</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeogMultiPolygon> + <d:Geom m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4358017.0935490858 6362964.504044747</gml:pos> + </gml:Point> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4377000.868172125 6348217.1067010015</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:null="true" /> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>45 40</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pointMembers> + <gml:Point> + <gml:pos>0 0</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>10 40</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>40 20</gml:pos> + <gml:pos>30 10</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPolygon> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-5)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-5)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-5</d:Id> + <d:Geog m:type="Edm.GeographyCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:Geog> + <d:GeogPoint m:null="true" /> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>10.5 10.5</gml:pos> + <gml:pos>20.5 20.5</gml:pos> + <gml:pos>40.5 10.5</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeogPolygon> + <d:GeogCollection m:type="Edm.GeographyCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:geometryMembers> + <gml:MultiGeometry /> + <gml:MultiGeometry> + <gml:geometryMembers> + <gml:Point> + <gml:pos>2 1</gml:pos> + </gml:Point> + </gml:geometryMembers> + </gml:MultiGeometry> + </gml:geometryMembers> + </gml:MultiGeometry> + </d:GeogCollection> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>47.38 -122.7</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:type="Edm.GeographyMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>40 40</gml:pos> + <gml:pos>45 20</gml:pos> + <gml:pos>30 45</gml:pos> + <gml:pos>40 40</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>35 20</gml:pos> + <gml:pos>20 45</gml:pos> + <gml:pos>5 30</gml:pos> + <gml:pos>10 10</gml:pos> + <gml:pos>30 10</gml:pos> + <gml:pos>35 20</gml:pos> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:pos>20 30</gml:pos> + <gml:pos>25 20</gml:pos> + <gml:pos>15 20</gml:pos> + <gml:pos>20 30</gml:pos> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeogMultiPolygon> + <d:Geom m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4513675.2944411123 6032903.5882574534</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:geometryMembers> + <gml:MultiGeometry /> + <gml:MultiGeometry> + <gml:geometryMembers> + <gml:Point> + <gml:pos>1 2</gml:pos> + </gml:Point> + </gml:geometryMembers> + </gml:MultiGeometry> + </gml:geometryMembers> + </gml:MultiGeometry> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>10 40</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>40 20</gml:pos> + <gml:pos>30 10</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:null="true" /> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-4)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-4)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-4</d:Id> + <d:Geog m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>40 10</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>20 40</gml:pos> + <gml:pos>10 30</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.8606 173.334</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:posList /> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeogPolygon> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>51.5961 178.94</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.7892 172.826</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.1022 177.539</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.9917 177.508</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.8453 173.153</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.8103 173.045</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.9461 177.76</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:type="Edm.GeographyMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiPolygon> + <d:Geom m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4605537.5782547453 5924460.4760093335</gml:pos> + </gml:Point> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4505479.22279754 6049837.1931612007</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>15 5</gml:pos> + <gml:pos>40 10</gml:pos> + <gml:pos>10 20</gml:pos> + <gml:pos>5 10</gml:pos> + <gml:pos>15 5</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pointMembers> + <gml:Point> + <gml:pos>4541876.7599749668 5944203.8929384714</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4358017.0935490858 6362964.504044747</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4515785.037825482 6055723.864035368</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4505479.22279754 6049837.1931612007</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4377000.868172125 6348217.1067010015</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10 10</gml:pos> + <gml:pos>20 20</gml:pos> + <gml:pos>10 40</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>40 20</gml:pos> + <gml:pos>30 10</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:null="true" /> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-3)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-3)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-3</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.9917 177.508</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + </d:GeogPoint> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>40 40</gml:pos> + <gml:pos>30 30</gml:pos> + <gml:pos>20 40</gml:pos> + <gml:pos>10 30</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:null="true" /> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:null="true" /> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:null="true" /> + <d:Geom m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + </gml:LineString> + </d:Geom> + <d:GeomPoint m:null="true" /> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + <gml:pos>1 1</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>15 5</gml:pos> + <gml:pos>40 10</gml:pos> + <gml:pos>10 20</gml:pos> + <gml:pos>5 10</gml:pos> + <gml:pos>15 5</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:curveMembers> + <gml:LineString> + <gml:pos>10.5 10.5</gml:pos> + <gml:pos>20.5 20.5</gml:pos> + <gml:pos>10.5 40.5</gml:pos> + </gml:LineString> + <gml:LineString> + <gml:pos>40.5 40.5</gml:pos> + <gml:pos>30.5 30.5</gml:pos> + <gml:pos>40.5 20.5</gml:pos> + <gml:pos>30.5 10.5</gml:pos> + </gml:LineString> + </gml:curveMembers> + </gml:MultiCurve> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>40 40</gml:pos> + <gml:pos>20 45</gml:pos> + <gml:pos>45 30</gml:pos> + <gml:pos>40 40</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>20 35</gml:pos> + <gml:pos>45 20</gml:pos> + <gml:pos>30 5</gml:pos> + <gml:pos>10 10</gml:pos> + <gml:pos>10 30</gml:pos> + <gml:pos>20 35</gml:pos> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>20 25</gml:pos> + <gml:pos>20 15</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeomMultiPolygon> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-2)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-2)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-2</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>52.7892 172.826</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:null="true" /> + <d:GeogLine m:type="Edm.GeographyLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>40.5 40.5</gml:pos> + <gml:pos>30.5 30.5</gml:pos> + <gml:pos>20.5 40.5</gml:pos> + <gml:pos>10.5 30.5</gml:pos> + </gml:LineString> + </d:GeogLine> + <d:GeogPolygon m:type="Edm.GeographyPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>5 15</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>20 10</gml:pos> + <gml:pos>10 5</gml:pos> + <gml:pos>5 15</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeogPolygon> + <d:GeogCollection m:type="Edm.GeographyCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:geometryMembers> + <gml:MultiGeometry /> + <gml:MultiGeometry> + <gml:geometryMembers> + <gml:Point> + <gml:pos>2 1</gml:pos> + </gml:Point> + </gml:geometryMembers> + </gml:MultiGeometry> + </gml:geometryMembers> + </gml:MultiGeometry> + </d:GeogCollection> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>52.8606 173.334</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.9125 179.5</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.9222 179.728</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.795 173.105</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.9778 172.914</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:type="Edm.GeographyMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiLine> + <d:GeogMultiPolygon m:null="true" /> + <d:Geom m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4377000.868172125 6348217.1067010015</gml:pos> + </gml:Point> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4377000.868172125 6348217.1067010015</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>15 5</gml:pos> + <gml:pos>40 10</gml:pos> + <gml:pos>10 20</gml:pos> + <gml:pos>5 10</gml:pos> + <gml:pos>15 5</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:null="true" /> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pointMembers> + <gml:Point> + <gml:pos>0 0</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeomMultiPoint> + <d:GeomMultiLine m:null="true" /> + <d:GeomMultiPolygon m:null="true" /> + </m:properties> + </content> + </entry> + <entry> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/AllGeoTypesSet(-1)</id> + <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> + <link rel="edit" title="AllSpatialTypes" href="AllGeoTypesSet(-1)" /> + <title /> + <updated>2014-05-08T12:26:29Z</updated> + <author> + <name /> + </author> + <content type="application/xml"> + <m:properties> + <d:Id m:type="Edm.Int32">-1</d:Id> + <d:Geog m:type="Edm.GeographyPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + </d:Geog> + <d:GeogPoint m:null="true" /> + <d:GeogLine m:null="true" /> + <d:GeogPolygon m:null="true" /> + <d:GeogCollection m:null="true" /> + <d:GeogMultiPoint m:type="Edm.GeographyMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> + <gml:pointMembers> + <gml:Point> + <gml:pos>52.8606 173.334</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.65 178.7</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.9125 179.5</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>51.9222 179.728</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.795 173.105</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>52.9778 172.914</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeogMultiPoint> + <d:GeogMultiLine m:null="true" /> + <d:GeogMultiPolygon m:type="Edm.GeographyMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/4326" /> + </d:GeogMultiPolygon> + <d:Geom m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4358017.0935490858 6362964.504044747</gml:pos> + </gml:Point> + </d:Geom> + <d:GeomPoint m:type="Edm.GeometryPoint"> + <gml:Point gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>4358017.0935490858 6362964.504044747</gml:pos> + </gml:Point> + </d:GeomPoint> + <d:GeomLine m:type="Edm.GeometryLineString"> + <gml:LineString gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pos>1 1</gml:pos> + <gml:pos>3 3</gml:pos> + <gml:pos>2 4</gml:pos> + <gml:pos>2 0</gml:pos> + <gml:pos>1 1</gml:pos> + </gml:LineString> + </d:GeomLine> + <d:GeomPolygon m:type="Edm.GeometryPolygon"> + <gml:Polygon gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:exterior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>45 40</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </d:GeomPolygon> + <d:GeomCollection m:type="Edm.GeometryCollection"> + <gml:MultiGeometry gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:geometryMembers> + <gml:Point> + <gml:pos>4 6</gml:pos> + </gml:Point> + <gml:LineString> + <gml:pos>4 6</gml:pos> + <gml:pos>7 10</gml:pos> + </gml:LineString> + </gml:geometryMembers> + </gml:MultiGeometry> + </d:GeomCollection> + <d:GeomMultiPoint m:type="Edm.GeometryMultiPoint"> + <gml:MultiPoint gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:pointMembers> + <gml:Point> + <gml:pos>4541876.7599749668 5944203.8929384714</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4358017.0935490858 6362964.504044747</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4515785.037825482 6055723.864035368</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4505479.22279754 6049837.1931612007</gml:pos> + </gml:Point> + <gml:Point> + <gml:pos>4377000.868172125 6348217.1067010015</gml:pos> + </gml:Point> + </gml:pointMembers> + </gml:MultiPoint> + </d:GeomMultiPoint> + <d:GeomMultiLine m:type="Edm.GeometryMultiLineString"> + <gml:MultiCurve gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0" /> + </d:GeomMultiLine> + <d:GeomMultiPolygon m:type="Edm.GeometryMultiPolygon"> + <gml:MultiSurface gml:srsName="http://www.opengis.net/def/crs/EPSG/0/0"> + <gml:surfaceMembers> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>30 20</gml:pos> + <gml:pos>10 40</gml:pos> + <gml:pos>45 40</gml:pos> + <gml:pos>30 20</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + <gml:Polygon> + <gml:exterior> + <gml:LinearRing> + <gml:pos>15 5</gml:pos> + <gml:pos>40 10</gml:pos> + <gml:pos>10 20</gml:pos> + <gml:pos>5 10</gml:pos> + <gml:pos>15 5</gml:pos> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMembers> + </gml:MultiSurface> + </d:GeomMultiPolygon> + </m:properties> + </content> + </entry> +</feed> \ No newline at end of file diff --git a/fit/src/main/resources/V30/Computer/feed.xml b/fit/src/main/resources/V30/Computer/feed.xml index 62605c958..6c727fe34 100644 --- a/fit/src/main/resources/V30/Computer/feed.xml +++ b/fit/src/main/resources/V30/Computer/feed.xml @@ -19,13 +19,13 @@ under the License. --> -<feed xml:base="http://localhost:8080/DefaultService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> - <id>http://localhost:8080/DefaultService.svc/Computer</id> +<feed xml:base="http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> + <id>http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer</id> <title type="text">Computer 2014-05-08T10:00:26Z - http://localhost:8080/DefaultService.svc/Computer(11) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(11) @@ -34,7 +34,7 @@ - + 11 @@ -43,7 +43,7 @@ - http://localhost:8080/DefaultService.svc/Computer(12) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(12) @@ -52,7 +52,7 @@ - + 12 @@ -61,7 +61,7 @@ - http://localhost:8080/DefaultService.svc/Computer(13) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(13) @@ -70,7 +70,7 @@ - + 13 @@ -79,7 +79,7 @@ - http://localhost:8080/DefaultService.svc/Computer(14) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(14) @@ -88,7 +88,7 @@ - + 14 @@ -97,7 +97,7 @@ - http://localhost:8080/DefaultService.svc/Computer(15) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(15) @@ -106,7 +106,7 @@ - + 15 @@ -115,7 +115,7 @@ - http://localhost:8080/DefaultService.svc/Computer(16) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(16) @@ -124,7 +124,7 @@ - + 16 @@ -133,7 +133,7 @@ - http://localhost:8080/DefaultService.svc/Computer(17) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(17) @@ -142,7 +142,7 @@ - + 17 @@ -151,7 +151,7 @@ - http://localhost:8080/DefaultService.svc/Computer(18) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(18) @@ -160,7 +160,7 @@ - + 18 @@ -169,7 +169,7 @@ - http://localhost:8080/DefaultService.svc/Computer(19) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(19) @@ -178,7 +178,7 @@ - + 19 @@ -187,7 +187,7 @@ - http://localhost:8080/DefaultService.svc/Computer(20) + http://localhost:${cargo.servlet.port}/stub/StaticService/V30/Static.svc/Computer(20) @@ -196,7 +196,7 @@ - + 20 diff --git a/fit/src/test/java/org/apache/olingo/fit/v3/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v3/EntityRetrieveTestITCase.java index 1b95c6015..b6943aa0d 100644 --- a/fit/src/test/java/org/apache/olingo/fit/v3/EntityRetrieveTestITCase.java +++ b/fit/src/test/java/org/apache/olingo/fit/v3/EntityRetrieveTestITCase.java @@ -31,6 +31,7 @@ import org.apache.olingo.client.api.communication.request.retrieve.ODataRawReque import org.apache.olingo.client.api.communication.response.ODataRawResponse; import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse; import org.apache.olingo.client.api.uri.CommonURIBuilder; +import org.apache.olingo.client.api.uri.v3.URIBuilder; import org.apache.olingo.commons.api.data.ResWrap; import org.apache.olingo.commons.api.domain.CommonODataEntity; import org.apache.olingo.commons.api.domain.CommonODataEntitySet; @@ -202,7 +203,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase { } @Test - public void checkForETagAsATOM() { + public void checkForETagAsAtom() { checkForETag(ODataPubFormat.ATOM); } @@ -239,4 +240,25 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase { // since we are attempting to parse an EntitySet as if it was an Entity req.execute().getBody(); } + + private void geospatial(final ODataPubFormat format) { + final URIBuilder uriBuilder = client.getURIBuilder(getServiceRoot()). + appendEntitySetSegment("AllGeoTypesSet").appendKeySegment(-10); + + final ODataEntityRequest req = client.getRetrieveRequestFactory().getEntityRequest(uriBuilder.build()); + req.setFormat(format); + + final ODataEntity entity = req.execute().getBody(); + assertNotNull(entity); + } + + @Test + public void geospatialAsJSON() { + geospatial(ODataPubFormat.JSON_FULL_METADATA); + } + + @Test + public void geospatialAsAtom() { + geospatial(ODataPubFormat.ATOM); + } } diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AtomGeoValueDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AtomGeoValueDeserializer.java index 4d579bfa4..41a129f92 100644 --- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AtomGeoValueDeserializer.java +++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AtomGeoValueDeserializer.java @@ -73,6 +73,11 @@ class AtomGeoValueDeserializer { } } + // handles bad input, e.g. things like + if (result.isEmpty()) { + result.add(new Point(GeoUtils.getDimension(type), srid)); + } + return result; }