[jboss-svn-commits] JBL Code SVN: r33535 - in labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main: java/org/jboss/labs/sbs/plugin/nukesauth/dao and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jun 17 03:17:39 EDT 2010


Author: lkrzyzanek
Date: 2010-06-17 03:17:39 -0400 (Thu, 17 Jun 2010)
New Revision: 33535

Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManager.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManagerImpl.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManager.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManagerImpl.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/DbNukesUserDAOImpl.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/NukesUser.java
   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
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties
Log:
ORG-606 Added page for updating master account based on duplicity accounts.

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManager.java	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManager.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -28,6 +28,7 @@
 import org.acegisecurity.BadCredentialsException;
 import org.acegisecurity.userdetails.UsernameNotFoundException;
 import org.jboss.labs.sbs.plugin.nukesauth.dao.NukesUser;
+import org.jboss.labs.sbs.plugin.nukesauth.dao.NukesUserMapper;
 
 import com.jivesoftware.base.User;
 
@@ -119,6 +120,17 @@
   public void updateNukesAccounts(User sbsUser, List<String> duplicateUsernames);
 
   /**
+   * Converts SBS User to Nukes account<br>
+   * all fields are copied except password hash and translated fields - check
+   * {@link NukesUserMapper#isTranslatedField(Long)}
+   * 
+   * @param sbsUser
+   * @return
+   * @see NukesUserMapper#isTranslatedField(Long)
+   */
+  public NukesUser convertToNukesAccount(User sbsUser);
+
+  /**
    * Send password reset token
    * 
    * @param nukesUser

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManagerImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManagerImpl.java	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManagerImpl.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -132,15 +132,7 @@
     }
   }
 
-  /**
-   * Converts SBS User to Nukes account<br>
-   * all fields are copied except password hash and translated fields - check
-   * {@link NukesUserMapper#isTranslatedField(Long)}
-   * 
-   * @param sbsUser
-   * @return
-   * @see NukesUserMapper#isTranslatedField(Long)
-   */
+  @Override
   public NukesUser convertToNukesAccount(User sbsUser) {
     NukesUser bean = new NukesUser(sbsUser.getUsername());
     bean.setEmail(sbsUser.getEmail());

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManager.java	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManager.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -50,6 +50,13 @@
       EmailAlreadyExistsException;
 
   /**
+   * Update account based on data from nukes
+   * 
+   * @param nukesUser
+   */
+  public void updateAccount(NukesUser nukesUser);
+
+  /**
    * Update password.
    * 
    * @param username

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManagerImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManagerImpl.java	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManagerImpl.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -137,6 +137,13 @@
   }
 
   @Override
+  public void updateAccount(NukesUser nukesUser) {
+    if (log.isDebugEnabled()) {
+      log.debug("Update account: " + nukesUser);
+    }
+  }
+
+  @Override
   public void updatePassword(String username, String password) throws UserNotFoundException {
     User user = userManager.getUser(username);
     UserTemplate userTemplate = new UserTemplate(user);

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/DbNukesUserDAOImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/DbNukesUserDAOImpl.java	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/DbNukesUserDAOImpl.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -114,9 +114,10 @@
     args.add(nullToEmptyString(profile.get(NukesUserMapper.TITLE)));
     args.add(nullToEmptyString(profile.get(NukesUserMapper.COMPANY_SIZE)));
     args.add(nullToEmptyString(profile.get(NukesUserMapper.URL)));
-    args.add(nullToEmptyString(profile.get(NukesUserMapper.BIOGRAPHY)));
+    args.add(shrink(profile.get(NukesUserMapper.BIOGRAPHY), 255));
     args.add(nullToEmptyString(profile.get(NukesUserMapper.TYPE_OF_COMPANY)));
     // TODO CHeck nullability of nukes columns with SBS nullability
+    // TODO check length of each column.
 
     // WHERE part
     args.add(user.getUsername());
@@ -134,6 +135,16 @@
 
   }
 
+  private String shrink(String s, int size) {
+    if (s == null) {
+      return "";
+    }
+    if (size >= s.length()) {
+      return s;
+    }
+    return s.substring(0, size);
+  }
+
   private String nullToEmptyString(String s) {
     return s == null ? "" : s;
   }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/NukesUser.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/NukesUser.java	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/dao/NukesUser.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -21,6 +21,7 @@
  */
 package org.jboss.labs.sbs.plugin.nukesauth.dao;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.Map;
 
@@ -29,7 +30,7 @@
  * 
  * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
  */
-public class NukesUser {
+public class NukesUser implements Serializable {
 
   private String username;
 
@@ -57,6 +58,9 @@
 
   private Long passwordResetLastSent;
 
+  public NukesUser() {
+  }
+
   public NukesUser(String username) {
     this.username = username;
   }

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-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/UpdateMasterAccountAction.java	2010-06-17 07:17:39 UTC (rev 33535)
@@ -42,7 +42,7 @@
 
   private List<NukesUser> duplicateAccounts;
 
-  private NukesUser masterAccountDetails;
+  private NukesUser masterAccount;
 
   private NukesAccountManager nukesAccountManager;
 
@@ -57,11 +57,18 @@
   }
 
   @Override
+  public String input() {
+    masterAccount = nukesAccountManager.convertToNukesAccount(getUser());
+
+    return INPUT;
+  }
+
+  @Override
   public String execute() {
     if (isGuest()) {
       return UNAUTHENTICATED;
     }
-    log.debug("Update Master account from Duplicate account details.");
+    sbsAccountManager.updateAccount(masterAccount);
 
     return SUCCESS;
   }
@@ -71,9 +78,16 @@
       return UNAUTHENTICATED;
     }
 
+    sbsAccountManager.setAccountSynchronized(getUser(), true);
+
     return "accountUpdated";
   }
 
+  @Override
+  public boolean acceptableParameterName(String parameterName) {
+    return parameterName.contains("masterAccount.");
+  }
+
   public List<NukesUser> getDuplicateAccounts() {
     return duplicateAccounts;
   }
@@ -90,12 +104,12 @@
     this.sbsAccountManager = sbsAccountManager;
   }
 
-  public void setMasterAccountDetails(NukesUser masterAccountDetails) {
-    this.masterAccountDetails = masterAccountDetails;
+  public void setMasterAccount(NukesUser masterAccount) {
+    this.masterAccount = masterAccount;
   }
 
-  public NukesUser getMasterAccountDetails() {
-    return masterAccountDetails;
+  public NukesUser getMasterAccount() {
+    return masterAccount;
   }
 
 }

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-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/resources/templates/update-master-account.ftl	2010-06-17 07:17:39 UTC (rev 33535)
@@ -23,8 +23,23 @@
         
         <p><@s.text name="plugin.nukesauth.updateaccount.description" /></p>
         <p>&nbsp;</p>
+        <@s.form theme="simple">
         <table cellspacing="2px" cellpadding="2px" border="1px solid gray">
           <tr>
+            <td></td>
+            <@s.iterator value="duplicateAccounts">
+            <td>
+            <@s.if test="username == user.username">
+              <@s.text name="plugin.nukesauth.updateaccount.master" />
+            </@s.if>
+            <@s.else>
+              <@s.text name="plugin.nukesauth.updateaccount.duplicate" />
+            </@s.else>
+            </td>
+            </@s.iterator>
+          </tr>
+
+          <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.username" />:</td>
             <@s.iterator value="duplicateAccounts">
             <td><@s.property value="username" /></td>
@@ -33,48 +48,53 @@
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.firstname" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="firstName" default="-" /></td>
+            <td>
+            <@s.radio theme="simple" name="masterAccount.firstName" list="{firstName}"/>
+            </td>
             </@s.iterator>
           </tr>
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.lastname" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="lastName" default="-" /></td>
+            <td>
+            <@s.radio theme="simple" name="masterAccount.lastName" list="{lastName}"/>
+            </td>
             </@s.iterator>
           </tr>
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.email" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="email" default="-" /></td>
+            <td><@s.property value="email" /></td>
             </@s.iterator>
           </tr>
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.phone" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="profile[4]" default="-" /></td>
+            <td>
+            <@s.radio theme="simple" name="masterAccount.profile[4]" list="{profile[4]}"/>
+            </td>
             </@s.iterator>
           </tr>
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.bio" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="profile[11]" default="-" /></td>
+            <td><@s.radio theme="simple" name="masterAccount.profile[11]" list="{profile[11]}"/></td>
             </@s.iterator>
           </tr>
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.url" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="profile[9]" default="-" /></td>
+            <td><@s.radio theme="simple" name="masterAccount.profile[9]" list="{profile[9]}"/></td>
             </@s.iterator>
           </tr>
           <tr>
             <td><@s.text name="plugin.nukesauth.masteraccount.account.companyname" />:</td>
             <@s.iterator value="duplicateAccounts">
-            <td><@s.property value="profile[5001]" default="-" /></td>
+            <td><@s.radio theme="simple" name="masterAccount.profile[5001]" list="{profile[5001]}"/></td>
             </@s.iterator>
           </tr>
         </table>
         <p>&nbsp;</p>
-        <@s.form theme="simple">
         <table>
           <tr><td>&nbsp;</td></tr>
           <tr><td colspan="2">
@@ -83,6 +103,8 @@
           <@s.submit key="plugin.nukesauth.updateaccount.cancel" method="cancel"/>
           </td></tr>
         </table>
+        <@s.hidden name="masterAccount.username" />
+        <@s.hidden name="masterAccount.email" />
         </@s.form>
         
         </div>

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/struts.xml	2010-06-17 07:17:39 UTC (rev 33535)
@@ -46,6 +46,7 @@
       <result name="accountUpdated" type="freemarker">
   /plugins/nukesauthentication/resources/templates/update-master-account-success.ftl
       </result>
+      <interceptor-ref name="paramsPrepareParamsStack" />
     </action>
 
     <action name="duplicate-account"

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties	2010-06-17 03:54:02 UTC (rev 33534)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/resources/plugin_i18n.properties	2010-06-17 07:17:39 UTC (rev 33535)
@@ -25,7 +25,9 @@
 
 # Update master account
 plugin.nukesauth.updateaccount.name=Update The Master Account
-plugin.nukesauth.updateaccount.description=You have more than one account with same e-mail. These accounts are now signed as duplicate accounts. Please check details of your Master account. If any of your duplicate account has more relevant detail, simply click on radio button beside the detail. Then click on Update button. 
+plugin.nukesauth.updateaccount.description=You have more than one account with same e-mail. These accounts are now signed as duplicate accounts. Please check details of your Master account. If any of your duplicate account has more relevant detail, simply click on radio button beside the detail. Then click on Update button.
+plugin.nukesauth.updateaccount.master=Master Account
+plugin.nukesauth.updateaccount.duplicate=Duplicate Account 
 plugin.nukesauth.updateaccount.submit=Update
 plugin.nukesauth.updateaccount.cancel=Cancel
 



More information about the jboss-svn-commits mailing list