From ed552ba47c02779c270ffd62841d6d1048dade70 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 22 Nov 2015 14:37:16 -0500
Subject: [PATCH] Merge branch 'develop'

---
 src/main/java/com/gitblit/manager/UserManager.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/manager/UserManager.java b/src/main/java/com/gitblit/manager/UserManager.java
index 2b82ffb..e88ac93 100644
--- a/src/main/java/com/gitblit/manager/UserManager.java
+++ b/src/main/java/com/gitblit/manager/UserManager.java
@@ -36,6 +36,8 @@
 import com.gitblit.models.TeamModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.StringUtils;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
 
 /**
  * The user manager manages persistence and retrieval of users and teams.
@@ -43,6 +45,7 @@
  * @author James Moger
  *
  */
+@Singleton
 public class UserManager implements IUserManager {
 
 	private final Logger logger = LoggerFactory.getLogger(getClass());
@@ -57,6 +60,7 @@
 
 	private IUserService userService;
 
+	@Inject
 	public UserManager(IRuntimeManager runtimeManager, IPluginManager pluginManager) {
 		this.settings = runtimeManager.getSettings();
 		this.runtimeManager = runtimeManager;
@@ -79,9 +83,9 @@
 	 * @param userService
 	 */
 	public void setUserService(IUserService userService) {
-		logger.info(userService.toString());
 		this.userService = userService;
 		this.userService.setup(runtimeManager);
+		logger.info(userService.toString());
 	}
 
 	@Override
@@ -111,10 +115,12 @@
 					// check to see if this "file" is a custom user service class
 					Class<?> realmClass = Class.forName(realm);
 					service = (IUserService) realmClass.newInstance();
-				} catch (Throwable t) {
+				} catch (ClassNotFoundException t) {
 					// typical file path configuration
 					File realmFile = runtimeManager.getFileOrFolder(Keys.realm.userService, "${baseFolder}/users.conf");
 					service = createUserService(realmFile);
+				} catch (InstantiationException | IllegalAccessException  e) {
+					logger.error("failed to instantiate user service {}: {}", realm, e.getMessage());
 				}
 			}
 			setUserService(service);

--
Gitblit v1.9.1