mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Move parseVersion from VersionUtil to Version and use it UpdateInfoDialog
This commit is contained in:
+6
-3
@@ -26,6 +26,7 @@ import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.application.ex.ApplicationInfoEx;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Version;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.BrowserHyperlinkListener;
|
||||
import com.intellij.ui.JBColor;
|
||||
@@ -238,9 +239,11 @@ class UpdateInfoDialog extends AbstractUpdateDialog {
|
||||
configureMessageArea(myLicenseArea, myLicenseInfo, myPaidUpgrade ? JBColor.RED : null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected String formatVersion(String version, String build) {
|
||||
return IdeBundle.message("updates.version.info", StringUtil.formatVersionToMajorMinorPatchString(version), build);
|
||||
}
|
||||
protected static String formatVersion(String versionString, String build) {
|
||||
Version version = Version.parseVersion(versionString);
|
||||
String formattedVersion = version != null ? version.toString() : versionString;
|
||||
return IdeBundle.message("updates.version.info", formattedVersion, build);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.intellij.openapi.util;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -14,6 +15,28 @@ public class Version {
|
||||
this.major = major;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static Version parseVersion(@NotNull String versionString) {
|
||||
String[] versions = versionString.split("\\.");
|
||||
String version = versions[0];
|
||||
int major = StringUtil.parseInt(version, -1);
|
||||
if (major < 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
int minor = (versions.length > 1) ? StringUtil.parseInt(versions[1], -1) : 0;
|
||||
if (minor < 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
int patch = (versions.length > 2) ? StringUtil.parseInt(versions[2], -1) : 0;
|
||||
if (patch < 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return new Version(major, minor, patch);
|
||||
}
|
||||
|
||||
public boolean is(@Nullable Integer major) {
|
||||
return is(major, null);
|
||||
}
|
||||
|
||||
@@ -2390,19 +2390,6 @@ public class StringUtil extends StringUtilRt {
|
||||
return packageName + '.' + className;
|
||||
}
|
||||
|
||||
@Contract(pure = true)
|
||||
public static String formatVersionToMajorMinorPatchString(String version) {
|
||||
if (version.matches("(\\d+\\.)*\\d+")) {
|
||||
String[] parts = version.split("\\.", 3);
|
||||
String major = parts.length > 0 ? parts[0] : "0";
|
||||
String minor = parts.length > 1 ? parts[1] : "0";
|
||||
String patch = parts.length > 2 ? parts[2] : "0";
|
||||
version = major + '.' + minor + '.' + patch;
|
||||
}
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
@Contract(pure = true)
|
||||
public static int compareVersionNumbers(@Nullable String v1, @Nullable String v2) {
|
||||
// todo duplicates com.intellij.util.text.VersionComparatorUtil.compare
|
||||
|
||||
@@ -424,17 +424,4 @@ public class StringUtilTest {
|
||||
assertEquals("Map", StringUtil.getPackageName("Map.Entry"));
|
||||
assertEquals("", StringUtil.getPackageName("Number"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatVersionToMajorMinorPatchString() {
|
||||
assertEquals("15.0.0", StringUtil.formatVersionToMajorMinorPatchString("15"));
|
||||
assertEquals("15.1.0", StringUtil.formatVersionToMajorMinorPatchString("15.1"));
|
||||
assertEquals("15.1.3", StringUtil.formatVersionToMajorMinorPatchString("15.1.3"));
|
||||
|
||||
assertEquals("15.1.3.25", StringUtil.formatVersionToMajorMinorPatchString("15.1.3.25"));
|
||||
|
||||
assertEquals("15.1 EAP", StringUtil.formatVersionToMajorMinorPatchString("15.1 EAP"));
|
||||
assertEquals("15 EAP", StringUtil.formatVersionToMajorMinorPatchString("15 EAP"));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user