Committed by
Thomas Vachuska
[ONOS-2544]Monidy the bug of vsrsion utility class: ignore the
different lengths of version. Change-Id: I9b980cb10b82cead04cacf5e1f694869d1ec11a2
Showing
1 changed file
with
17 additions
and
5 deletions
| ... | @@ -47,11 +47,23 @@ public final class VersionUtil { | ... | @@ -47,11 +47,23 @@ public final class VersionUtil { |
| 47 | * Compare fromVersion and toVersion. | 47 | * Compare fromVersion and toVersion. |
| 48 | * @param fromVersion the initial version | 48 | * @param fromVersion the initial version |
| 49 | * @param toVersion the end of the version | 49 | * @param toVersion the end of the version |
| 50 | - * @return a long number | 50 | + * @return an int number |
| 51 | */ | 51 | */ |
| 52 | - public static long versionCompare(String fromVersion, String toVersion) { | 52 | + public static int versionCompare(String fromVersion, String toVersion) { |
| 53 | - Long fromNum = Long.parseLong(fromVersion.replace(".", "")); | 53 | + String[] fromArr = fromVersion.split("\\."); |
| 54 | - Long toNum = Long.parseLong(toVersion.replace(".", "")); | 54 | + String[] toArr = toVersion.split("\\."); |
| 55 | - return (fromNum - toNum); | 55 | + int fromFirst = Integer.parseInt(fromArr[0]); |
| 56 | + int fromMiddle = Integer.parseInt(fromArr[1]); | ||
| 57 | + int fromEnd = Integer.parseInt(fromArr[2]); | ||
| 58 | + int toFirst = Integer.parseInt(toArr[0]); | ||
| 59 | + int toMiddle = Integer.parseInt(toArr[1]); | ||
| 60 | + int toEnd = Integer.parseInt(toArr[2]); | ||
| 61 | + if (fromFirst - toFirst != 0) { | ||
| 62 | + return fromFirst - toFirst; | ||
| 63 | + } else if (fromMiddle - toMiddle != 0) { | ||
| 64 | + return fromMiddle - toMiddle; | ||
| 65 | + } else { | ||
| 66 | + return fromEnd - toEnd; | ||
| 67 | + } | ||
| 56 | } | 68 | } |
| 57 | } | 69 | } | ... | ... |
-
Please register or login to post a comment