private int compareElements()

in nuget-common/src/jetbrains/buildServer/nuget/common/version/SemanticVersion.java [141:172]


  private int compareElements(@NotNull String s1, @NotNull String s2) {
    int i1 = 0;
    int i2 = 0;
    boolean isInt1 = true;
    boolean isInt2 = true;
    try {
      i1 = Integer.parseInt(s1);
    } catch (Exception e) {
      isInt1 = false;
    }
    try {
      i2 = Integer.parseInt(s2);
    } catch (Exception e) {
      isInt2 = false;
    }

    if (isInt1 && isInt2) {
      if (i1 == i2) return 0;
      if (i1 < i2) return -1;
      if (i1 > i2) return 1;
    }

    if (isInt1 && !isInt2) {
      return -1;
    }

    if (!isInt1 && isInt2) {
      return 1;
    }

    return s1.compareTo(s2);
  }