in src/main/java/com/vispana/api/model/VespaVersion.java [3:29]
public record VespaVersion(long major, long minor, long patch) {
public static VespaVersion fromString(String version) {
// Vespa use semantic versioning major.minor.patch
var parts = version.split("\\.");
if (parts.length != 3) {
throw new RuntimeException(
String.format("Failed to parse vespa semantic version: %s", version));
}
try {
new VespaVersion(
Long.parseLong(parts[0]), Long.parseLong(parts[1]), Long.parseLong(parts[2]));
} catch (NumberFormatException e) {
throw new RuntimeException(
String.format("Failed to parse vespa version numbers: %s", version), e);
}
return new VespaVersion(
Long.parseLong(parts[0]), Long.parseLong(parts[1]), Long.parseLong(parts[2]));
}
@Override
public String toString() {
return major + "." + minor + "." + patch;
}
}