From 3286926d2ec11445f76cd170e4c2fcff597a0754 Mon Sep 17 00:00:00 2001 From: Fabrice Bacchella <fbacchella@spamcop.net> Date: Tue, 26 May 2015 04:48:40 -0400 Subject: [PATCH] Two slight improvement for custom UserService: - try userRealm as a file only if class is not found, other exeptions are real error - log userService only after setup, for better logging, as it can use gitblit.properties for custom .toString --- src/main/java/com/gitblit/manager/UserManager.java | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/manager/UserManager.java b/src/main/java/com/gitblit/manager/UserManager.java index 86be8bc..0d7ee9a 100644 --- a/src/main/java/com/gitblit/manager/UserManager.java +++ b/src/main/java/com/gitblit/manager/UserManager.java @@ -83,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 @@ -115,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 instanciate user service {}: {}", realm, e.getMessage()); } } setUserService(service); -- Gitblit v1.9.1