summaryrefslogtreecommitdiffstats
path: root/base/common/src/org
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2017-03-21 23:33:09 -0400
committerAde Lee <alee@redhat.com>2017-03-22 12:02:05 -0400
commit58bfe7d510126609969703325d7655175be5da62 (patch)
tree751feb221e1fd5eb0116f94ea0280df713087972 /base/common/src/org
parent72842646533a8194210e3ea243e5f53b2dc80297 (diff)
downloadpki-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.java72
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");
}
}