keycloak-memoizeit

Merge pull request #3551 from vramik/KEYCLOAK-3983 KEYCLOAK-3983

11/25/2016 6:48:41 PM

Details

diff --git a/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java
index 80862ca..56aee36 100644
--- a/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java
+++ b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java
@@ -17,15 +17,11 @@
 
 package org.keycloak.migration.migrators;
 
-import java.util.LinkedList;
-import java.util.List;
 
 import org.keycloak.migration.ModelVersion;
 import org.keycloak.models.ClientModel;
 import org.keycloak.models.ClientTemplateModel;
 import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.ProtocolMapperContainerModel;
-import org.keycloak.models.ProtocolMapperModel;
 import org.keycloak.models.RealmModel;
 
 /**
@@ -39,29 +35,15 @@ public class MigrateTo2_3_0 implements Migration {
     public void migrate(KeycloakSession session) {
         for (RealmModel realm : session.realms().getRealms()) {
             for (ClientModel client : realm.getClients()) {
-                updateProtocolMappers(client);
+                MigrationUtils.updateProtocolMappers(client);
             }
 
             for (ClientTemplateModel clientTemplate : realm.getClientTemplates()) {
-                updateProtocolMappers(clientTemplate);
+                MigrationUtils.updateProtocolMappers(clientTemplate);
             }
         }
     }
 
-    private void updateProtocolMappers(ProtocolMapperContainerModel client) {
-        List<ProtocolMapperModel> toUpdate = new LinkedList<>();
-        for (ProtocolMapperModel mapper : client.getProtocolMappers()) {
-            if (!mapper.getConfig().containsKey("userinfo.token.claim") && mapper.getConfig().containsKey("id.token.claim")) {
-                mapper.getConfig().put("userinfo.token.claim", mapper.getConfig().get("id.token.claim"));
-                toUpdate.add(mapper);
-            }
-        }
-
-        for (ProtocolMapperModel mapper : toUpdate) {
-            client.updateProtocolMapper(mapper);
-        }
-    }
-
     @Override
     public ModelVersion getVersion() {
         return VERSION;
diff --git a/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java
index ae3a99f..7eb997a 100644
--- a/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java
+++ b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java
@@ -17,10 +17,14 @@
 
 package org.keycloak.migration.migrators;
 
+import java.util.LinkedList;
+import java.util.List;
 import org.keycloak.Config;
 import org.keycloak.models.AdminRoles;
 import org.keycloak.models.ClientModel;
 import org.keycloak.models.Constants;
+import org.keycloak.models.ProtocolMapperContainerModel;
+import org.keycloak.models.ProtocolMapperModel;
 import org.keycloak.models.RealmModel;
 import org.keycloak.models.RequiredActionProviderModel;
 import org.keycloak.models.RoleModel;
@@ -60,5 +64,19 @@ public class MigrationUtils {
 
         otpAction.setName("Configure OTP");
     }
+    
+    public static void updateProtocolMappers(ProtocolMapperContainerModel client) {
+        List<ProtocolMapperModel> toUpdate = new LinkedList<>();
+        for (ProtocolMapperModel mapper : client.getProtocolMappers()) {
+            if (!mapper.getConfig().containsKey("userinfo.token.claim") && mapper.getConfig().containsKey("id.token.claim")) {
+                mapper.getConfig().put("userinfo.token.claim", mapper.getConfig().get("id.token.claim"));
+                toUpdate.add(mapper);
+            }
+        }
+
+        for (ProtocolMapperModel mapper : toUpdate) {
+            client.updateProtocolMapper(mapper);
+        }
+    }
 
 }
diff --git a/server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
index 75f46f5..c0bfda1 100755
--- a/server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
+++ b/server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
@@ -1059,7 +1059,7 @@ public class RepresentationToModel {
                 client.addProtocolMapper(toModel(mapper));
             }
 
-
+            MigrationUtils.updateProtocolMappers(client);
 
         }
 
@@ -1069,6 +1069,7 @@ public class RepresentationToModel {
                     client.setClientTemplate(template);
                     break;
                 }
+                MigrationUtils.updateProtocolMappers(template);
             }
         }