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);
   }