I have recently been switching the udig application over to use the gt-epsg-h2 jar; and have run into an issue where unpacking the database for the first time is causing me some grief.
I would like to check if the database is unpacked; and if so start up a separate thread to trigger the database install. To that end I have Threadedh2EpsgFactory.isUnpacked() as a static method that goes through the same motions as getDirectory() and getTemporaryDirectory() and tests to see if the directory exists already
I will give this a go and see how it turns out.
In an ideal world it would be nice to unpack the database with a progress listener in order to amuse the user while they wait.