James Moger
2013-11-24 04a98505a4ab8f48aee22800fcac193d9367d0ae
src/main/java/com/gitblit/auth/SalesforceAuthProvider.java
File was renamed from src/main/java/com/gitblit/SalesforceUserService.java
@@ -1,12 +1,9 @@
package com.gitblit;
package com.gitblit.auth;
import java.io.File;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gitblit.Constants;
import com.gitblit.Constants.AccountType;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.Keys;
import com.gitblit.auth.AuthenticationProvider.UsernamePasswordAuthenticationProvider;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
@@ -16,10 +13,11 @@
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
public class SalesforceUserService extends GitblitUserService {
public class SalesforceAuthProvider extends UsernamePasswordAuthenticationProvider {
   public static final Logger logger = LoggerFactory.getLogger(SalesforceUserService.class);
   private IStoredSettings settings;
   public SalesforceAuthProvider() {
      super("salesforce");
   }
   @Override
   public AccountType getAccountType() {
@@ -27,26 +25,11 @@
   }
   @Override
   public void setup(IRuntimeManager runtimeManager) {
      this.settings = runtimeManager.getSettings();
      String file = settings.getString(
            Keys.realm.salesforce.backingUserService,
            "${baseFolder}/users.conf");
      File realmFile = runtimeManager.getFileOrFolder(file);
      serviceImpl = createUserService(realmFile);
      logger.info("Salesforce User Service backed by "
            + serviceImpl.toString());
   public void setup() {
   }
   @Override
   public UserModel authenticate(String username, char[] password) {
      if (isLocalAccount(username)) {
         // local account, bypass Salesforce authentication
         return super.authenticate(username, password);
      }
      ConnectorConfig config = new ConnectorConfig();
      config.setUsername(username);
      config.setPassword(new String(password));
@@ -78,7 +61,7 @@
         UserModel user = null;
         synchronized (this) {
            user = getUserModel(simpleUsername);
            user = userManager.getUserModel(simpleUsername);
            if (user == null)
               user = new UserModel(simpleUsername);
@@ -90,7 +73,7 @@
            setUserAttributes(user, info);
            super.updateUserModel(user);
            updateUser(user);
         }
         return user;
@@ -122,6 +105,7 @@
      return email.split("@")[0];
   }
   @Override
   public boolean supportsCredentialChanges() {
      return false;
@@ -136,4 +120,9 @@
   public boolean supportsEmailAddressChanges() {
      return false;
   }
   @Override
   public boolean supportsTeamMembershipChanges() {
      return true;
   }
}