Persistent Database needed in Core Module for LSID generation to prevent namespace updating on clean-cache
The need to use a database table to generate new LSID revisions (ref bug 4633) spawned a new database table called LSID_GENERATOR. The table is defined in the common module's resources/configurations/configuration.xml file. Because all of these tables exist in the hsql database inside of the transient .kepler directory, whenever that directory is removed the LSID_GENERATOR table is lost and Kepler responds by retrieving a new namespace ID from the server.
Moving the LSID_GENERATOR table to the persistent KeplerData directory will prevent the namespace from being updated when the .kepler directory is removed.
Two possible solutions are:
There is already an hsql database in the persistent directory but it is defined in the provenance module. That database could be moved out of the provenance module and made to be shared by all modules. But the code needed for it's generation would need to be pushed into core (if it's not already there).
The other solution is to generate a new (3rd) hsql database in the persistent directory under the core module and then move the LSID_GENERATOR table to that database.
See the LSIDGenerator class' constructor for where the connection is made to access the LSID_GENERATOR table.