Author: prabath
Date: Tue Feb 19 01:52:30 2008
New Revision: 13883

Log:

adding user profiles

Added:
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/AddUserProfileAction.java
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/AddUserProfileSubmitAction.java
   
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/adduserprofile.jsp

Added: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/AddUserProfileAction.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/AddUserProfileAction.java
 Tue Feb 19 01:52:30 2008
@@ -0,0 +1,37 @@
+package org.wso2.solutions.identity.user.ui.action;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.wso2.solutions.identity.admin.ClaimsAdmin;
+import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+public class AddUserProfileAction extends ActionSupport {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -3415602317665292286L;
+
+    private List claims;
+
+    public String execute() throws Exception {
+
+        ClaimsAdmin ClaimsAdmin = new ClaimsAdmin();
+        ClaimDO[] claimDOs = ClaimsAdmin.getAllMappedEnabledClaims();
+        this.claims = Arrays.asList((ClaimDO[]) claimDOs);
+
+        return SUCCESS;
+    }
+
+    public List getClaims() {
+        return claims;
+    }
+
+    public void setClaims(List claims) {
+        this.claims = claims;
+    }
+
+}

Added: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/AddUserProfileSubmitAction.java
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/AddUserProfileSubmitAction.java
   Tue Feb 19 01:52:30 2008
@@ -0,0 +1,90 @@
+package org.wso2.solutions.identity.user.ui.action;
+
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts2.StrutsStatics;
+import org.wso2.solutions.identity.IdentityConstants;
+import org.wso2.solutions.identity.UserStore;
+import org.wso2.solutions.identity.admin.ClaimsAdmin;
+import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;
+import org.wso2.solutions.identity.user.ui.UIConstants;
+import org.wso2.solutions.identity.users.IdentityDefaultRealm;
+import org.wso2.solutions.identity.users.IdentityUserStoreAdmin;
+import org.wso2.solutions.identity.users.IdentityUserStoreReader;
+import org.wso2.usermanager.UserManagerException;
+
+import com.opensymphony.xwork2.ActionContext;
+
+public class AddUserProfileSubmitAction extends ManagedAction {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 6178599086703749725L;
+
+    private String profileName;
+
+    public String getProfileName() {
+        return profileName;
+    }
+
+    public void setProfileName(String profileName) {
+        this.profileName = profileName;
+    }
+
+    public String execute() throws Exception {
+
+        String userName = null;
+        HttpServletRequest request = (HttpServletRequest) ActionContext
+                .getContext().get(StrutsStatics.HTTP_REQUEST);
+
+        userName = (String) 
request.getSession().getAttribute(UIConstants.USER);
+
+        if (userName == null)
+            return ERROR;
+
+        ClaimsAdmin ClaimsAdmin = new ClaimsAdmin();
+        ClaimDO[] claimDOs = ClaimsAdmin.getAllMappedEnabledClaims();
+
+        HashMap<String, String> props = new HashMap<String, String>();
+        for (int i = 0; i < claimDOs.length; i++) {
+            String uri = claimDOs[i].getUri();
+            if (!uri.equals(IdentityConstants.CLAIM_PPID)) {
+                if (request.getParameter(uri) != null
+                        && request.getParameter(uri).trim().length() > 0)
+                    props.put(uri, request.getParameter(uri));
+            }
+        }
+
+        try {
+
+            IdentityDefaultRealm realm = null;
+            IdentityUserStoreReader reader = null;
+            IdentityUserStoreAdmin admin = null;
+
+            realm = (IdentityDefaultRealm) UserStore.getInstance().getRealm();
+            admin = realm.getIdentityUserStoreAdmin();
+            reader = realm.getIdentityUserStoreReader();
+
+            if (reader.isExistingUserProfile(userName, profileName)) {
+                this.addErrorMessage(getText("sign_in_user_exist",
+                        new String[] { profileName }));
+                loadMessages();
+                return ERROR;
+            } else {
+                admin.setUserProperties(userName, props, profileName);
+            }
+
+        } catch (UserManagerException e) {
+            String msg = getText("error_unexpected", new String[] { e
+                    .getMessage() });
+            this.addErrorMessage(msg);
+            return ERROR;
+        }
+
+        return SUCCESS;
+    }
+
+}

Added: 
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/adduserprofile.jsp
==============================================================================
--- (empty file)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/adduserprofile.jsp 
    Tue Feb 19 01:52:30 2008
@@ -0,0 +1,84 @@
+<%@ taglib prefix="s" uri="/struts-tags"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
+"http://www.w3.org/TR/html4/strict.dtd";>
+<html>
+<head>
+<title>WSO2 Identity Solution</title>
+<link type="text/css" rel="stylesheet" href="css/styles.css" />
+</head>
+<body>
+<!-- Include the header -->
+<s:include value="header.jsp" />
+
+<table cellpadding="0" cellspacing="0" border="0" style="width: 100%;">
+       <tr>
+               <td class="right-back"></td>
+               <td class="content" valign="top">
+               <table cellpadding="0" cellspacing="0" border="0" style="width: 
100%;">
+                       <tr>
+                               <td>
+                               <h1>WSO2 Identity Provider</h1>
+                               </td>
+                               <td align="right" valign="top"><img
+                                       
src="images/wso2-identity-content-rounded.jpg" align="top" /></td>
+                       </tr>
+               </table>
+
+               <br>
+
+               <s:iterator value="errorMessages">
+                       <div class="error-message"><s:property /></div>
+               </s:iterator> <s:iterator value="infoMessages">
+                       <div class="info-message"><s:property /></div>
+               </s:iterator>
+
+               <table cellpadding="0" cellspacing="10" border="0"
+                       class="login-header">
+                       <tr>
+                               <td valign="top" width="30%">
+                               <form action="AddUserProfileSubmit.action" 
method="post">
+                               <strong>Add new profile to your user 
account</strong><br />
+                               <!--todo -->
+                               <div class="errors"><s:actionerror /> 
<s:fielderror /></div>
+                               <i>Required fields <font 
class="required">*</font> </i>
+                               <table cellpadding="0" cellspacing="10" 
border="0"
+                                       class="form-table">
+                                       <tr>
+                                               <td>Unique Profile Name</td>
+                                               <td width="2"><font 
class="required">*</font></td>
+                                               <td><input type="text" 
name="profileName"></td>
+                                       </tr>
+                                       <s:iterator value="claims">
+                                               <tr>
+                                                       <td><s:property 
value="displayTag" /></td>
+                                                       <td width="2"><s:if 
test="optional==false">
+                                                               <font 
class="required">*</font>
+                                                       </s:if></td>
+                                                       <td><input type="text" 
name="<s:property value="uri" />"></td>
+                                               </tr>
+                                       </s:iterator>
+
+                                       <tr>
+                                               <td></td>
+                                               <td></td>
+                                               <td><input type="submit" 
value="Add Profile" class="button">
+                                               <input type="button" 
value="Cancel"
+                                                       
onClick="javascript:window.location = 'ShowMain.action'"
+                                                       class="button"></td>
+                                       </tr>
+                               </table>
+                               </form>
+                               </td>
+
+                       </tr>
+               </table>
+               </td>
+       </tr>
+</table>
+
+<!-- Include footer -->
+<s:include value="footer.jsp" />
+
+</body>
+
+</html>
\ No newline at end of file

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

Reply via email to