code: public String getConnectionString(String connectionStringKey, String dbFileNameKey)
              throws IOException, InvalidSettingException {
          final String connStr = getString(connectionStringKey);
          if (connStr == null) {
              final String msg = String.format("Invalid properties file; %s is missing.", connectionStringKey);
              throw new InvalidSettingException(msg);
          }
          if (connStr.contains("%s")) {
              final File directory = getH2DataDirectory();
              LOGGER.debug("Data directory: {}", directory);
              String fileName = null;
              if (dbFileNameKey != null) {
                  fileName = getString(dbFileNameKey);
              }
              if (fileName == null) {
                  final String msg = String.format("Invalid properties file to get a file based connection string; '%s' must be defined.",
                          dbFileNameKey);
                  throw new InvalidSettingException(msg);
              }
              if (connStr.startsWith("jdbc:h2:file:") && fileName.endsWith(".mv.db")) {
                  fileName = fileName.substring(0, fileName.length() - 6);
              }
              // yes, for H2 this path won't actually exists - but this is sufficient to get the value needed
              final File dbFile = new File(directory, fileName);
              final String cString = String.format(connStr, dbFile.getCanonicalPath());
              LOGGER.debug("Connection String: '{}'", cString);
              return cString;
          }
          return connStr;
      }
docs: Returns a connection string from the configured properties. If the
  connection string contains a %s, this method will determine the 'data'
  directory and replace the %s with the path to the data directory. If the
  data directory does not exist it will be created.
  
  @param connectionStringKey the property file key for the connection
  string
  @param dbFileNameKey the settings key for the db filename
  @return the connection string
  @throws IOException thrown the data directory cannot be created
  @throws InvalidSettingException thrown if there is an invalid setting