[jboss-svn-commits] JBL Code SVN: r33542 - in labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main: plugin/resources/templates and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 18 05:53:57 EDT 2010


Author: lkrzyzanek
Date: 2010-06-18 05:53:57 -0400 (Fri, 18 Jun 2010)
New Revision: 33542

Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl
Log:
Implemented updating address

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java	2010-06-18 09:18:01 UTC (rev 33541)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java	2010-06-18 09:53:57 UTC (rev 33542)
@@ -99,6 +99,7 @@
       return UNAUTHENTICATED;
     }
     UserTemplate user = getTargetUser();
+    accounts = nukesAccountManager.getNukesAccountsByEmail(getUser().getEmail());
 
     if (isFieldChanged(masterAccount.getFirstName())) {
       user.setFirstName(masterAccount.getFirstName());
@@ -110,16 +111,28 @@
     // Map<String, String> targetProfile = user.getProperties();
     Map<Long, ProfileFieldValue> targetProfile = profileManager.getProfile(user);
 
-    // TODO address
-    // updateProfileField(NukesUserMapper.ADDRESS, profile, targetProfile);
+    try {
+      String sbsAddress = getSbsAddressFromNukes(NukesUserMapper.ADDRESS, profile.get(NukesUserMapper.ADDRESS));
+      profile.put(NukesUserMapper.ADDRESS, sbsAddress);
+      updateProfileField(NukesUserMapper.ADDRESS, profile, targetProfile);
+    } catch (UserNotFoundException e) {
+      log.error("Cannot update address", e);
+    }
+
     updateProfileField(NukesUserMapper.PHONE_NUMBER, profile, targetProfile);
     updateProfileField(NukesUserMapper.ALTERNATE_EMAIL, profile, targetProfile);
     updateProfileField(NukesUserMapper.YOUR_ICQ_NUMBER, profile, targetProfile);
     updateProfileField(NukesUserMapper.YOUR_AIM_ADDRESS, profile, targetProfile);
     updateProfileField(NukesUserMapper.YOUR_YIM_NUMBER, profile, targetProfile);
 
-    // TODO address
-    // updateProfileField(NukesUserMapper.HOME_ADDRESS, profile, targetProfile);
+    try {
+      String sbsHomeAddress = getSbsAddressFromNukes(NukesUserMapper.HOME_ADDRESS, profile
+          .get(NukesUserMapper.HOME_ADDRESS));
+      profile.put(NukesUserMapper.HOME_ADDRESS, sbsHomeAddress);
+      updateProfileField(NukesUserMapper.HOME_ADDRESS, profile, targetProfile);
+    } catch (UserNotFoundException e) {
+      log.error("Cannot update address", e);
+    }
     updateProfileField(NukesUserMapper.OCCUPATION, profile, targetProfile);
     updateProfileField(NukesUserMapper.EXPERTISE, profile, targetProfile);
     updateProfileField(NukesUserMapper.COMPANY_NAME, profile, targetProfile);
@@ -151,6 +164,19 @@
     return SUCCESS;
   }
 
+  private String getSbsAddressFromNukes(long fieldId, String username) throws UserNotFoundException {
+    return getNukesUser(username).getProfile().get(fieldId);
+  }
+
+  private NukesUser getNukesUser(String username) throws UserNotFoundException {
+    for (NukesUser user : accounts) {
+      if (user.getUsername().equals(username)) {
+        return user;
+      }
+    }
+    throw new UserNotFoundException("User " + username + " not found in Nukes");
+  }
+
   private void updateProfileField(long fieldId, Map<Long, String> profile, Map<Long, ProfileFieldValue> targetProfile) {
     if (isFieldChanged(profile.get(fieldId))) {
       String value = profile.get(fieldId);

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl	2010-06-18 09:18:01 UTC (rev 33541)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl	2010-06-18 09:53:57 UTC (rev 33542)
@@ -67,7 +67,7 @@
             <td><@s.text name="plugin.nukesauth.masteraccount.account.address" />:</td>
             <@s.iterator value="accounts" status="index">
             <td>
-<input type="radio" id="address-<@s.property value="#index.count" />" name="masterAccount.profile[3]" <@s.if test="#index.count == 1">value="<@s.property value="masterAccountSelected" />" checked="checked"</@s.if><@s.else>value="<@s.property value="profile[3]" />"</@s.else>>
+<input type="radio" id="address-<@s.property value="#index.count" />" name="masterAccount.profile[3]" <@s.if test="#index.count == 1">value="<@s.property value="masterAccountSelected" />" checked="checked"</@s.if><@s.else>value="<@s.property value="username" />"</@s.else>>
 <label for="address-<@s.property value="#index.count" />"><@s.property value="profile[3]" /></label>
             </td>
             </@s.iterator>
@@ -129,7 +129,7 @@
             <td><@s.text name="plugin.nukesauth.masteraccount.account.homeaddress" />:</td>
             <@s.iterator value="accounts" status="index">
             <td>
-<input type="radio" id="homeaddress-<@s.property value="#index.count" />" name="masterAccount.profile[14]" <@s.if test="#index.count == 1">value="<@s.property value="masterAccountSelected" />" checked="checked"</@s.if><@s.else>value="<@s.property value="profile[14]" />"</@s.else>>
+<input type="radio" id="homeaddress-<@s.property value="#index.count" />" name="masterAccount.profile[14]" <@s.if test="#index.count == 1">value="<@s.property value="masterAccountSelected" />" checked="checked"</@s.if><@s.else>value="<@s.property value="username" />"</@s.else>>
 <label for="homeaddress-<@s.property value="#index.count" />"><@s.property value="profile[14]" /></label>
             </td>
             </@s.iterator>



More information about the jboss-svn-commits mailing list