[jboss-svn-commits] JBL Code SVN: r33638 - in labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth: struts and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 25 06:04:36 EDT 2010


Author: lkrzyzanek
Date: 2010-06-25 06:04:36 -0400 (Fri, 25 Jun 2010)
New Revision: 33638

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/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/struts/ChooseMasterAccountAction.java
Log:
Changed creating master account:
 - Registration date is choosen the oldest one.
 - Account is set as synchronized

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-25 07:10:24 UTC (rev 33637)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/NukesAccountManagerImpl.java	2010-06-25 10:04:36 UTC (rev 33638)
@@ -317,6 +317,17 @@
     nukesUserDAO.removeResetToken(username);
   }
 
+  public static Date getOldestRegistrationDate(List<NukesUser> users) {
+    Date oldest = new Date();
+    for (NukesUser nukesUser : users) {
+      if (nukesUser.getCreationDate().before(oldest)) {
+        oldest = nukesUser.getCreationDate();
+      }
+    }
+
+    return oldest;
+  }
+
   public void setNukesUserDAO(NukesUserDAO nukesUserDAO) {
     this.nukesUserDAO = nukesUserDAO;
   }

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-25 07:10:24 UTC (rev 33637)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManager.java	2010-06-25 10:04:36 UTC (rev 33638)
@@ -42,11 +42,12 @@
    * 
    * @param nukesUser
    * @param password
+   * @return created SBS user
    * 
    * @throws EmailAlreadyExistsException
    * @throws UserAlreadyExistsException
    */
-  public void createAccount(NukesUser nukesUser, String password) throws UserAlreadyExistsException,
+  public User createAccount(NukesUser nukesUser, String password) throws UserAlreadyExistsException,
       EmailAlreadyExistsException;
 
   /**
@@ -78,7 +79,8 @@
    * Set duplicate accounts for specified user.
    * 
    * @param user
-   * @param duplicateAccounts Duplicate nukes users
+   * @param duplicateAccounts Duplicate nukes users - can contain master
+   *          username
    */
   public void setDuplicateAccounts(User user, List<NukesUser> duplicateAccounts);
 

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-25 07:10:24 UTC (rev 33637)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManagerImpl.java	2010-06-25 10:04:36 UTC (rev 33638)
@@ -100,12 +100,13 @@
   }
 
   @Override
-  public void createAccount(NukesUser nukesUser, String password) throws UserAlreadyExistsException,
+  public User createAccount(NukesUser nukesUser, String password) throws UserAlreadyExistsException,
       EmailAlreadyExistsException {
     if (log.isInfoEnabled()) {
       log.info("Going to create SBS user from nukes: " + nukesUser);
     }
-    UserTemplate ut = new UserTemplate(nukesUser.getUsername(), password, nukesUser.getEmail());
+    final String username = nukesUser.getUsername();
+    UserTemplate ut = new UserTemplate(username, password, nukesUser.getEmail());
     ut.setFederated(false);
 
     ut = mapDetails(ut, nukesUser);
@@ -114,9 +115,9 @@
     // update profile
     User u;
     try {
-      u = userManager.getUser(nukesUser.getUsername());
+      u = userManager.getUser(username);
     } catch (UserNotFoundException e) {
-      throw new RuntimeException("Cannot get user which has been just created. Username: " + nukesUser.getUsername(), e);
+      throw new RuntimeException("Cannot get user which has been just created. Username: " + username, e);
     }
 
     Set<ProfileFieldValue> pfvSet = new HashSet<ProfileFieldValue>();
@@ -134,6 +135,11 @@
     if (!pfvSet.isEmpty()) {
       profileManager.setProfile(u, pfvSet);
     }
+    try {
+      return userManager.getUser(username);
+    } catch (UserNotFoundException e) {
+      throw new RuntimeException("Cannot get user which has been just created. Username: " + username, e);
+    }
   }
 
   @Override

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/ChooseMasterAccountAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/ChooseMasterAccountAction.java	2010-06-25 07:10:24 UTC (rev 33637)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/struts/ChooseMasterAccountAction.java	2010-06-25 10:04:36 UTC (rev 33638)
@@ -22,11 +22,13 @@
 package org.jboss.labs.sbs.plugin.nukesauth.struts;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.acegisecurity.BadCredentialsException;
 import org.acegisecurity.userdetails.UsernameNotFoundException;
 import org.jboss.labs.sbs.plugin.nukesauth.NukesAccountManager;
+import org.jboss.labs.sbs.plugin.nukesauth.NukesAccountManagerImpl;
 import org.jboss.labs.sbs.plugin.nukesauth.SbsAccountManager;
 import org.jboss.labs.sbs.plugin.nukesauth.dao.NukesUser;
 
@@ -119,10 +121,12 @@
       return INPUT;
     }
 
-    final NukesUser masterAccount = nukesAccountManager.getAccountByUsername(masterAccountUsername);
+    NukesUser masterAccount = nukesAccountManager.getAccountByUsername(masterAccountUsername);
+    Date oldestRegDate = NukesAccountManagerImpl.getOldestRegistrationDate(duplicateAccounts);
+    masterAccount.setCreationDate(oldestRegDate);
 
     try {
-      sbsAccountManager.createAccount(masterAccount, password.toString());
+      User u = sbsAccountManager.createAccount(masterAccount, password.toString());
       List<String> dupUsernames = new ArrayList<String>();
 
       log.debug("Update nukes passwords");
@@ -130,6 +134,9 @@
         dupUsernames.add(dupAccount.getUsername());
       }
       nukesAccountManager.updateNukesPassword(masterAccountUsername, password.toString(), dupUsernames);
+
+      sbsAccountManager.setDuplicateAccounts(u, duplicateAccounts);
+      sbsAccountManager.setAccountSynchronized(u, true);
     } catch (UserAlreadyExistsException e) {
       // should not occur because we're creating not existing SBS account
       throw new JiveActionException(e);



More information about the jboss-svn-commits mailing list