The general ideas for provider frameworks used in the project are maintained at the wiki page https://sourceforge.net/apps/mediawiki/coalescent/index.php?title=Provider_impl_architecture:. We need to make some changes to the code to bring in effect the proposed ideas on provider frameworks.
Currently, the package coalescent.driver contains the following classes.
coalescent.driver.DataDriver
coalescent.driver.DataDriverException
coalescent.driver.DriverManager
First, this package, which is the old provider framework for popgen.data.Data should be moved to the data project (coalescent_data). The client interface of this package is DriverManager and it is no surprise that this has not been used in the project and rightfully so. The core project should be able to work with the interfaces and base classes. The tests should make use of the memory-data constructors (if, available) else create private implementations for testing purposes.
Second, the package name should be renamed as proposed in the wiki to: provider.popgen.data.
Third, the following classes in the newly created package provider.popgen.data are renamed as described below by the proposed naming conventions.
coalescent.driver.DataDriver renamed provider.popgen.data.DataProvider.
coalescent.driver.DataDriverException renamed provider.popgen.data.DataProviderException.
coalescent.driver.DriverManager renamed to provider.popgen.data.DataProvidermanager.