keycloak-memoizeit

required action import/export

7/17/2015 11:48:07 PM

Details

diff --git a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
index a91f9e2..ceb22a8 100755
--- a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
@@ -46,6 +46,7 @@ public class RealmRepresentation {
     protected String codeSecret;
     protected RolesRepresentation roles;
     protected List<String> defaultRoles;
+    @Deprecated
     protected Set<String> requiredCredentials;
     protected String passwordPolicy;
     protected List<UserRepresentation> users;
@@ -78,6 +79,7 @@ public class RealmRepresentation {
     protected String defaultLocale;
     protected List<AuthenticationFlowRepresentation> authenticationFlows;
     protected List<AuthenticatorConfigRepresentation> authenticatorConfig;
+    protected List<RequiredActionProviderRepresentation> requiredActions;
 
     @Deprecated
     protected Boolean social;
@@ -187,11 +189,11 @@ public class RealmRepresentation {
         scopeMappings.add(mapping);
         return mapping;
     }
-
+    @Deprecated
     public Set<String> getRequiredCredentials() {
         return requiredCredentials;
     }
-
+    @Deprecated
     public void setRequiredCredentials(Set<String> requiredCredentials) {
         this.requiredCredentials = requiredCredentials;
     }
@@ -643,4 +645,12 @@ public class RealmRepresentation {
     public void setAuthenticatorConfig(List<AuthenticatorConfigRepresentation> authenticatorConfig) {
         this.authenticatorConfig = authenticatorConfig;
     }
+
+    public List<RequiredActionProviderRepresentation> getRequiredActions() {
+        return requiredActions;
+    }
+
+    public void setRequiredActions(List<RequiredActionProviderRepresentation> requiredActions) {
+        this.requiredActions = requiredActions;
+    }
 }
diff --git a/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java b/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
index 8219edc..ebe4ed3 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
@@ -11,6 +11,7 @@ import org.keycloak.models.IdentityProviderModel;
 import org.keycloak.models.ModelException;
 import org.keycloak.models.ProtocolMapperModel;
 import org.keycloak.models.RealmModel;
+import org.keycloak.models.RequiredActionProviderModel;
 import org.keycloak.models.RequiredCredentialModel;
 import org.keycloak.models.RoleModel;
 import org.keycloak.models.UserConsentModel;
@@ -31,6 +32,7 @@ import org.keycloak.representations.idm.IdentityProviderRepresentation;
 import org.keycloak.representations.idm.ProtocolMapperRepresentation;
 import org.keycloak.representations.idm.RealmEventsConfigRepresentation;
 import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
 import org.keycloak.representations.idm.RoleRepresentation;
 import org.keycloak.representations.idm.UserConsentRepresentation;
 import org.keycloak.representations.idm.UserFederationMapperRepresentation;
@@ -193,6 +195,7 @@ public class ModelToRepresentation {
         rep.setDefaultLocale(realm.getDefaultLocale());
         if (internal) {
             exportAuthenticationFlows(realm, rep);
+            exportRequiredActions(realm, rep);
         }
         return rep;
     }
@@ -210,6 +213,14 @@ public class ModelToRepresentation {
 
     }
 
+    public static void exportRequiredActions(RealmModel realm, RealmRepresentation rep) {
+        rep.setRequiredActions(new LinkedList<RequiredActionProviderRepresentation>());
+        for (RequiredActionProviderModel model : realm.getRequiredActionProviders()) {
+            RequiredActionProviderRepresentation action = toRepresentation(model);
+            rep.getRequiredActions().add(action);
+        }
+    }
+
 
     public static RealmEventsConfigRepresentation toEventsConfigReprensetation(RealmModel realm) {
         RealmEventsConfigRepresentation rep = new RealmEventsConfigRepresentation();
@@ -468,5 +479,20 @@ public class ModelToRepresentation {
         return rep;
     }
 
+    public static RequiredActionProviderRepresentation toRepresentation(RequiredActionProviderModel model) {
+        RequiredActionProviderRepresentation rep = new RequiredActionProviderRepresentation();
+        rep.setAlias(model.getAlias());
+        rep.setDefaultAction(model.isDefaultAction());
+        rep.setEnabled(model.isEnabled());
+        rep.setConfig(model.getConfig());
+        rep.setName(model.getName());
+        rep.setProviderId(model.getProviderId());
+        return rep;
+    }
+
+
+
+
+
 
 }
diff --git a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
index 6aa3221..a9e748b 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
@@ -18,6 +18,7 @@ import org.keycloak.models.ModelException;
 import org.keycloak.models.PasswordPolicy;
 import org.keycloak.models.ProtocolMapperModel;
 import org.keycloak.models.RealmModel;
+import org.keycloak.models.RequiredActionProviderModel;
 import org.keycloak.models.RoleModel;
 import org.keycloak.models.UserConsentModel;
 import org.keycloak.models.UserCredentialModel;
@@ -38,6 +39,7 @@ import org.keycloak.representations.idm.IdentityProviderRepresentation;
 import org.keycloak.representations.idm.OAuthClientRepresentation;
 import org.keycloak.representations.idm.ProtocolMapperRepresentation;
 import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
 import org.keycloak.representations.idm.RoleRepresentation;
 import org.keycloak.representations.idm.ScopeMappingRepresentation;
 import org.keycloak.representations.idm.SocialLinkRepresentation;
@@ -297,6 +299,10 @@ public class RepresentationToModel {
         }
 
         importAuthenticationFlows(newRealm, rep);
+        for (RequiredActionProviderRepresentation action : rep.getRequiredActions()) {
+            RequiredActionProviderModel model = toModel(action);
+            newRealm.addRequiredActionProvider(model);
+        }
     }
 
     public static void importAuthenticationFlows(RealmModel newRealm, RealmRepresentation rep) {
@@ -1075,5 +1081,16 @@ public class RepresentationToModel {
         return model;
     }
 
+    public static RequiredActionProviderModel toModel(RequiredActionProviderRepresentation rep) {
+        RequiredActionProviderModel model = new RequiredActionProviderModel();
+        model.setConfig(rep.getConfig());
+        model.setDefaultAction(rep.isDefaultAction());
+        model.setEnabled(rep.isEnabled());
+        model.setProviderId(rep.getProviderId());
+        model.setName(rep.getName());
+        model.setAlias(rep.getAlias());
+        return model;
+    }
+
 
 }