Author: prabath
Date: Wed Mar 26 20:28:22 2008
New Revision: 15145

Log:

added optional claims required at the user registration to the information 
card's, optionalClaim attribute

Modified:
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegisterationAction.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/webapp/jsp/cardreg.jsp

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegisterationAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegisterationAction.java
      (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/InfoCardUserRegisterationAction.java
      Wed Mar 26 20:28:22 2008
@@ -26,26 +26,35 @@
     private static final long serialVersionUID = -4357591807843549309L;
 
     String claimsParamValue;
-    
+    String optionalClaimValue;
+
     @Override
     public String execute() throws Exception {
         //Get enabled claims
         ClaimsAdmin ClaimsAdmin = new ClaimsAdmin();
         ClaimDO[] claimDOs = ClaimsAdmin.getAllMappedEnabledClaims();
-        
+
         StringBuffer tmpClaims = new StringBuffer();
+        StringBuffer optionalClaims = new StringBuffer();
         for (int i = 0; i < claimDOs.length; i++) {
-            if (claimDOs[i].isRequired())
-            tmpClaims.append(claimDOs[i].getUri() + " ");
+            if (claimDOs[i].isRequired()) {
+                tmpClaims.append(claimDOs[i].getUri() + " ");
+            } else {
+                optionalClaims.append(claimDOs[i].getUri() + " ");
+            }
         }
         this.claimsParamValue = tmpClaims.toString();
+        this.optionalClaimValue = optionalClaims.toString();
         return SUCCESS;
-        
+
     }
 
     public String getClaimsParamValue() {
         return claimsParamValue;
     }
 
-    
+    public String getOptionalClaimValue() {
+        return optionalClaimValue;
+    }
+
 }

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
 Wed Mar 26 20:28:22 2008
@@ -1,17 +1,12 @@
 /*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright 2004,2005 The Apache Software Foundation. Licensed under the 
Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
+ * or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
  */
 
 package org.wso2.solutions.identity.user.ui.action;
@@ -72,9 +67,15 @@
             HashMap props = new HashMap();
 
             for (int i = 0; i < claimDOs.length; i++) {
-                if (claimDOs[i].isRequired())
+                if (request.getAttribute(claimDOs[i].getUri()) != null) {
                     props.put(claimDOs[i].getUri(), (String) request
                             .getAttribute(claimDOs[i].getUri()));
+                } else if (claimDOs[i].isRequired()) {
+                    // You will not get here - since the identity selector 
makes
+                    // sure all the required attributes are provided.
+                    this.addActionError("Required attribute missing");
+                    return ERROR;
+                }
             }
 
             ParameterAdmin paramAdmin = new ParameterAdmin();
@@ -111,5 +112,4 @@
 
         return SUCCESS;
     }
-
 }

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/cardreg.jsp
==============================================================================
--- trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/cardreg.jsp    
(original)
+++ trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/cardreg.jsp    
Wed Mar 26 20:28:22 2008
@@ -14,7 +14,9 @@
                 <PARAM  Name="tokenType"
                         Value="urn:oasis:names:tc:SAML:1.0:assertion">
                 <PARAM  Name="requiredClaims"
-                        Value="<s:property value="claimsParamValue"/>">
+                        Value="<s:property value="claimsParamValue"/>">
+                <PARAM  Name="optionalClaims"
+                        Value="<s:property value="optionalClaimValue"/>">      
                  
                 <PARAM Name="issuer" 
value="http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self";>     
             </OBJECT>
   </form>

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

Reply via email to