You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2020/04/24 01:08:53 UTC
[servicecomb-java-chassis] branch master updated: [SCB-1873] using
Version to implement VrsionCompareUtil
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new 430a5e2 [SCB-1873] using Version to implement VrsionCompareUtil
430a5e2 is described below
commit 430a5e2a972c35e5f647f358adb5d11dd31d1b97
Author: liubao <bi...@qq.com>
AuthorDate: Wed Apr 22 10:00:35 2020 +0800
[SCB-1873] using Version to implement VrsionCompareUtil
---
.../router/util/VersionCompareUtil.java | 39 +++-------------------
.../servicecomb/router/VersionCompareUtilTest.java | 6 +---
2 files changed, 6 insertions(+), 39 deletions(-)
diff --git a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/util/VersionCompareUtil.java b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/util/VersionCompareUtil.java
index 9d92917..eb9d986 100644
--- a/handlers/handler-router/src/main/java/org/apache/servicecomb/router/util/VersionCompareUtil.java
+++ b/handlers/handler-router/src/main/java/org/apache/servicecomb/router/util/VersionCompareUtil.java
@@ -16,39 +16,10 @@
*/
package org.apache.servicecomb.router.util;
-/**
- * @Author GuoYl123
- * @Date 2019/10/16
- **/
+import org.apache.servicecomb.serviceregistry.version.Version;
+
public class VersionCompareUtil {
- /**
- * if first num is bigger then return a positive number
- *
- * @param version1
- * @param version2
- * @return
- */
- public static int compareVersion(String version1, String version2) {
- if (version1 == null || version2 == null) {
- throw new RuntimeException("version can not be null");
- }
- String[] versionArray1 = version1.split("\\.");
- String[] versionArray2 = version2.split("\\.");
- int idx = 0;
- int diff = 0;
- int minLength = Math.min(versionArray1.length, versionArray2.length);
- while (idx < minLength
- && versionArray1[idx].length() - versionArray2[idx].length() == 0
- && versionArray1[idx].compareTo(versionArray2[idx]) == 0) {
- ++idx;
- }
- idx = idx < minLength ? idx : idx - 1;
- if (versionArray1[idx].length() - versionArray2[idx].length() == 0) {
- diff = versionArray1[idx].compareTo(versionArray2[idx]);
- } else {
- diff = versionArray1[idx].length() - versionArray2[idx].length();
- }
- diff = (diff != 0) ? diff : versionArray1.length - versionArray2.length;
- return diff;
- }
+ public static int compareVersion(String version1, String version2) {
+ return new Version(version1).compareTo(new Version(version2));
+ }
}
diff --git a/handlers/handler-router/src/test/java/org/apache/servicecomb/router/VersionCompareUtilTest.java b/handlers/handler-router/src/test/java/org/apache/servicecomb/router/VersionCompareUtilTest.java
index a760bc8..46ee61e 100644
--- a/handlers/handler-router/src/test/java/org/apache/servicecomb/router/VersionCompareUtilTest.java
+++ b/handlers/handler-router/src/test/java/org/apache/servicecomb/router/VersionCompareUtilTest.java
@@ -20,10 +20,6 @@ import org.apache.servicecomb.router.util.VersionCompareUtil;
import org.junit.Assert;
import org.junit.Test;
-/**
- * @Author GuoYl123
- * @Date 2019/11/21
- **/
public class VersionCompareUtilTest {
@Test
@@ -31,7 +27,7 @@ public class VersionCompareUtilTest {
Assert.assertTrue(VersionCompareUtil.compareVersion("0.0.1", "0.0.0") > 0);
Assert.assertEquals(0, VersionCompareUtil.compareVersion("0.0.0", "0.0.0"));
Assert.assertTrue(VersionCompareUtil.compareVersion("0.0.0", "0.0.1") < 0);
- Assert.assertTrue(VersionCompareUtil.compareVersion("0.0.0", "0.0.0.0") < 0);
+ Assert.assertEquals(0, VersionCompareUtil.compareVersion("0.0.0", "0.0.0.0"));
Assert.assertTrue(VersionCompareUtil.compareVersion("0.0.1", "0.0.0.0") > 0);
Assert.assertTrue(VersionCompareUtil.compareVersion("0.0.1", "0.0.0.0") > 0);
}