Author: prabath
Date: Mon Mar  3 21:49:48 2008
New Revision: 14481

Log:

code refactoring

Added:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDClaim.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDExtensionFactory.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDExtension.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDPape.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
Removed:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProviderData.java
Modified:
   
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/IdentityConstants.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/OpenIDTokenIssuer.java
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/OpenIDExtensionFactory.java
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/extensions/OpenIDSimpleReg.java
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegistrationSubmitAction.java
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/UserRegistrationFormSubmitAction.java

Modified: 
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/IdentityConstants.java
==============================================================================
--- 
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/IdentityConstants.java
      (original)
+++ 
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/IdentityConstants.java
      Mon Mar  3 21:49:48 2008
@@ -113,6 +113,7 @@
                public final static String OPENID_TOKEN_EXTRACTION_FAILED = 
"openIDTokenExtractionFailed";
                public final static String REQUIRED_ATTRIBUTE_MISSING = 
"requredAttributeMissing";
                public final static String OPENID_DIRECT_RESP_FAILED = 
"openIDDirectResponseFailed";
+               public final static String OPENID_RESP_GENERATION_FAILED = 
"openIDResponseGenerationFailed";
                public final static String OPENID_TOKEN_CREATION_FAILED = 
"openIDTokenCreationFailed";
                public final static String USERNAME_RETRIEVAL_FAILED = 
"usernameRetrievalFailed";
                public final static String NO_USERS_FOUND = "noUsersFound";

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDClaim.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDClaim.java
        Mon Mar  3 21:49:48 2008
@@ -0,0 +1,35 @@
+package org.wso2.solutions.identity.openid;
+
+/**
+ * Claims corresponding to OpenID.
+ */
+public class OpenIDClaim {
+    
+    private String typeUri;
+    private String openIDTag;
+    private String claimValue;
+
+    public String getTypeUri() {
+        return typeUri;
+    }
+
+    public void setTypeUri(String typeUri) {
+        this.typeUri = typeUri;
+    }
+
+    public String getOpenIDTag() {
+        return openIDTag;
+    }
+
+    public void setOpenIDTag(String openIDTag) {
+        this.openIDTag = openIDTag;
+    }
+
+    public String getClaimValue() {
+        return claimValue;
+    }
+
+    public void setClaimValue(String claimValue) {
+        this.claimValue = claimValue;
+    }
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDExtensionFactory.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDExtensionFactory.java
     Mon Mar  3 21:49:48 2008
@@ -0,0 +1,49 @@
+package org.wso2.solutions.identity.openid;
+
+import org.openid4java.message.AuthRequest;
+import org.openid4java.message.ax.AxMessage;
+import org.openid4java.message.sreg.SRegMessage;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.openid.extensions.OpenIDAttributeExchange;
+import org.wso2.solutions.identity.openid.extensions.OpenIDExtension;
+import org.wso2.solutions.identity.openid.extensions.OpenIDSimpleReg;
+
+public class OpenIDExtensionFactory {
+
+    private static OpenIDExtensionFactory factory = new 
OpenIDExtensionFactory();
+
+    /**
+     * Make the class singleton
+     */
+    private OpenIDExtensionFactory() {
+    }
+
+    /**
+     * Returns a singleton instance of OpenIDExtensionFactory
+     * @return An instance of OpenIDExtensionFactory
+     */
+    public static OpenIDExtensionFactory getInstance() {
+        return factory;
+    }
+
+    /**
+     * Create an instance of the OpenIDExtension based on the OpenID extension
+     * type
+     * @param auth AuthRequest instance
+     * @return Appropriate OpenIDExtension instance
+     */
+    public OpenIDExtension getExtension(AuthRequest auth) {
+
+        if (auth
+                .hasExtension(AxMessage.OPENID_NS_AX)) {
+            return new OpenIDAttributeExchange(auth);
+        } else if (auth
+                
.hasExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG)
+                || auth.hasExtension(SRegMessage.OPENID_NS_SREG)) {
+            return new OpenIDSimpleReg(auth);
+        }
+
+        return null;
+    }
+
+}

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
     (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
     Mon Mar  3 21:49:48 2008
@@ -1,41 +1,25 @@
 package org.wso2.solutions.identity.openid;
 
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
 
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
-import org.wso2.solutions.identity.UserStore;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.openid4java.message.AuthFailure;
 import org.openid4java.message.AuthRequest;
 import org.openid4java.message.DirectError;
 import org.openid4java.message.Message;
-import org.openid4java.message.MessageExtension;
+import org.openid4java.message.MessageException;
 import org.openid4java.message.ParameterList;
-import org.openid4java.message.ax.FetchRequest;
-import org.openid4java.message.ax.FetchResponse;
-import org.openid4java.message.sreg.SRegRequest;
-import org.openid4java.message.sreg.SRegResponse;
 import org.openid4java.server.ServerException;
 import org.openid4java.server.ServerManager;
 import org.wso2.solutions.identity.IdentityConstants;
 import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.openid.extensions.OpenIDExtension;
 import org.wso2.solutions.identity.persistence.IPPersistenceManager;
 import org.wso2.solutions.identity.persistence.dataobject.OpenIDUserRPDO;
 import org.wso2.utils.ServerConfiguration;
@@ -44,14 +28,13 @@
 
     // Instantiate a ServerManager object.
     public static final ServerManager manager = new OpenIDServerManager();
+
     private String authPage;
 
     private static Log log = LogFactory.getLog(OpenIDProvider.class);
 
     private static String opAddress = null;
 
-    private static final Set UNRESERVED_CHARACTERS = new HashSet();
-
     /**
      * Configure the OpenID Provider's end-point URL.
      */
@@ -66,20 +49,6 @@
         // This is the OpenID provider server URL
         opAddress = openIDServerUrl + "/server/";
         manager.setOPEndpointUrl(opAddress);
-
-        for (char c = 'a'; c <= 'z'; c++)
-            UNRESERVED_CHARACTERS.add(Character.valueOf(c));
-
-        for (char c = 'A'; c <= 'A'; c++)
-            UNRESERVED_CHARACTERS.add(Character.valueOf(c));
-
-        for (char c = '0'; c <= '9'; c++)
-            UNRESERVED_CHARACTERS.add(Character.valueOf(c));
-
-        UNRESERVED_CHARACTERS.add(Character.valueOf('-'));
-        UNRESERVED_CHARACTERS.add(Character.valueOf('.'));
-        UNRESERVED_CHARACTERS.add(Character.valueOf('_'));
-        UNRESERVED_CHARACTERS.add(Character.valueOf('~'));
     }
 
     /**
@@ -98,7 +67,6 @@
         HttpSession session = null;
 
         try {
-
             session = httpReq.getSession();
 
             if (IdentityConstants.OpenId.COMPLETE.equals(httpReq
@@ -126,176 +94,19 @@
                 // Process an association request made by RP.
                 message = manager.associationResponse(request);
                 responseText = message.keyValueFormEncoding();
+
             } else if (IdentityConstants.OpenId.CHECKID_SETUP.equals(mode)
                     || 
IdentityConstants.OpenId.CHECKID_IMMEDIATE.equals(mode)) {
-
-                boolean authenticatedAndApproved = false;
-                String userSelectedClaimedId = null;
-                String openId = null;
-                String userId = null;
-
-                openId = request
-                        .hasParameter(IdentityConstants.OpenId.ATTR_IDENTITY) 
? request
-                        
.getParameterValue(IdentityConstants.OpenId.ATTR_IDENTITY)
-                        : null;
-
-                if (openId == null)
-                    throw new IdentityProviderException(
-                            
IdentityConstants.ErrorCodes.REQUIRED_ATTRIBUTE_MISSING);
-
-                userId = getUserName(openId);
-
-                String returnTo = null;
-                String profileName = null;
-
-                if (httpReq.getParameter("authenticatedAndApproved") != null
-                        && httpReq.getParameter("authenticatedAndApproved")
-                                .equals("true")) {
-
-                    IPPersistenceManager persistenceManager = null;
-                    OpenIDUserRPDO[] rpdo = null;
-
-                    persistenceManager = IPPersistenceManager
-                            .getPersistanceManager();
-
-                    returnTo = request
-                            
.getParameterValue(IdentityConstants.OpenId.ATTR_RETURN_TO);
-
-                    rpdo = persistenceManager.getOpenIDUserRP(userId, 
returnTo);
-
-                    if (rpdo != null && rpdo.length > 0)
-                        profileName = rpdo[0].getDefaultProfileName();
-
-                    authenticatedAndApproved = true;
-                }
-
-                if (IdentityConstants.OpenId.CANCEL.equals(httpReq
-                        .getParameter(IdentityConstants.OpenId.ACTION))) {
-
-                    authenticatedAndApproved = false;
-
-                } else if (!authenticatedAndApproved) {
-
-                    // Not authenticated, redirect to the authentication
-                    // page.
-                    session.setAttribute(IdentityConstants.OpenId.PARAM_LIST,
-                            request);
-                    return authPage;
-                }
-
-                // Process an authentication request.
-                AuthRequest authReq = AuthRequest.createAuthRequest(request,
-                        manager.getRealmVerifier());
-
-                String opLocalId = null;
-
-                message = manager.authResponse(request, opLocalId,
-                        userSelectedClaimedId, authenticatedAndApproved);
-
-                if (message instanceof DirectError
-                        || message instanceof AuthFailure)
-                    return message.getDestinationUrl(true);
-                else {
-                    if (authReq.hasExtension(FetchRequest.OPENID_NS_AX)) {
-
-                        MessageExtension extensions = authReq
-                                .getExtension(FetchRequest.OPENID_NS_AX);
-
-                        if (extensions instanceof FetchRequest) {
-
-                            Map required = null;
-                            Map userDataExt = null;
-                            FetchRequest fetchReq = null;
-                            FetchResponse fetchResp = null;
-                            OpenIDProviderData openIDData = null;
-                            Map claimValues = null;
-
-                            fetchReq = (FetchRequest) extensions;
-
-                            // Get the required attributes as requested by the
-                            // RP.
-                            required = fetchReq.getAttributes(true);
-
-                            userDataExt = new HashMap();
-                            openIDData = new OpenIDProviderData();
-
-                            openIDData.setProfileName(profileName);
-                            fetchResp = FetchResponse.createFetchResponse(
-                                    fetchReq, userDataExt);
-
-                            claimValues = openIDData.populateAttributeValues(
-                                    required, userId);
-
-                            openIDData.setAttributeExchangeValues(fetchResp,
-                                    claimValues);
-                            message.addExtension(fetchResp);
-
-                        } else {
-                            log.error("Unsupported request type");
-                            throw new UnsupportedOperationException("TODO");
-                        }
-                    }
-                    if (authReq.hasExtension(SRegRequest.OPENID_NS_SREG)
-                            || authReq
-                                    
.hasExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG)) {
-
-                        MessageExtension extension = null;
-
-                        extension = authReq
-                                .getExtension(SRegRequest.OPENID_NS_SREG);
-
-                        if (extension == null)
-                            extension = authReq
-                                    
.getExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG);
-
-                        if (extension instanceof SRegRequest) {
-
-                            SRegRequest sregReq = null;
-                            List required = null;
-                            Map userDataSReg = null;
-                            Map claimValues = null;
-                            SRegResponse response = null;
-                            OpenIDProviderData openIDData = null;
-
-                            sregReq = (SRegRequest) extension;
-
-                            // Get the required attributes as requested by the
-                            // RP.
-                            required = sregReq.getAttributes(true);
-
-                            userDataSReg = new HashMap();
-                            openIDData = new OpenIDProviderData();
-
-                            openIDData.setProfileName(profileName);
-                            response = SRegResponse.createSRegResponse(sregReq,
-                                    userDataSReg);
-
-                            claimValues = openIDData.populateAttributeValues(
-                                    required, userId);
-
-                            openIDData.setSimpleAttributeRegistrationValues(
-                                    response, claimValues);
-
-                            message.addExtension(response);
-
-                        } else {
-                            log.error("Unsupported request type");
-                            throw new UnsupportedOperationException("TODO");
-                        }
-                    }
-
-                    return message.getDestinationUrl(true);
-                }
+                return checkSetupOrImmediate(httpReq, request);
             } else if (IdentityConstants.OpenId.CHECK_AUTHENTICATION
                     .equals(mode)) {
-                // Processing a verification request.
-                message = manager.verify(request);
-                responseText = message.keyValueFormEncoding();
+                responseText = checkAuthentication(request);
             } else {
                 // Error response.
                 message = DirectError.createDirectError("Unknown request");
                 responseText = message.keyValueFormEncoding();
             }
+
         } catch (Exception e) {
             // Error response.
             message = DirectError.createDirectError(e.getMessage());
@@ -312,96 +123,6 @@
     }
 
     /**
-     * Find the user name corresponding to the given OpenID.
-     * @param openId User's OpenID
-     * @return User name corresponding the given OpenID.
-     * @throws ServerException
-     * @throws IdentityProviderException
-     */
-    private String getUserName(String openId) throws ServerException,
-            IdentityProviderException {
-
-        UserStore userStore = null;
-        List users = null;
-
-        userStore = UserStore.getInstance();
-        users = userStore.getAllUserNames();
-
-        if (users == null)
-            throw new IdentityProviderException(
-                    IdentityConstants.ErrorCodes.NO_USERS_FOUND);
-
-        Map mapValues = null;
-        Iterator iterator = null;
-
-        iterator = users.iterator();
-
-        while (iterator.hasNext()) {
-
-            String user = (String) iterator.next();
-            mapValues = userStore.getClaimValues(user, null);
-
-            if (mapValues != null && !mapValues.isEmpty()) {
-
-                // User has defined claims!
-                String claimId = (String) mapValues
-                        .get(IdentityConstants.CLAIM_OPENID);
-
-                if (claimId != null && claimId.equals(openId)) {
-                    return user;
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Generate OpenID for a given user.
-     * @param user User
-     * @return Generated OpenID
-     * @throws IdentityProviderException
-     */
-    public static String generateOpenID(String user)
-            throws IdentityProviderException {
-
-        ServerConfiguration serverConfig = null;
-        String openIDServerUrl = null;
-        String openID = null;
-        URI uri = null;
-        URL url = null;
-
-        serverConfig = ServerConfiguration.getInstance();
-        openIDServerUrl = serverConfig.getFirstProperty("OpenIDServerUrl");
-
-        user = normalizeUrlEncoding(user);
-
-        openID = openIDServerUrl + "/user/" + user;
-
-        try {
-            uri = new URI(openID);
-        } catch (URISyntaxException e) {
-            throw new IdentityProviderException(
-                    IdentityConstants.ErrorCodes.INVALID_USERNAME_FOR_OPENID);
-        }
-
-        try {
-            url = uri.normalize().toURL();
-            if (url.getQuery() != null || url.getRef() != null)
-                throw new IdentityProviderException(
-                        
IdentityConstants.ErrorCodes.INVALID_USERNAME_FOR_OPENID);
-        } catch (MalformedURLException e) {
-            throw new IdentityProviderException(
-                    IdentityConstants.ErrorCodes.INVALID_USERNAME_FOR_OPENID);
-        }
-
-        openID = url.toString();
-
-        log.info("OpenID generated : " + openID);
-
-        return openID;
-    }
-
-    /**
      * @param authPage Authentication page
      */
     public void setAuthPage(String authPage) {
@@ -432,6 +153,98 @@
     }
 
     /**
+     * @param params List of parameters from the OpenID authentication request
+     * @return response text
+     */
+    private String checkAuthentication(ParameterList params) {
+        Message message = null;
+
+        // Processing a verification request.
+        message = manager.verify(params);
+        return message.keyValueFormEncoding();
+    }
+
+    /**
+     * @param httpReq HttpServletRequest
+     * @param params Parameter list
+     * @return response text
+     * @throws IdentityProviderException
+     * @throws ServerException
+     * @throws MessageException
+     */
+    private String checkSetupOrImmediate(HttpServletRequest httpReq,
+            ParameterList params) throws IdentityProviderException,
+            ServerException, MessageException {
+
+        boolean authenticatedAndApproved = false;
+        String userSelectedClaimedId = null;
+        String openId = null;
+        String userId = null;
+        Message message = null;
+        HttpSession session = null;
+        String returnTo = null;
+        String profileName = null;
+
+        session = httpReq.getSession();
+
+        openId = params.hasParameter(IdentityConstants.OpenId.ATTR_IDENTITY) ? 
params
+                .getParameterValue(IdentityConstants.OpenId.ATTR_IDENTITY)
+                : null;
+
+        if (openId == null)
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.REQUIRED_ATTRIBUTE_MISSING);
+
+        userId = OpenIDUtil.getUserName(openId);
+
+        if (httpReq.getParameter("authenticatedAndApproved") != null
+                && httpReq.getParameter("authenticatedAndApproved").equals(
+                        "true")) {
+            IPPersistenceManager persistenceManager = null;
+            OpenIDUserRPDO[] rpdo = null;
+
+            persistenceManager = IPPersistenceManager.getPersistanceManager();
+            returnTo = params
+                    
.getParameterValue(IdentityConstants.OpenId.ATTR_RETURN_TO);
+            rpdo = persistenceManager.getOpenIDUserRP(userId, returnTo);
+            if (rpdo != null && rpdo.length > 0)
+                profileName = rpdo[0].getDefaultProfileName();
+            authenticatedAndApproved = true;
+        }
+
+        if (IdentityConstants.OpenId.CANCEL.equals(httpReq
+                .getParameter(IdentityConstants.OpenId.ACTION))) {
+            authenticatedAndApproved = false;
+        } else if (!authenticatedAndApproved) {
+            // Not authenticated, redirect to the authentication
+            // page.
+            session.setAttribute(IdentityConstants.OpenId.PARAM_LIST, params);
+            return authPage;
+        }
+
+        // Process an authentication request.
+        AuthRequest authReq = AuthRequest.createAuthRequest(params, manager
+                .getRealmVerifier());
+
+        String opLocalId = null;
+
+        message = manager.authResponse(params, opLocalId,
+                userSelectedClaimedId, authenticatedAndApproved);
+
+        if (message instanceof DirectError || message instanceof AuthFailure)
+            return message.getDestinationUrl(true);
+        else {
+            OpenIDExtension extension = null;
+            extension = OpenIDExtensionFactory.getInstance().getExtension(
+                    authReq);
+            if (extension != null)
+                message.addExtension(extension.getMessageExtension(userId,
+                        profileName));
+            return message.getDestinationUrl(true);
+        }
+    }
+
+    /**
      * Send a direct response to the RP.
      * @param httpResp HttpServletResponse
      * @param response Response message
@@ -450,39 +263,4 @@
         }
         return null;
     }
-
-    private static String normalizeUrlEncoding(String text) {
-
-        if (text == null)
-            return null;
-
-        int len = text.length();
-        StringBuffer normalized = new StringBuffer(len);
-
-        for (int i = 0; i < len; i++) {
-            char current = text.charAt(i);
-
-            if (current == '%' && i < len - 2) {
-                String percentCode = text.substring(i, i + 3).toUpperCase();
-
-                try {
-                    String str = URLDecoder.decode(percentCode, "ISO-8859-1");
-                    char chr = str.charAt(0);
-
-                    if (UNRESERVED_CHARACTERS.contains(Character.valueOf(chr)))
-                        normalized.append(chr);
-                    else
-                        normalized.append(percentCode);
-                } catch (UnsupportedEncodingException e) {
-                    normalized.append(percentCode);
-                }
-
-                i += 2;
-            } else {
-                normalized.append(current);
-            }
-        }
-
-        return normalized.toString();
-    }
 }
\ No newline at end of file

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
 Mon Mar  3 21:49:48 2008
@@ -0,0 +1,167 @@
+package org.wso2.solutions.identity.openid;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openid4java.server.ServerException;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.UserStore;
+import org.wso2.utils.ServerConfiguration;
+
+public class OpenIDUtil {
+
+    private static Log log = LogFactory.getLog(OpenIDUtil.class);
+
+    private static final Set<Character> UNRESERVED_CHARACTERS = new 
HashSet<Character>();
+
+    static {
+        for (char c = 'a'; c <= 'z'; c++)
+            UNRESERVED_CHARACTERS.add(Character.valueOf(c));
+
+        for (char c = 'A'; c <= 'A'; c++)
+            UNRESERVED_CHARACTERS.add(Character.valueOf(c));
+
+        for (char c = '0'; c <= '9'; c++)
+            UNRESERVED_CHARACTERS.add(Character.valueOf(c));
+
+        UNRESERVED_CHARACTERS.add(Character.valueOf('-'));
+        UNRESERVED_CHARACTERS.add(Character.valueOf('.'));
+        UNRESERVED_CHARACTERS.add(Character.valueOf('_'));
+        UNRESERVED_CHARACTERS.add(Character.valueOf('~'));
+    }
+
+    /**
+     * Find the user name corresponding to the given OpenID.
+     * @param openId User's OpenID
+     * @return User name corresponding the given OpenID.
+     * @throws ServerException
+     * @throws IdentityProviderException
+     */
+    public static String getUserName(String openId) throws ServerException,
+            IdentityProviderException {
+
+        UserStore userStore = null;
+        List users = null;
+
+        userStore = UserStore.getInstance();
+        users = userStore.getAllUserNames();
+
+        if (users == null)
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.NO_USERS_FOUND);
+
+        Map mapValues = null;
+        Iterator iterator = null;
+
+        iterator = users.iterator();
+
+        while (iterator.hasNext()) {
+
+            String user = (String) iterator.next();
+            mapValues = userStore.getClaimValues(user, null);
+
+            if (mapValues != null && !mapValues.isEmpty()) {
+                // User has defined claims!
+                String claimId = (String) mapValues
+                        .get(IdentityConstants.CLAIM_OPENID);
+                if (claimId != null && claimId.equals(openId)) {
+                    return user;
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Generate OpenID for a given user.
+     * @param user User
+     * @return Generated OpenID
+     * @throws IdentityProviderException
+     */
+    public static String generateOpenID(String user)
+            throws IdentityProviderException {
+
+        ServerConfiguration serverConfig = null;
+        String openIDServerUrl = null;
+        String openID = null;
+        URI uri = null;
+        URL url = null;
+
+        serverConfig = ServerConfiguration.getInstance();
+        openIDServerUrl = serverConfig.getFirstProperty("OpenIDServerUrl");
+
+        user = normalizeUrlEncoding(user);
+
+        openID = openIDServerUrl + "/user/" + user;
+
+        try {
+            uri = new URI(openID);
+        } catch (URISyntaxException e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.INVALID_USERNAME_FOR_OPENID);
+        }
+
+        try {
+            url = uri.normalize().toURL();
+            if (url.getQuery() != null || url.getRef() != null)
+                throw new IdentityProviderException(
+                        
IdentityConstants.ErrorCodes.INVALID_USERNAME_FOR_OPENID);
+        } catch (MalformedURLException e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.INVALID_USERNAME_FOR_OPENID);
+        }
+
+        openID = url.toString();
+
+        log.info("OpenID generated : " + openID);
+
+        return openID;
+    }
+
+    /**
+     * @param text
+     * @return
+     */
+    private static String normalizeUrlEncoding(String text) {
+
+        if (text == null)
+            return null;
+
+        int len = text.length();
+        StringBuffer normalized = new StringBuffer(len);
+
+        for (int i = 0; i < len; i++) {
+            char current = text.charAt(i);
+            if (current == '%' && i < len - 2) {
+                String percentCode = text.substring(i, i + 3).toUpperCase();
+                try {
+                    String str = URLDecoder.decode(percentCode, "ISO-8859-1");
+                    char chr = str.charAt(0);
+                    if (UNRESERVED_CHARACTERS.contains(Character.valueOf(chr)))
+                        normalized.append(chr);
+                    else
+                        normalized.append(percentCode);
+                } catch (UnsupportedEncodingException e) {
+                    normalized.append(percentCode);
+                }
+                i += 2;
+            } else {
+                normalized.append(current);
+            }
+        }
+        return normalized.toString();
+    }
+
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDAttributeExchange.java
 Mon Mar  3 21:49:48 2008
@@ -0,0 +1,141 @@
+package org.wso2.solutions.identity.openid.extensions;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openid4java.message.AuthRequest;
+import org.openid4java.message.MessageException;
+import org.openid4java.message.MessageExtension;
+import org.openid4java.message.ax.FetchRequest;
+import org.openid4java.message.ax.FetchResponse;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.admin.ClaimsAdmin;
+import org.wso2.solutions.identity.openid.OpenIDClaim;
+import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
+
+public class OpenIDAttributeExchange extends OpenIDExtension {
+
+    private AuthRequest authRequest;
+
+    private static Log log = LogFactory.getLog(OpenIDAttributeExchange.class);
+
+    /**
+     * Constructed during building the response
+     * @param authSuccess An instance of AuthRequest
+     */
+    public OpenIDAttributeExchange(AuthRequest authRequest) {
+        this.authRequest = authRequest;
+    }
+
+    public MessageExtension getMessageExtension(String userId,
+            String profileName) throws IdentityProviderException {
+
+        MessageExtension extensions = null;
+
+        try {
+            extensions = authRequest.getExtension(FetchRequest.OPENID_NS_AX);
+
+            if (extensions instanceof FetchRequest) {
+
+                Map required = null;
+                FetchRequest fetchRequest = null;
+                FetchResponse fetchResponse = null;
+                Map claimValues = null;
+
+                fetchRequest = (FetchRequest) extensions;
+
+                // Get the required attributes as requested by the
+                // RP.
+                required = fetchRequest.getAttributes(true);
+                fetchResponse = FetchResponse.createFetchResponse(fetchRequest,
+                        new HashMap());
+                claimValues = populateAttributeValues(required, userId,
+                        profileName);
+                setAttributeExchangeValues(fetchResponse, claimValues);
+
+                return fetchResponse;
+
+            } else {
+                log.error("Unsupported request type");
+                throw new UnsupportedOperationException("TODO");
+            }
+        } catch (MessageException e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.OPENID_RESP_GENERATION_FAILED,
+                    e);
+        }
+    }
+
+    /**
+     * Populate the required claims with claim values.
+     * @param requiredClaims Required claims as requested by the RP.
+     * @param userId User ID.
+     * @return A map, populated with required claim values.
+     * @throws IdentityProviderException
+     */
+    protected Map populateAttributeValues(Map requiredClaims, String userId,
+            String profileName) throws IdentityProviderException {
+
+        Map claims = null;
+        ClaimDO[] supportedClaims = null;
+        ClaimsAdmin claimsAdmin = null;
+        Iterator iterator = null;
+        Map map = null;
+        Entry entry = null;
+
+        claims = new HashMap();
+
+        claimsAdmin = new ClaimsAdmin();
+        supportedClaims = claimsAdmin.getAllMappedEnabledClaims();
+
+        for (int i = 0; i < supportedClaims.length; i++) {
+            ClaimDO temp = supportedClaims[i];
+            if (temp.getOpenIDTag() != null)
+                claims.put(temp.getOpenIDTag(), temp);
+        }
+
+        iterator = requiredClaims.entrySet().iterator();
+        map = new HashMap();
+
+        String key = null;
+        String val = null;
+
+        while (iterator.hasNext()) {
+            entry = (Entry) iterator.next();
+            val = (String) entry.getValue();
+            map.put(claimsAdmin.getMappedOpenIDTag(val), entry.getKey());
+        }
+
+        return populateAttributeValues(map.keySet(), userId, claims, map,
+                profileName);
+    }
+
+    /**
+     * Populate the response with claim values. If we can't find the required
+     * values with us, we simply avoid sending them. An Identity Provider MAY
+     * return any subset of the following fields in response to the query.
+     * @param claimValues Claim values.
+     * @throws MessageException
+     */
+    protected void setAttributeExchangeValues(FetchResponse response,
+            Map claimValues) throws MessageException {
+
+        Iterator iterator = null;
+        Entry entry = null;
+        OpenIDClaim claim = null;
+
+        iterator = claimValues.entrySet().iterator();
+
+        while (iterator.hasNext()) {
+            entry = (Entry) iterator.next();
+            claim = (OpenIDClaim) entry.getValue();
+            response.addAttribute(claim.getOpenIDTag(), claim.getTypeUri(),
+                    claim.getClaimValue());
+        }
+    }
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDExtension.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDExtension.java
 Mon Mar  3 21:49:48 2008
@@ -0,0 +1,106 @@
+package org.wso2.solutions.identity.openid.extensions;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.openid4java.message.MessageExtension;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.UserStore;
+import org.wso2.solutions.identity.openid.OpenIDClaim;
+import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
+
+public abstract class OpenIDExtension {
+
+    /**
+     * Creates an instance of MessageExtension for the OpenID authentication 
response
+     * @param request OpenID authentication request
+     * @return An instance of MessageExtension
+     * @throws RelyingPartyException
+     */
+    public abstract MessageExtension getMessageExtension(String userId,
+            String profileName) throws IdentityProviderException;
+
+    /**
+     * Populate the required claims with claim values.
+     * @param requiredClaims Required claims as requested by the RP.
+     * @param userId User ID.
+     * @return A map, populated with ClaimDO objects which have OpenIDTag, that
+     *         is OpenID supported claims.
+     * @throws IdentityProviderException
+     */
+    protected Map populateAttributeValues(Collection requiredClaims,
+            String userId, Map claims, Map openIDTagMapping, String 
profileName)
+            throws IdentityProviderException {
+
+        UserStore connector = null;
+        Map claimValues = null;
+        Iterator iterator = null;
+        List list = null;
+
+        connector = UserStore.getInstance();
+
+        // Get the column names for the URIs
+        iterator = requiredClaims.iterator();
+        list = new ArrayList();
+
+        String tag = null;
+        ClaimDO claim = null;
+
+        // First we need to figure-out which attributed we need to retrieve 
from
+        // the user store.
+        while (iterator.hasNext()) {
+            tag = (String) iterator.next();
+            claim = (ClaimDO) claims.get(tag);
+            if (claim != null
+                    && !claim.getUri().equals(IdentityConstants.CLAIM_PPID)) {
+                if (claim.isSupported())
+                    list.add(claim.getAttrId());
+            }
+        }
+
+        Map mapValues = null;
+        OpenIDClaim openIDClaim = null;
+        String profile = null;
+
+        if (profileName == null)
+            profile = IdentityConstants.DEFAULT_PROFILE;
+        else
+            profile = profileName;
+
+        // Get the claims values corresponding to the user from the user store.
+        mapValues = connector.getClaimValues(userId, profile, list);
+
+        claimValues = new HashMap();
+
+        iterator = requiredClaims.iterator();
+
+        // Iterate through the claim values retrieved and requestedClaims will
+        // be populated with the corresponding values.
+        while (iterator.hasNext()) {
+            tag = (String) iterator.next();
+            claim = (ClaimDO) claims.get(tag);
+
+            if (claim != null && claim.isSupported()) {
+                openIDClaim = new OpenIDClaim();
+                openIDClaim.setClaimValue((String) mapValues.get(claim
+                        .getAttrId()));
+                openIDClaim.setTypeUri(claim.getUri());
+                if (openIDTagMapping != null)
+                    openIDClaim.setOpenIDTag((String) 
openIDTagMapping.get(claim
+                            .getOpenIDTag()));
+                else
+                    openIDClaim.setOpenIDTag(claim.getOpenIDTag());
+                if (openIDClaim.getClaimValue() != null)
+                    claimValues.put(openIDClaim.getTypeUri(), openIDClaim);
+            }
+        }
+
+        return claimValues;
+    }
+
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDPape.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDPape.java
      Mon Mar  3 21:49:48 2008
@@ -0,0 +1,29 @@
+package org.wso2.solutions.identity.openid.extensions;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openid4java.message.AuthRequest;
+import org.openid4java.message.MessageExtension;
+import org.wso2.solutions.identity.IdentityProviderException;
+
+public class OpenIDPape extends OpenIDExtension {
+    
+    private AuthRequest authRequest;
+    
+    private static Log log = LogFactory.getLog(OpenIDPape.class);
+
+    /**
+     * Constructed during building the response
+     * @param authSuccess An instance of AuthRequest
+     */
+    public OpenIDPape(AuthRequest authRequest) {
+        this.authRequest = authRequest;
+    }
+
+    public MessageExtension getMessageExtension(String userId, String 
profileName)
+            throws IdentityProviderException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/extensions/OpenIDSimpleReg.java
 Mon Mar  3 21:49:48 2008
@@ -0,0 +1,133 @@
+package org.wso2.solutions.identity.openid.extensions;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openid4java.message.AuthRequest;
+import org.openid4java.message.MessageException;
+import org.openid4java.message.MessageExtension;
+import org.openid4java.message.sreg.SRegRequest;
+import org.openid4java.message.sreg.SRegResponse;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.IdentityProviderException;
+import org.wso2.solutions.identity.admin.ClaimsAdmin;
+import org.wso2.solutions.identity.openid.OpenIDClaim;
+import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
+
+public class OpenIDSimpleReg extends OpenIDExtension {
+
+    private AuthRequest authRequest;
+    private static Log log = LogFactory.getLog(OpenIDSimpleReg.class);
+
+    /**
+     * Constructed during building the response
+     * @param authSuccess An instance of AuthRequest
+     */
+    public OpenIDSimpleReg(AuthRequest authRequest) {
+        this.authRequest = authRequest;
+    }
+
+    public MessageExtension getMessageExtension(String userId,
+            String profileName) throws IdentityProviderException {
+        MessageExtension extension = null;
+
+        try {
+            extension = authRequest.getExtension(SRegRequest.OPENID_NS_SREG);
+
+            if (extension == null)
+                extension = authRequest
+                        
.getExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG);
+
+            if (extension instanceof SRegRequest) {
+
+                SRegRequest sregReq = null;
+                List required = null;
+                Map userDataSReg = null;
+                Map claimValues = null;
+                SRegResponse response = null;
+
+                sregReq = (SRegRequest) extension;
+
+                // Get the required attributes as requested by the
+                // RP.
+                required = sregReq.getAttributes(true);
+
+                userDataSReg = new HashMap();
+                response = SRegResponse.createSRegResponse(sregReq,
+                        userDataSReg);
+                claimValues = populateAttributeValues(required, userId,
+                        profileName);
+                setSimpleAttributeRegistrationValues(response, claimValues);
+
+                return response;
+
+            } else {
+                log.error("Unsupported request type");
+                throw new UnsupportedOperationException("TODO");
+            }
+        } catch (MessageException e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.OPENID_RESP_GENERATION_FAILED,
+                    e);
+        }
+    }
+
+    /**
+     * Populate the response with claim values. If we can't find the required
+     * values with us, we simply avoid sending them. An Identity Provider MAY
+     * return any subset of the following fields in response to the query.
+     * @param response Simple Registration response.
+     * @param claimValues Claim values.
+     * @throws MessageException
+     */
+    protected void setSimpleAttributeRegistrationValues(SRegResponse response,
+            Map claimValues) throws MessageException {
+
+        Iterator iterator = null;
+        OpenIDClaim claim = null;
+        Entry entry = null;
+
+        iterator = claimValues.entrySet().iterator();
+
+        while (iterator.hasNext()) {
+            entry = (Entry) iterator.next();
+            claim = (OpenIDClaim) entry.getValue();
+            response.addAttribute(claim.getOpenIDTag(), claim.getClaimValue());
+        }
+
+    }
+
+    /**
+     * Populate the required claims with claim values.
+     * @param requiredClaims Required claims as requested by the RP.
+     * @param userId User ID.
+     * @return A map, populated with required claim values.
+     * @throws IdentityProviderException
+     */
+    protected Map populateAttributeValues(List requiredClaims, String userId,
+            String profileName) throws IdentityProviderException {
+
+        Map claims = null;
+        ClaimDO[] supportedClaims = null;
+        ClaimsAdmin claimsAdmin = null;
+
+        claims = new HashMap();
+
+        claimsAdmin = new ClaimsAdmin();
+        supportedClaims = claimsAdmin.getAllMappedEnabledClaims();
+
+        for (int i = 0; i < supportedClaims.length; i++) {
+            ClaimDO temp = supportedClaims[i];
+            if (temp.getOpenIDTag() != null)
+                claims.put(temp.getOpenIDTag(), temp);
+        }
+
+        return populateAttributeValues(requiredClaims, userId, claims, null,
+                profileName);
+    }
+}

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/resources.properties
   Mon Mar  3 21:49:48 2008
@@ -60,6 +60,7 @@
 errorInPasswordCallbackHandler = Error in password callback handler
 invalidUserNameForOpenID=Invalid user name provided for OpenID generation
 openIDDirectResponseFailed=Direct response from OP failed
+openIDResponseGenerationFailed=Failed to generate OpenID response message
 openIDTokenCreationFailed=OpenID token creation failed
 requredAttributeMissing=Required attribute,openid.identity, is missing
 noUsersFound=No users found, corresponding to the given OpenID

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/OpenIDTokenIssuer.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/OpenIDTokenIssuer.java
     (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/sts/OpenIDTokenIssuer.java
     Mon Mar  3 21:49:48 2008
@@ -10,7 +10,6 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axis2.context.MessageContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.rahas.RahasConstants;

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/OpenIDExtensionFactory.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/OpenIDExtensionFactory.java
      (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/OpenIDExtensionFactory.java
      Mon Mar  3 21:49:48 2008
@@ -1,6 +1,8 @@
 package org.wso2.solutions.identity.relyingparty.openid;
 
 import org.openid4java.message.AuthSuccess;
+import org.openid4java.message.ax.AxMessage;
+import org.openid4java.message.sreg.SRegMessage;
 import org.wso2.solutions.identity.IdentityConstants;
 import 
org.wso2.solutions.identity.relyingparty.openid.extensions.OpenIDAttributeExchange;
 import 
org.wso2.solutions.identity.relyingparty.openid.extensions.OpenIDExtension;
@@ -53,10 +55,11 @@
     public OpenIDExtension getExtension(AuthSuccess auth) {
 
         if (auth
-                
.hasExtension(IdentityConstants.OpenId.ExchangeAttributes.NS_AX)) {
+                .hasExtension(AxMessage.OPENID_NS_AX)) {
             return new OpenIDAttributeExchange(auth);
         } else if (auth
-                
.hasExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG)) {
+                
.hasExtension(IdentityConstants.OpenId.SimpleRegAttributes.NS_SREG)
+                || auth.hasExtension(SRegMessage.OPENID_NS_SREG)) {
             return new OpenIDSimpleReg(auth);
         }
 

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/extensions/OpenIDSimpleReg.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/extensions/OpenIDSimpleReg.java
  (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/openid/extensions/OpenIDSimpleReg.java
  Mon Mar  3 21:49:48 2008
@@ -104,7 +104,7 @@
     }
 
     /**
-     * If no attribute set by the use for simple registration request, by
+     * If no attribute set by the user for simple registration request, by
      * default we set all the attributes.
      * @param request Simple registration request
      */

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegistrationSubmitAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegistrationSubmitAction.java
 (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegistrationSubmitAction.java
 Mon Mar  3 21:49:48 2008
@@ -30,6 +30,7 @@
 import org.wso2.solutions.identity.admin.RegisteredInfoCardInfoAdmin;
 import org.wso2.solutions.identity.admin.ReportAdmin;
 import org.wso2.solutions.identity.openid.OpenIDProvider;
+import org.wso2.solutions.identity.openid.OpenIDUtil;
 import org.wso2.solutions.identity.persistence.dataobject.ActionDO;
 import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
 import org.wso2.solutions.identity.relyingparty.TokenVerifierConstants;
@@ -83,7 +84,7 @@
             String openid = null;
             if (enableOpenIDRegistration) {
                 // We create an OpenID for all registering users
-                openid = OpenIDProvider.generateOpenID(userName);
+                openid = OpenIDUtil.generateOpenID(userName);
                 props.put(IdentityConstants.CLAIM_OPENID, openid);
             }
 

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/UserRegistrationFormSubmitAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/UserRegistrationFormSubmitAction.java
     (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/UserRegistrationFormSubmitAction.java
     Mon Mar  3 21:49:48 2008
@@ -22,6 +22,7 @@
 import org.wso2.solutions.identity.admin.ParameterAdmin;
 import org.wso2.solutions.identity.admin.ReportAdmin;
 import org.wso2.solutions.identity.openid.OpenIDProvider;
+import org.wso2.solutions.identity.openid.OpenIDUtil;
 import org.wso2.solutions.identity.persistence.dataobject.ActionDO;
 import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
 import org.wso2.solutions.identity.relyingparty.RelyingPartyException;
@@ -95,7 +96,7 @@
         if (enableOpenIDRegistration) {
             try {
                 // We create an OpenID for all registering users
-                openid = OpenIDProvider.generateOpenID(this.username);
+                openid = OpenIDUtil.generateOpenID(this.username);
                 UserUtil.getUserName(openid);
                 this.addErrorMessage(getText("sign_in_user_exist",
                         new String[] { username }));

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

Reply via email to