keycloak-uncached

Details

diff --git a/model/api/src/main/java/org/keycloak/migration/ModelVersion.java b/model/api/src/main/java/org/keycloak/migration/ModelVersion.java
index d866320..93e7798 100755
--- a/model/api/src/main/java/org/keycloak/migration/ModelVersion.java
+++ b/model/api/src/main/java/org/keycloak/migration/ModelVersion.java
@@ -56,9 +56,24 @@ public class ModelVersion {
     }
 
     public boolean lessThan(ModelVersion version) {
-        if (major < version.major) return true;
-        if (minor < version.minor) return true;
-        if (micro < version.micro) return true;
+        if (major < version.major) {
+            return true;
+        } else if (major > version.major) {
+            return false;
+        }
+
+        if (minor < version.minor) {
+            return true;
+        } else if (minor > version.minor) {
+            return false;
+        }
+
+        if (micro < version.micro) {
+            return true;
+        } else if (minor > version.minor) {
+            return false;
+        }
+
         if (qualifier != null && qualifier.equals(version.qualifier)) return false;
         if (qualifier == null) return false;
         if (version.qualifier == null) return true;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/MigrationVersionTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/MigrationVersionTest.java
index e119c03..4e5039a 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/MigrationVersionTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/MigrationVersionTest.java
@@ -21,10 +21,12 @@ public class MigrationVersionTest {
         ModelVersion version_110Beta1 = new ModelVersion("1.1.0.Beta1");
         ModelVersion version_110CR1 = new ModelVersion("1.1.0.CR1");
         ModelVersion version_110 = new ModelVersion("1.1.0");
-        ModelVersion version_111Beta1 = new ModelVersion("1.1.1.Beta1");
-        ModelVersion version_111CR1 = new ModelVersion("1.1.1.CR1");
-        ModelVersion version_111 = new ModelVersion("1.1.1");
-        ModelVersion version_211Beta1 = new ModelVersion("2.1.1.Beta1");
+
+        ModelVersion version_120CR1 = new ModelVersion("1.2.0.CR1");
+        ModelVersion version_130Beta1 = new ModelVersion("1.3.0.Beta1");
+        ModelVersion version_130 = new ModelVersion("1.3.0");
+        ModelVersion version_140 = new ModelVersion("1.4.0");
+
         ModelVersion version_211CR1 = new ModelVersion("2.1.1.CR1");
         Assert.assertEquals(version_211CR1.getMajor(), 2);
         Assert.assertEquals(version_211CR1.getMinor(), 1);
@@ -38,6 +40,12 @@ public class MigrationVersionTest {
         Assert.assertTrue(version_100Beta1.lessThan(version_110Beta1));
         Assert.assertTrue(version_100Beta1.lessThan(version_110CR1));
         Assert.assertTrue(version_100Beta1.lessThan(version_110));
+        Assert.assertFalse(version_110Beta1.lessThan(version_100CR1));
+        Assert.assertFalse(version_130Beta1.lessThan(version_120CR1));
+        Assert.assertTrue(version_130Beta1.lessThan(version_130));
+        Assert.assertTrue(version_130Beta1.lessThan(version_140));
+        Assert.assertFalse(version_211CR1.lessThan(version_140));
+        Assert.assertTrue(version_140.lessThan(version_211CR1));
 
         Assert.assertFalse(version_211.lessThan(version_110CR1));