[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