I thought I'd have a go at addressing https://jira.codehaus.org/browse/GEOS-5976 as a beginner's task in GeoServer development. This is to add configuration and output of DataURL elements for Layers in the WMS GetCapabilities response. I got some pointers from Ben Caradoc-Davies as to which parts of the code base to look at and I've made changes which seem to work at https://github.com/bgsmase/geoserver/tree/tmpwk_dataurl. I'd like to ask some questions about how things should be done before creating a pull request.
I've essentially done the coding by analogy with the existing code for producing MetadataURLs without necessarily fully understanding all aspects of the code structure.
The DataURL element is only present in WMS Capabilities responses, not WFS or WCS but I've added the information to the layer configuration at the org.geoserver.catalog.ResourceInfo level. So there are also some superfluous extra methods for CoverageInfo, FeatureTypeInfo. Is that OK?
Can I assume that there is no point updating the legacy catalog reader at org.geoserver.catalog.util.LegacyCatalogImporter to read DataURLs as they won't have any?
I noticed the interface org.geoserver.config.GeoServerFactory has a createMetadataLink method but I couldn't see what this was for so I didn't add a similar createDataLink method on this interface. OK?
Similarly I wasn't sure why the org.geoserver.config.ServiceInfo interface has get and set MetadataLink so I didn't put anything for DataLink here either.
I haven't looked at LayerGroups yet.
I've added similar tests to the existing metadata link ones but not in WFS/WCS related parts where MetadataURL exists but not DataURL. I can think of some other ones I could add like validating the mimetype but haven't done anything extra yet.
Should I squash all commits into one when it gets to the stage of being ready for a pull request?
I've only changed the WMS 1.3.0 response so far but will add to 1.1.1 response as well if I'm on the right track.
Any other comments?
Thanks,
Marcus Sen
British Geological Survey
Keyworth
Nottingham
NG12 5GG
Web: http://www.bgs.ac.uk
This message (and any attachments) is for the recipient only. NERC is subject to the Freedom of Information Act 2000 and the contents of this email and any reply you make may be disclosed by NERC unless it is exempt from release under the Act. Any material supplied to NERC may be stored in an electronic records management system.