keycloak-uncached

KEYCLOAK-4363

2/1/2017 1:19:31 PM

Details

diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java
index 92bd48e..e061f5e 100755
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java
@@ -151,7 +151,7 @@ public class KerberosFederationProviderFactory implements UserStorageProviderFac
     }
 
     @Override
-    public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel model) {
+    public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) {
         CredentialHelper.setOrReplaceAuthenticationRequirement(session, realm, CredentialRepresentation.KERBEROS,
                 AuthenticationExecutionModel.Requirement.ALTERNATIVE, AuthenticationExecutionModel.Requirement.DISABLED);
     }
diff --git a/federation/ldap/src/main/java/org/keycloak/storage/ldap/LDAPStorageProviderFactory.java b/federation/ldap/src/main/java/org/keycloak/storage/ldap/LDAPStorageProviderFactory.java
index 6d60ee7..8199157 100755
--- a/federation/ldap/src/main/java/org/keycloak/storage/ldap/LDAPStorageProviderFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/storage/ldap/LDAPStorageProviderFactory.java
@@ -375,8 +375,8 @@ public class LDAPStorageProviderFactory implements UserStorageProviderFactory<LD
     }
 
     @Override
-    public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel model) {
-        checkKerberosCredential(session, realm, model);
+    public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) {
+        checkKerberosCredential(session, realm, newModel);
 
     }
 
diff --git a/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java b/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java
index 50b16e4..695637f 100644
--- a/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java
+++ b/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java
@@ -39,20 +39,43 @@ public interface ComponentFactory<CreatedType, ProviderType extends Provider> ex
         return null;
     }
 
+    /**
+     * Called before a component is created or updated.  Allows you to validate the configuration
+     *
+     * @param session
+     * @param realm
+     * @param model
+     * @throws ComponentValidationException
+     */
     default
     void validateConfiguration(KeycloakSession session, RealmModel realm, ComponentModel model) throws ComponentValidationException
     {
 
     }
 
+    /**
+     * Called after a component is created
+     *
+     * @param session
+     * @param realm
+     * @param model
+     */
     default
     void onCreate(KeycloakSession session, RealmModel realm, ComponentModel model) {
 
     }
 
 
+    /**
+     * Called after the component is updated.
+     *
+     * @param session
+     * @param realm
+     * @param oldModel old saved model
+     * @param newModel new configuration
+     */
     default
-    void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel model) {
+    void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) {
 
     }
 
diff --git a/server-spi-private/src/main/java/org/keycloak/models/utils/ComponentUtil.java b/server-spi-private/src/main/java/org/keycloak/models/utils/ComponentUtil.java
index 5547d32..fa66cb8 100644
--- a/server-spi-private/src/main/java/org/keycloak/models/utils/ComponentUtil.java
+++ b/server-spi-private/src/main/java/org/keycloak/models/utils/ComponentUtil.java
@@ -97,7 +97,7 @@ public class ComponentUtil {
     }
     public static void notifyUpdated(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) {
         ComponentFactory factory = getComponentFactory(session, newModel);
-        factory.onUpdate(session, realm, newModel);
+        factory.onUpdate(session, realm, oldModel, newModel);
         if (factory instanceof UserStorageProviderFactory) {
             ((OnUpdateComponent)session.userStorageManager()).onUpdate(session, realm, oldModel, newModel);
         }