You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2016/08/27 14:05:33 UTC
incubator-juneau git commit: Fix bug in version matching logic.
Repository: incubator-juneau
Updated Branches:
refs/heads/master 7100939a4 -> a6ba7804f
Fix bug in version matching logic.
Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/a6ba7804
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/a6ba7804
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/a6ba7804
Branch: refs/heads/master
Commit: a6ba7804f301f975e1d57275c106a90af34afdd7
Parents: 7100939
Author: jamesbognar <ja...@gmail.com>
Authored: Sat Aug 27 10:04:06 2016 -0400
Committer: jamesbognar <ja...@gmail.com>
Committed: Sat Aug 27 10:05:09 2016 -0400
----------------------------------------------------------------------
.../java/org/apache/juneau/internal/Version.java | 15 ++++++++++++++-
.../org/apache/juneau/internal/VersionRangeTest.java | 1 +
2 files changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/a6ba7804/juneau-core/src/main/java/org/apache/juneau/internal/Version.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/internal/Version.java b/juneau-core/src/main/java/org/apache/juneau/internal/Version.java
index 8d16e46..4a913e1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/internal/Version.java
+++ b/juneau-core/src/main/java/org/apache/juneau/internal/Version.java
@@ -74,6 +74,9 @@ public class Version {
else if (c < 0)
return true;
}
+ for (int i = parts.length; i < v.parts.length; i++)
+ if (v.parts[i] != 0)
+ return false;
return ! exclusive;
}
@@ -92,7 +95,17 @@ public class Version {
* @return <jk>true</jk> if the specified version is at most this version.
*/
public boolean isAtMost(Version v, boolean exclusive) {
- return v.isAtLeast(this, exclusive);
+ for (int i = 0; i < Math.min(parts.length, v.parts.length); i++) {
+ int c = parts[i] - v.parts[i];
+ if (c > 0)
+ return false;
+ else if (c < 0)
+ return true;
+ }
+ for (int i = parts.length; i < v.parts.length; i++)
+ if (v.parts[i] > 0)
+ return false;
+ return ! exclusive;
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/a6ba7804/juneau-core/src/test/java/org/apache/juneau/internal/VersionRangeTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/internal/VersionRangeTest.java b/juneau-core/src/test/java/org/apache/juneau/internal/VersionRangeTest.java
index 4922007..3694efb 100755
--- a/juneau-core/src/test/java/org/apache/juneau/internal/VersionRangeTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/internal/VersionRangeTest.java
@@ -49,6 +49,7 @@ public class VersionRangeTest {
/* 18 */ {"(.5.0,.6]", ".6", true},
/* 19 */ {"(.5.0,.6]", ".6.1", true},
/* 20 */ {"(.5.0,.6]", ".7", false},
+ /* 21 */ {"[1.1,2.0)", "1", false},
});
}