Author: dimuthul
Date: Mon Dec 10 00:52:18 2007
New Revision: 10785

Log:

Fixing IDENTITY - 157


Added:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/EmailActivatorAdmin.java
Modified:
   
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/action/UpdateGlobalUserManagementPropertiesAction.java

Modified: 
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/action/UpdateGlobalUserManagementPropertiesAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/action/UpdateGlobalUserManagementPropertiesAction.java
 (original)
+++ 
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/action/UpdateGlobalUserManagementPropertiesAction.java
 Mon Dec 10 00:52:18 2007
@@ -18,11 +18,10 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.wso2.solutions.identity.IdentityConstants;
 import org.wso2.solutions.identity.IdentityProviderConstants;
 import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.admin.EmailActivatorAdmin;
 import org.wso2.solutions.identity.admin.ParameterAdmin;
-import org.wso2.utils.ServerConfiguration;
 
 public class UpdateGlobalUserManagementPropertiesAction extends ManagedAction {
 
@@ -69,48 +68,8 @@
                     loadMessages();
                     return ERROR;
                 }
-                admin.createOrUpdatearameter(
-                        IdentityProviderConstants.PARAM_NAME_EMAIL_PORT,port);
-                admin.createOrUpdatearameter(
-                        IdentityProviderConstants.PARAM_NAME_EMAIL_HOST, host);
-                admin
-                        .createOrUpdatearameter(
-                                
IdentityProviderConstants.PARAM_NAME_EMAIL_FROM_ADDRESS,
-                                fromAddress);
-
-                ServerConfiguration serverConfig = ServerConfiguration
-                .getInstance();
-
-                String hostName = serverConfig.getFirstProperty("HostName");
-                String hostPort = serverConfig.getFirstProperty("Ports.HTTPS");
-                
-                String verificationAddress = "https://"; + hostName + ":"
-                + hostPort
-                + IdentityConstants.USER_VERIFICATION_PAGE;
-                
-                admin
-                .createOrUpdatearameter(
-                        
IdentityProviderConstants.PARAM_NAME_EMAIL_VERIFICATION_EPR,
-                        verificationAddress);
-                
-                if (username.length() != 0) {
-                    admin
-                            .createOrUpdatearameter(
-                                    
IdentityProviderConstants.PARAM_NAME_EMAIL_USERNAME,
-                                    username);
-                    admin
-                            .createOrUpdatearameter(
-                                    
IdentityProviderConstants.PARAM_NAME_EMAIL_PASSWORD,
-                                    password);
-                }
-
-                admin
-                        .createOrUpdatearameter(
-                                
IdentityProviderConstants.PARAM_NAME_ENABLE_EMAIL_VERIFICATION,
-                                null);
-
-            
-               
+                EmailActivatorAdmin eadmin = new EmailActivatorAdmin();
+                eadmin.createParamsAndInstanciateEmailVerifier(port, host, 
fromAddress, username, password);
             } else {
                 admin
                         
.removeParam(IdentityProviderConstants.PARAM_NAME_ENABLE_EMAIL_VERIFICATION);

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/EmailActivatorAdmin.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/EmailActivatorAdmin.java
 Mon Dec 10 00:52:18 2007
@@ -0,0 +1,78 @@
+package org.wso2.solutions.identity.admin;
+
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.IdentityProviderConstants;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.UserStore;
+import org.wso2.solutions.identity.persistence.IPPersistenceManager;
+import org.wso2.usermanager.Realm;
+import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.verification.email.EmailVerifier;
+import org.wso2.usermanager.verification.email.EmailVerifierConfig;
+import org.wso2.utils.ServerConfiguration;
+
+public class EmailActivatorAdmin {
+
+    IPPersistenceManager dbman;
+
+    public EmailActivatorAdmin() throws IdentityProviderException {
+        dbman = IPPersistenceManager.getPersistanceManager();
+    }
+
+    public void createParamsAndInstanciateEmailVerifier(String port,
+            String host, String fromAddress, String username, String password)
+            throws IdentityProviderException {
+        ParameterAdmin admin = new ParameterAdmin();
+        admin.createOrUpdatearameter(
+                IdentityProviderConstants.PARAM_NAME_EMAIL_PORT, port);
+        admin.createOrUpdatearameter(
+                IdentityProviderConstants.PARAM_NAME_EMAIL_HOST, host);
+        admin.createOrUpdatearameter(
+                IdentityProviderConstants.PARAM_NAME_EMAIL_FROM_ADDRESS,
+                fromAddress);
+
+        ServerConfiguration serverConfig = ServerConfiguration.getInstance();
+
+        String hostName = serverConfig.getFirstProperty("HostName");
+        String hostPort = serverConfig.getFirstProperty("Ports.HTTPS");
+
+        String verificationAddress = "https://"; + hostName + ":" + hostPort
+                + IdentityConstants.USER_VERIFICATION_PAGE;
+
+        admin.createOrUpdatearameter(
+                IdentityProviderConstants.PARAM_NAME_EMAIL_VERIFICATION_EPR,
+                verificationAddress);
+
+        if (username.length() != 0) {
+            admin.createOrUpdatearameter(
+                    IdentityProviderConstants.PARAM_NAME_EMAIL_USERNAME,
+                    username);
+            admin.createOrUpdatearameter(
+                    IdentityProviderConstants.PARAM_NAME_EMAIL_PASSWORD,
+                    password);
+        }
+
+        admin.createOrUpdatearameter(
+                IdentityProviderConstants.PARAM_NAME_ENABLE_EMAIL_VERIFICATION,
+                null);
+        
+        EmailVerifierConfig config = new EmailVerifierConfig();
+        config.setFromAddress(fromAddress);
+        config.setHost(host);
+        if (username.length() != 0) {
+            config.setPassword(password);
+            config.setUsername(username);
+        }
+        config.setRegistrationServiceEPR(verificationAddress);
+        config.setPort(Integer.parseInt(port));
+        
+        Realm realm = UserStore.getInstance().getRealm();
+        
+        try {
+            EmailVerifier.init(realm, config);
+        } catch (UserManagerException e) {
+            throw new IdentityProviderException("emailNotActivated");
+        }
+        
+    }
+}

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to