public static DriverVersion load()

in core/src/main/java/org/apache/calcite/avatica/DriverVersion.java [87:145]


  public static DriverVersion load(
      Class<? extends UnregisteredDriver> driverClass,
      String resourceName,
      String driverName,
      String driverVersion,
      String productName,
      String productVersion) {
    boolean jdbcCompliant = true;
    int majorVersion = 0;
    int minorVersion = 0;
    int databaseMajorVersion = 0;
    int databaseMinorVersion = 0;
    try (InputStream inStream =
          driverClass.getClassLoader().getResourceAsStream(resourceName)) {
      if (inStream != null) {
        final Properties properties = new Properties();
        properties.load(inStream);
        driverName = properties.getProperty("driver.name");
        driverVersion = properties.getProperty("driver.version");
        productName = properties.getProperty("product.name");
        productVersion = properties.getProperty("product.version");
        jdbcCompliant =
            Boolean.valueOf(properties.getProperty("jdbc.compliant"));
        String[] s = driverVersion.replaceAll("-.*$", "").split("\\.");
        final int major = Integer.parseInt(s[0]);
        final int minor = Integer.parseInt(s[1]);
        try {
          majorVersion =
              Integer.parseInt(properties.getProperty("driver.version.major"));
        } catch (NumberFormatException e) {
          majorVersion = major;
        }
        try {
          minorVersion =
              Integer.parseInt(properties.getProperty("driver.version.minor"));
        } catch (NumberFormatException e) {
          minorVersion = minor;
        }
        try {
          databaseMajorVersion =
              Integer.parseInt(properties.getProperty("database.version.major"));
        } catch (NumberFormatException e) {
          databaseMajorVersion = major;
        }
        try {
          databaseMinorVersion =
              Integer.parseInt(properties.getProperty("database.version.minor"));
        } catch (NumberFormatException e) {
          databaseMinorVersion = minor;
        }
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return new DriverVersion(
        driverName, driverVersion, productName, productVersion,
        jdbcCompliant, majorVersion, minorVersion, databaseMajorVersion,
        databaseMinorVersion);
  }