/** Load properties that already exist from Jive properties. */
  private void loadProperties() {

    driver = JiveGlobals.getXMLProperty("database.defaultProvider.driver");
    serverURL = JiveGlobals.getXMLProperty("database.defaultProvider.serverURL");
    username = JiveGlobals.getXMLProperty("database.defaultProvider.username");
    password = JiveGlobals.getXMLProperty("database.defaultProvider.password");
    String minCons = JiveGlobals.getXMLProperty("database.defaultProvider.minConnections");
    String maxCons = JiveGlobals.getXMLProperty("database.defaultProvider.maxConnections");
    String conTimeout = JiveGlobals.getXMLProperty("database.defaultProvider.connectionTimeout");
    testSQL =
        JiveGlobals.getXMLProperty(
            "database.defaultProvider.testSQL", DbConnectionManager.getTestSQL(driver));
    testBeforeUse = JiveGlobals.getXMLProperty("database.defaultProvider.testBeforeUse", true);
    testAfterUse = JiveGlobals.getXMLProperty("database.defaultProvider.testAfterUse", true);

    // See if we should use Unicode under MySQL
    mysqlUseUnicode = Boolean.valueOf(JiveGlobals.getXMLProperty("database.mysql.useUnicode"));
    try {
      if (minCons != null) {
        minConnections = Integer.parseInt(minCons);
      }
      if (maxCons != null) {
        maxConnections = Integer.parseInt(maxCons);
      }
      if (conTimeout != null) {
        connectionTimeout = Double.parseDouble(conTimeout);
      }
    } catch (Exception e) {
      Log.error(
          "Error: could not parse default pool properties. "
              + "Make sure the values exist and are correct.",
          e);
    }
  }