From 63ee41d91854e1cf06d8d5cda30cdf7d8d38f3c5 Mon Sep 17 00:00:00 2001 From: James Moger Date: Wed, 28 Sep 2011 18:55:34 -0400 Subject: Added IUserService.setup(IStoredSettings) for custom implementations. This allows custom implementations to store their settings alongside the Gitblit GO or WAR settings while remaining unit-testable. --- src/com/gitblit/FileUserService.java | 10 ++++++++++ src/com/gitblit/GitBlit.java | 1 + src/com/gitblit/IUserService.java | 10 ++++++++++ 3 files changed, 21 insertions(+) (limited to 'src/com/gitblit') diff --git a/src/com/gitblit/FileUserService.java b/src/com/gitblit/FileUserService.java index 9dc80087..cae0d791 100644 --- a/src/com/gitblit/FileUserService.java +++ b/src/com/gitblit/FileUserService.java @@ -52,6 +52,16 @@ public class FileUserService extends FileSettings implements IUserService { super(realmFile.getAbsolutePath()); } + /** + * Setup the user service. + * + * @param settings + * @since 0.6.1 + */ + @Override + public void setup(IStoredSettings settings) { + } + /** * Does the user service support cookie authentication? * diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java index f7c43a85..c35340ac 100644 --- a/src/com/gitblit/GitBlit.java +++ b/src/com/gitblit/GitBlit.java @@ -249,6 +249,7 @@ public class GitBlit implements ServletContextListener { public void setUserService(IUserService userService) { logger.info("Setting up user service " + userService.toString()); this.userService = userService; + this.userService.setup(settings); } /** diff --git a/src/com/gitblit/IUserService.java b/src/com/gitblit/IUserService.java index 426d38c0..a85c997f 100644 --- a/src/com/gitblit/IUserService.java +++ b/src/com/gitblit/IUserService.java @@ -28,6 +28,16 @@ import com.gitblit.models.UserModel; */ public interface IUserService { + /** + * Setup the user service. This method allows custom implementations to + * retrieve settings from gitblit.properties or the web.xml file without + * relying on the GitBlit static singleton. + * + * @param settings + * @since 0.6.1 + */ + void setup(IStoredSettings settings); + /** * Does the user service support cookie authentication? * -- cgit v1.2.3