diff --git a/designer_base/src/com/fr/design/extra/PluginHelper.java b/designer_base/src/com/fr/design/extra/PluginHelper.java index d160e1c9c..1230cbfae 100644 --- a/designer_base/src/com/fr/design/extra/PluginHelper.java +++ b/designer_base/src/com/fr/design/extra/PluginHelper.java @@ -46,7 +46,6 @@ public class PluginHelper { public static final String TEMP_FILE = "temp.zip"; public static final String CONNECTION_404 = "404"; - private static final String LOW_VERSION = "0"; /** * 下载插件 @@ -343,67 +342,10 @@ public class PluginHelper { */ public static boolean isNewThan(Plugin plugin, Plugin oldPlugin) { - return compareVersion(plugin.getVersion(), oldPlugin.getVersion()) >= 0; + return plugin.versionCompareTo(oldPlugin) >= 0; } - private static int compareVersion(String version1, String version2) { - - if (StringUtils.isBlank(version1)) { - version1 = LOW_VERSION; - } - if (StringUtils.isBlank(version2)) { - version2 = LOW_VERSION; - } - //1.1.1类型 - String[] v1 = parseVersion(version1); - String[] v2 = parseVersion(version2); - return compareVersion(v1, v2); - } - private static int compareVersion(String[] v1, String[] v2) { - //v1,v2都是1.1.1类型的数组 - int result = 0; - int tempResult; - for (int i = 0; i < v1.length; i++) { - if (i >= v2.length) { - //一直没分出大小,v2用完了,v1大 - result = 1; - break; - } - tempResult = compareIntStr(v1[i], v2[i]); - if (tempResult != 0) { - //分出大小,停止后续比较 - result = tempResult; - break; - } - } - //循环完了v1,如果还没比出大小 - if (result == 0 && v2.length > v1.length) { - result = -1; - } - return result; - } - - private static int compareIntStr(String s1, String s2) { - - return Integer.parseInt(s1) - Integer.parseInt(s2); - } - - private static String[] parseVersion(String versionStr) { - - char c; - StringBuilder sBuilder = new StringBuilder(); - for (int i = 0; i < versionStr.length(); i++) { - c = versionStr.charAt(i); - if (Character.isDigit(c)) { - sBuilder.append(c); - } else if (c == '.') { - sBuilder.append("-"); - } - } - return sBuilder.toString().split("-"); - } - private static String sendInstalledPluginInfo(final Plugin plugin) { if (StableUtils.isDebug()) { return "debug status";