-
Notifications
You must be signed in to change notification settings - Fork 1
GSIP 157
Proposal to update the CatalogPostModifyEvent (and associated firePostModifed methods) to track changed values, similar to the current implementation of CatalogModifyEvent.
Torben Barsballe
This proposal is for GeoServer 2.12-beta.
- Under Discussion
- In Progress
- Completed
- Rejected
- Deferred
It would be very useful to have access to the list of values that changed during a Catalog operation in the CatalogPostModifyEvent. This proposal would also bring the CatalogPostModifyEvent up to feature-parity with the CatalogModifyEvent.
The CatalogModifyEvent tracks the following information:
- The CatalogInfo object being changed, before the change is applied
- A list of properties that will be changed, along with there pre-change and post-change values.
The CatalogPostModifyEvent only tracks the CatalogInfo object after the change has been applied.
There are cases where it would be very useful to have access to the list of changed values in the CatalogPostModifyEvent. To this end, I propose updating the CatalogPostModifyEvent to track this changed values, in the same way as the CatalogModifyEvent.
This change is not Backwards Compatible, as it involves a number of compatibility-breaking API changes:
- Public methods
getPropertyNames
,getOldValues
,getNewValues
added to CatalogPostModifyEvent interface. - The arguments
List<String> propertyNames
,List oldValues
,List newValues
have been added to the protected methodsbeforeSaved
andafterSaved
of AbstractCatalogFacade.
As a consequence of these API changes, the following updated have been made to associate classes and implementations:
- The arguments
List<String> propertyNames
,List oldValues
,List newValues
have been added to the package private methodfirePostModified
of AbstractCatalogDecorator, AbstractFilteredCatalog, CatalogImpl, and SecureCatalogImpl - Public methods
getPropertyNames
,setPropertyNames
,getNewValues
,setNewValues
,getOldValues
,setOldValues
added to CatalogPostModifyEventImpl.
Project Steering Committee:
- Alessio Fabiani:
- Andrea Aime: +1
- Ben Caradoc-Davies: +1
- Brad Hards:
- Christian Mueller:
- Ian Turton: +1
- Jody Garnett: +1
- Jukka Rahkonen:
- Kevin Smith: +1
- Simone Giannecchini:
- Email Discussion
- Initial Pull Request - https://github.com/geoserver/geoserver/pull/2101
- Jira issue: GEOS-7987
©2020 Open Source Geospatial Foundation