This page last changed on Oct 26, 2010 by jdeolive.


Creating a DAO interface for Catalog and Configuration interfaces.

Proposed By

Justin Deoliveira

Assigned to Release



Under Discussion, In Progress, Completed, Rejected, Deferred


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.


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.


Backwards Compatibility

The existing Catalog and GeoServer will remain the same. The refactor will be 100% backwards compatible.


Andrea Aime: +1
Alessio Fabiani: +1
Simone Giannecchini: +0
Ben Caradoc-Davies:
Jody Garnett: +1
Mark Leslie: +1
Rob Atkinson: +0


[Email Discussion|]
Wiki Page

Document generated by Confluence on May 14, 2014 23:00