keycloak-uncached

KEYCLOAK-8854 Updated UserSessionPredicate.ExternalizerImpl

11/16/2018 12:48:36 PM

Details

diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/UserSessionPredicate.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/UserSessionPredicate.java
index 7ec245c..f590af3 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/UserSessionPredicate.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/UserSessionPredicate.java
@@ -152,16 +152,19 @@ public class UserSessionPredicate implements Predicate<Map.Entry<String, Session
     public static class ExternalizerImpl implements Externalizer<UserSessionPredicate> {
 
         private static final int VERSION_1 = 1;
+        private static final int VERSION_2 = 2;
 
         @Override
         public void writeObject(ObjectOutput output, UserSessionPredicate obj) throws IOException {
-            output.writeByte(VERSION_1);
+            output.writeByte(VERSION_2);
 
             MarshallUtil.marshallString(obj.realm, output);
             MarshallUtil.marshallString(obj.user, output);
             MarshallUtil.marshallString(obj.client, output);
             KeycloakMarshallUtil.marshall(obj.expired, output);
             KeycloakMarshallUtil.marshall(obj.expiredRefresh, output);
+            KeycloakMarshallUtil.marshall(obj.expiredRememberMe, output);
+            KeycloakMarshallUtil.marshall(obj.expiredRefreshRememberMe, output);
             MarshallUtil.marshallString(obj.brokerSessionId, output);
             MarshallUtil.marshallString(obj.brokerUserId, output);
 
@@ -172,6 +175,8 @@ public class UserSessionPredicate implements Predicate<Map.Entry<String, Session
             switch (input.readByte()) {
                 case VERSION_1:
                     return readObjectVersion1(input);
+                case VERSION_2:
+                    return readObjectVersion2(input);
                 default:
                     throw new IOException("Unknown version");
             }
@@ -186,5 +191,16 @@ public class UserSessionPredicate implements Predicate<Map.Entry<String, Session
             res.brokerUserId(MarshallUtil.unmarshallString(input));
             return res;
         }
+
+        public UserSessionPredicate readObjectVersion2(ObjectInput input) throws IOException, ClassNotFoundException {
+            UserSessionPredicate res = new UserSessionPredicate(MarshallUtil.unmarshallString(input));
+            res.user(MarshallUtil.unmarshallString(input));
+            res.client(MarshallUtil.unmarshallString(input));
+            res.expired(KeycloakMarshallUtil.unmarshallInteger(input), KeycloakMarshallUtil.unmarshallInteger(input),
+                    KeycloakMarshallUtil.unmarshallInteger(input), KeycloakMarshallUtil.unmarshallInteger(input));
+            res.brokerSessionId(MarshallUtil.unmarshallString(input));
+            res.brokerUserId(MarshallUtil.unmarshallString(input));
+            return res;
+        }
     }
 }