Refactor Catalogue and RdbmsCatalogue classes
Catalogue
class is used in multiple places in the CTA code, a refactor of this huge class would allow to reduce compilation times and make easier to develop for this class.
The header file Catalogue.hpp
has a lot of includes for an interface, trying to forward declare most of those headers, it would allow to reduce compilation time.
The source file of RdbmsCatalogue
currently contains 12.000 lines of code and growing. If it would be split in several classes, it would make easier to work there.
I propose something like:
class Catalogue {
virtual AdminUserCatalogue adminUser();
virtual TapeCatalogue tape();
virtual DriveStateCatalogue driveState();
...
}
One static class per Table in the catalogue schema.
So later we could write code like: m_catalogue->tape().modifyTapeVendor(admin, vid, vendor);