static boolean check()

in hbase-hbck2/src/main/java/org/apache/hbase/Version.java [39:78]


  static boolean check(final String version, String ... thresholdVersions) {
    if (thresholdVersions == null) {
      return true;
    }
    boolean supported = false;
    // Components of the server version string.
    String [] versionComponents = getVersionComponents(version);
    boolean excessiveMajor = false;
    boolean excessiveMinor = false;
    for (String thresholdVersion: thresholdVersions) {
      // Get components of current threshold version.
      String[] thresholdVersionComponents = getVersionComponents(thresholdVersion);
      int serverMajor = Integer.parseInt(versionComponents[MAJOR]);
      int thresholdMajor = Integer.parseInt(thresholdVersionComponents[MAJOR]);
      if (serverMajor > thresholdMajor) {
        excessiveMajor = true;
        continue;
      }
      excessiveMajor = false;
      if (serverMajor < thresholdMajor) {
        continue;
      }
      int serverMinor = Integer.parseInt(versionComponents[MINOR]);
      int thresholdMinor = Integer.parseInt(thresholdVersionComponents[MINOR]);
      if (serverMinor > thresholdMinor) {
        excessiveMinor = true;
        continue;
      }
      excessiveMinor = false;
      if (serverMinor < thresholdMinor) {
        continue;
      }
      if (Integer.parseInt(versionComponents[PATCH]) >=
          Integer.parseInt(thresholdVersionComponents[PATCH])) {
        supported = true;
      }
      break;
    }
    return supported || excessiveMajor || excessiveMinor;
  }