GSIP 52 - Refactor out DAO for Catalog and Configuration
Overview
Creating a DAO interface for Catalog and Configuration interfaces.
Proposed By
Assigned to Release
2.1-beta2
State
Under Discussion, In Progress, Completed, Rejected, Deferred
Motivation
The idea is to be able to support different backend storage formats for the catalog and configuration. The current in memory implementation has a number of drawbacks. The most notable being that it is memory bound which means it can not scale up to many many layers.
Currently the Catalog and GeoServer interfaces encapsulate everything from data access, events, and validation. Factoring out dao interfaces for only data access make it easier for new implementations to come forth, and reduce logic and duplication between different backend implementations.
Proposal
The idea is to create two new interfaces called CatalogDAO and GeosrverDAO. Which will emcompass all data access operations for the Catalog and GeoServer interfaces respectively.
The proposed new interfaces can be found here:
With these two interfaces the next step is to factor out code from the current CatalogImpl and GeoServerImpl implementations into two default dao implementations.
The entire patch can be found on github.
Feedback
Backwards Compatibility
The existing Catalog and GeoServer will remain the same. The refactor will be 100% backwards compatible.
Voting
Andrea Aime: +1
Alessio Fabiani: +1
Simone Giannecchini: +0
Ben Caradoc-Davies:
Jody Garnett: +1
Mark Leslie: +1
Rob Atkinson: +0