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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 1 07:09:03 EDT 2010


Author: lkrzyzanek
Date: 2010-06-01 07:09:03 -0400 (Tue, 01 Jun 2010)
New Revision: 33280

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/SbsAccountManagerImpl.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/spring.xml
Log:
ORG-606: handling synchronization flag with nukes moved to SbsAccountManager

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-01 10:58:55 UTC (rev 33279)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManager.java	2010-06-01 11:09:03 UTC (rev 33280)
@@ -24,6 +24,7 @@
 import org.jboss.labs.sbs.plugin.nukesauth.dao.NukesUser;
 
 import com.jivesoftware.base.EmailAlreadyExistsException;
+import com.jivesoftware.base.User;
 import com.jivesoftware.base.UserAlreadyExistsException;
 import com.jivesoftware.base.UserNotFoundException;
 
@@ -55,4 +56,20 @@
    */
   public void updatePassword(String username, String password) throws UserNotFoundException;
 
+  /**
+   * Check if account is synchronized
+   * 
+   * @param user
+   * @return true if account is synchronized, otherwise false
+   */
+  public boolean isAccountSynchronized(User user);
+
+  /**
+   * Set Nukes Synchronized flag
+   * 
+   * @param user
+   * @param setSynchronized true or false
+   */
+  public void setAccountSynchronized(User user, boolean setSynchronized);
+
 }

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-01 10:58:55 UTC (rev 33279)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/SbsAccountManagerImpl.java	2010-06-01 11:09:03 UTC (rev 33280)
@@ -56,6 +56,8 @@
 
   private ProfileManager profileManager;
 
+  private Long accountSynchronizedFiled = new Long(5010);
+
   private UserTemplate mapDetails(UserTemplate ut, NukesUser nukeUser) {
     ut.setFirstName(nukeUser.getFirstName());
     ut.setLastName(nukeUser.getLastName());
@@ -140,6 +142,29 @@
     }
   }
 
+  @Override
+  public boolean isAccountSynchronized(User user) {
+    Map<Long, ProfileFieldValue> profile = profileManager.getProfile(user);
+    ProfileFieldValue accountSync = profile.get(accountSynchronizedFiled);
+
+    if (accountSync != null && "true".equalsIgnoreCase(accountSync.getValue())) {
+      return true;
+    }
+    return false;
+  }
+
+  @Override
+  public void setAccountSynchronized(User user, boolean setSynchronized) {
+    Map<Long, ProfileFieldValue> profile = profileManager.getProfile(user);
+    ProfileFieldValue accountSync = profile.get(accountSynchronizedFiled);
+    if (accountSync == null) {
+      accountSync = new ProfileFieldValue(accountSynchronizedFiled, ProfileField.Type.BOOLEAN.getID());
+    }
+    accountSync.setValue(setSynchronized ? "true" : "false");
+    profile.put(accountSynchronizedFiled, accountSync);
+    profileManager.setProfile(user, profile.values());
+  }
+
   public void setUserManager(UserManager userManager) {
     this.userManager = userManager;
   }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java	2010-06-01 10:58:55 UTC (rev 33279)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/java/org/jboss/labs/sbs/plugin/nukesauth/filter/NukesSyncFilter.java	2010-06-01 11:09:03 UTC (rev 33280)
@@ -23,7 +23,6 @@
 
 import java.io.IOException;
 import java.util.List;
-import java.util.Map;
 
 import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
@@ -43,9 +42,6 @@
 import com.jivesoftware.base.UserManager;
 import com.jivesoftware.base.UserNotFoundException;
 import com.jivesoftware.community.aaa.JiveAuthenticationProcessingFilter;
-import com.jivesoftware.community.user.profile.ProfileField;
-import com.jivesoftware.community.user.profile.ProfileFieldValue;
-import com.jivesoftware.community.user.profile.ProfileManager;
 
 /**
  * Filter synchronizes Nukes account with SBS account during login process
@@ -56,16 +52,12 @@
 
   private static final Logger log = LogManager.getLogger(NukesSyncFilter.class);
 
-  private ProfileManager profileManager;
-
   private NukesAccountManager nukesAccountManager;
 
   private SbsAccountManager sbsAccountManager;
 
   private UserManager userManager;
 
-  private Long accountSynchronizedFiled = new Long(5010);
-
   @Override
   public void afterPropertiesSet() throws Exception {
     // do nothing - this is only sync filter - it doesn't do login.
@@ -98,7 +90,7 @@
       User user = null;
       try {
         user = userManager.getUser(username);
-        if (isAccountSynchronized(user)) {
+        if (sbsAccountManager.isAccountSynchronized(user)) {
           log.debug("User is synchronized");
           chain.doFilter(request, response);
           return;
@@ -133,12 +125,10 @@
           List<NukesUser> nukesAccounts = nukesAccountManager.getNukesAccountsByEmail(user.getEmail());
 
           if (nukesAccounts.size() > 1) {
-            // TODO: handle one SBS account and more nukes accounts
 
-            // update Nukes duplicate accounts
-          } else {
-            sbsAccountManager.updatePassword(username, password);
+            // TODO: update Nukes duplicate accounts
           }
+          sbsAccountManager.updatePassword(username, password);
         } else {
           log.debug("SBS account does NOT exist");
           NukesUser nukesUser = nukesAccountManager.getAccountByUsername(username);
@@ -160,14 +150,7 @@
 
       if (setSynchronized) {
         log.trace("set account synchronized flag to true");
-        Map<Long, ProfileFieldValue> profile = profileManager.getProfile(user);
-        ProfileFieldValue accountSync = profile.get(accountSynchronizedFiled);
-        if (accountSync == null) {
-          accountSync = new ProfileFieldValue(accountSynchronizedFiled, ProfileField.Type.BOOLEAN.getID());
-        }
-        accountSync.setValue("true");
-        profile.put(accountSynchronizedFiled, accountSync);
-        profileManager.setProfile(user, profile.values());
+        sbsAccountManager.setAccountSynchronized(user, setSynchronized);
         log.info("Account is fully synchronized");
       } else {
         log.fatal("Error occured during synchronization of user: " + username);
@@ -177,20 +160,6 @@
     chain.doFilter(request, response);
   }
 
-  private boolean isAccountSynchronized(User user) {
-    Map<Long, ProfileFieldValue> profile = profileManager.getProfile(user);
-    ProfileFieldValue accountSync = profile.get(accountSynchronizedFiled);
-
-    if (accountSync != null && "true".equalsIgnoreCase(accountSync.getValue())) {
-      return true;
-    }
-    return false;
-  }
-
-  public void setProfileManager(ProfileManager profileManager) {
-    this.profileManager = profileManager;
-  }
-
   public void setNukesAccountManager(NukesAccountManager nukesAccountManager) {
     this.nukesAccountManager = nukesAccountManager;
   }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/spring.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/spring.xml	2010-06-01 10:58:55 UTC (rev 33279)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-nukesauthentication/trunk/src/main/plugin/spring.xml	2010-06-01 11:09:03 UTC (rev 33280)
@@ -15,7 +15,6 @@
     <property name="nukesAccountManager" ref="nukesAccountManager" />
     <property name="sbsAccountManager" ref="sbsAccountManager" />
     <property name="userManager" ref="userManager" />
-    <property name="profileManager" ref="profileManagerImpl" />
     <property name="filterProcessesUrl">
       <value>/cs_login</value>     <!-- Must be exactly same like in formAuthenticationFilter -->
     </property>



More information about the jboss-svn-commits mailing list