We should move this to geoserver-devel ... I kind of hope we can configure
xstream to smooth of the edges here.
--
Jody Garnett
On Fri, 10 Aug 2018 at 09:53, Andrea Aime <andrea.a...@geo-solutions.it>
wrote:
> Ticked opened:
> https://osgeo-org.atlassian.net/browse/GEOS-8884
>
> Mind, even if the data dir reading gets addressed, the change will still
> break REST clients. The above attribute
> structure is only present sometimes in the serialized data dir, but it's
> always present in the REST output
> for feature type resources, e.g.:
>
> [image: Selezione_330.png]
>
> So REST client relying on this information will be broken on upgrade. I
> don't think we had a
> "migration guide" for GeoServer in years, but this time it will be
> unavoidable. Bummer...
>
> Cheers
> Andrea
>
>
> On Fri, Aug 10, 2018 at 6:46 PM Andrea Aime <andrea.a...@geo-solutions.it>
> wrote:
>
>> On Fri, Aug 10, 2018 at 6:37 PM Jody Garnett <jody.garn...@gmail.com>
>> wrote:
>>
>>> Good find Andrea:
>>>
>>> Can you report a GeoServer bug for the featuretype.xml issue and we can
>>> sort out an approach. As with the GEOT-6087
>>> <https://osgeo-org.atlassian.net/browse/GEOT-6087> I would prefer to
>>> store the geometry type, rather than the class name if we are making a
>>> change.
>>>
>>
>> Those are bindings, class objects, when loaded into memory, I'm guess
>> that XStream can be configured with a custom converter that supports the
>> old class names. Unsure about
>> making them "geometry types" here however, see how the entire config file
>> looks like:
>>
>> <featureType>
>> <id>FeatureTypeInfoImpl-f95e248:1639c9ede3c:-7f46</id>
>> <name>tasmania_cities</name>
>> <nativeName>tasmania_cities</nativeName>
>> <namespace>
>> <id>NamespaceInfoImpl-16665e65:14fac043b7f:-8000</id>
>> </namespace>
>> <title>tasmania_cities</title>
>> <keywords>
>> <string>tasmania_cities</string>
>> <string>features</string>
>> </keywords>
>> <nativeCRS>GEOGCS["WGS 84",
>> DATUM["World Geodetic System 1984",
>> SPHEROID["WGS 84", 6378137.0, 298.257223563,
>> AUTHORITY["EPSG","7030"]],
>> AUTHORITY["EPSG","6326"]],
>> PRIMEM["Greenwich", 0.0,
>> AUTHORITY["EPSG","8901"]],
>> UNIT["degree", 0.017453292519943295],
>> AXIS["Geodetic longitude", EAST],
>> AXIS["Geodetic latitude", NORTH],
>> AUTHORITY["EPSG","4326"]]</nativeCRS>
>> <srs>EPSG:4326</srs>
>> <nativeBoundingBox>
>> <minx>147.2909004483</minx>
>> <maxx>147.2911004483</maxx>
>> <miny>-42.85110181689001</miny>
>> <maxy>-42.85090181689</maxy>
>> <crs>EPSG:4326</crs>
>> </nativeBoundingBox>
>> <latLonBoundingBox>
>> <minx>147.2909004483</minx>
>> <maxx>147.2911004483</maxx>
>> <miny>-42.85110181689001</miny>
>> <maxy>-42.85090181689</maxy>
>> <crs>EPSG:4326</crs>
>> </latLonBoundingBox>
>> <projectionPolicy>NONE</projectionPolicy>
>> <enabled>true</enabled>
>> <metadata>
>> <entry key="recalculate-bounds">true</entry>
>> </metadata>
>> <store class="dataStore">
>> <id>DataStoreInfoImpl-f95e248:1639c9ede3c:-7f47</id>
>> </store>
>> <maxFeatures>0</maxFeatures>
>> <numDecimals>0</numDecimals>
>> <attributes>
>> <attribute>
>> <name>the_geom</name>
>> <minOccurs>0</minOccurs>
>> <maxOccurs>0</maxOccurs>
>> <nillable>false</nillable>
>> <binding>*com.vividsolutions.jts.geom.MultiPoint*</binding>
>> </attribute>
>> <attribute>
>> <name>CITY_NAME</name>
>> <minOccurs>0</minOccurs>
>> <maxOccurs>0</maxOccurs>
>> <nillable>false</nillable>
>> <binding>*java.lang.String*</binding>
>> </attribute>
>> <attribute>
>> <name>ADMIN_NAME</name>
>> <minOccurs>0</minOccurs>
>> <maxOccurs>0</maxOccurs>
>> <nillable>false</nillable>
>> <binding>java.lang.String</binding>
>> </attribute>
>> <attribute>
>> <name>CNTRY_NAME</name>
>> <minOccurs>0</minOccurs>
>> <maxOccurs>0</maxOccurs>
>> <nillable>false</nillable>
>> <binding>java.lang.String</binding>
>> </attribute>
>> <attribute>
>> <name>STATUS</name>
>> <minOccurs>0</minOccurs>
>> <maxOccurs>0</maxOccurs>
>> <nillable>false</nillable>
>> <binding>java.lang.String</binding>
>> </attribute>
>> <attribute>
>> <name>POP_CLASS</name>
>> <minOccurs>0</minOccurs>
>> <maxOccurs>0</maxOccurs>
>> <nillable>false</nillable>
>> <binding>java.lang.String</binding>
>> </attribute>
>> </attributes>
>> <overridingServiceSRS>false</overridingServiceSRS>
>> <skipNumberMatched>false</skipNumberMatched>
>> <circularArcPresent>false</circularArcPresent>
>> </featureType>
>>
>> Aside: This would fall under "data directory" migration, the logic of
>>> which I am not completely familiar with since it has been some time since
>>> we made any structural changes.
>>>
>>
>> There is a old reader and a new reader, there is no real migration logic.
>> For this I'd roll a custom converter allowing backwards compatibility
>> instead.
>>
>>
>>> An easy approach would be to regenerate this cached feature type
>>> information, but we should also be able to update in place.
>>>
>>
>> Nope, users get mad at us when we modify the data dir contents on startup
>> (we have had a number of tickets already),
>> data dirs should be usable on read-only sources too (with the attention
>> of moving out logs, temps, tiles)
>>
>> Cheers
>> Andrea
>>
>> ==
>>
>> GeoServer Professional Services from the experts! Visit
>> http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
>> Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
>> (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
>> http://www.geo-solutions.it http://twitter.com/geosolutions_it
>> ------------------------------------------------------- *Con riferimento
>> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
>> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
>> circostanza inerente alla presente email (il suo contenuto, gli eventuali
>> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
>> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
>> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
>> sarei comunque grato se potesse darmene notizia. This email is intended
>> only for the person or entity to which it is addressed and may contain
>> information that is privileged, confidential or otherwise protected from
>> disclosure. We remind that - as provided by European Regulation 2016/679
>> “GDPR” - copying, dissemination or use of this e-mail or the information
>> herein by anyone other than the intended recipient is prohibited. If you
>> have received this email by mistake, please notify us immediately by
>> telephone or e-mail.*
>>
>
>
> --
>
> Regards, Andrea Aime == GeoServer Professional Services from the experts!
> Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime
> @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054
> Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339
> 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it
> ------------------------------------------------------- *Con riferimento
> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
> circostanza inerente alla presente email (il suo contenuto, gli eventuali
> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
> sarei comunque grato se potesse darmene notizia. This email is intended
> only for the person or entity to which it is addressed and may contain
> information that is privileged, confidential or otherwise protected from
> disclosure. We remind that - as provided by European Regulation 2016/679
> “GDPR” - copying, dissemination or use of this e-mail or the information
> herein by anyone other than the intended recipient is prohibited. If you
> have received this email by mistake, please notify us immediately by
> telephone or e-mail.*
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel