diff options
author | Ade Lee <alee@redhat.com> | 2017-03-21 23:33:09 -0400 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2017-03-22 12:02:05 -0400 |
commit | 58bfe7d510126609969703325d7655175be5da62 (patch) | |
tree | 751feb221e1fd5eb0116f94ea0280df713087972 /base/common/src/org | |
parent | 72842646533a8194210e3ea243e5f53b2dc80297 (diff) | |
download | pki-58bfe7d510126609969703325d7655175be5da62.tar.gz pki-58bfe7d510126609969703325d7655175be5da62.tar.xz pki-58bfe7d510126609969703325d7655175be5da62.zip |
Added comparator function to version
Change-Id: I862c86994e6268860380404113a9bea0d237d60e
Diffstat (limited to 'base/common/src/org')
-rw-r--r-- | base/common/src/org/dogtagpki/common/Version.java | 72 |
1 files changed, 53 insertions, 19 deletions
diff --git a/base/common/src/org/dogtagpki/common/Version.java b/base/common/src/org/dogtagpki/common/Version.java index 4f87e07ec..a76bca20c 100644 --- a/base/common/src/org/dogtagpki/common/Version.java +++ b/base/common/src/org/dogtagpki/common/Version.java @@ -60,26 +60,60 @@ public class Version { this.micro = micro; } + public int compare(Version v1, Version v2) { + if (v1.major != v2.major) { + return v1.major - v2.major; + } + if (v1.minor != v2.minor) { + return v1.minor - v2.minor; + } + if (v1.micro != v2.micro) { + return v1.micro - v2.micro; + } + return 0; + } + + public boolean equals(Version v2) { + return compare(this, v2) == 0; + } + + public boolean isNewerThan(Version v2) { + return compare(this, v2) > 0; + } + + public boolean isOlderThan(Version v2) { + return compare(this, v2) < 0; + } + + public boolean isNewerThanOrEquals(Version v2) { + return compare(this, v2) >= 0; + } + public static void main(String args[]) throws Exception { - Version version = new Version("10.4.0"); - if (version.getMajor() != 10) System.out.println("Error in getting major"); - if (version.getMinor() != 4) System.out.println("Error in getting minor"); - if (version.getMicro() != 0) System.out.println("Error in getting micro"); - - version = new Version("9.1"); - if (version.getMajor() != 9) System.out.println("Error in getting major"); - if (version.getMinor() != 1) System.out.println("Error in getting minor"); - if (version.getMicro() != 0) System.out.println("Error in getting micro"); - - version = new Version("4"); - if (version.getMajor() != 4) System.out.println("Error in getting major"); - if (version.getMinor() != 0) System.out.println("Error in getting minor"); - if (version.getMicro() != 0) System.out.println("Error in getting micro"); - - version = new Version("8.53.2.6"); - if (version.getMajor() != 8) System.out.println("Error in getting major"); - if (version.getMinor() != 53) System.out.println("Error in getting minor"); - if (version.getMicro() != 2) System.out.println("Error in getting micro"); + Version v1 = new Version("10.4.0"); + if (v1.getMajor() != 10) System.out.println("Error in getting major"); + if (v1.getMinor() != 4) System.out.println("Error in getting minor"); + if (v1.getMicro() != 0) System.out.println("Error in getting micro"); + + Version v2 = new Version("9.1"); + if (v2.getMajor() != 9) System.out.println("Error in getting major"); + if (v2.getMinor() != 1) System.out.println("Error in getting minor"); + if (v2.getMicro() != 0) System.out.println("Error in getting micro"); + + Version v3 = new Version("4"); + if (v3.getMajor() != 4) System.out.println("Error in getting major"); + if (v3.getMinor() != 0) System.out.println("Error in getting minor"); + if (v3.getMicro() != 0) System.out.println("Error in getting micro"); + + Version v4 = new Version("8.53.2.6"); + if (v4.getMajor() != 8) System.out.println("Error in getting major"); + if (v4.getMinor() != 53) System.out.println("Error in getting minor"); + if (v4.getMicro() != 2) System.out.println("Error in getting micro"); + + // comparator tests + if (!v1.isNewerThan(v2)) System.out.println("Error in isNewerThan comparator"); + if (!v4.isNewerThanOrEquals(v3)) System.out.println("Error in isNewerThanOrEquals comparator"); + if (!v1.equals(v1)) System.out.println("Error in equals comparator"); } } |