From 04a98505a4ab8f48aee22800fcac193d9367d0ae Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Refactor user services and separate authentication (issue-281) --- src/main/java/com/gitblit/wicket/GitBlitWebApp.java | 73 +++++++++++++++++++++++++++--------- 1 files changed, 54 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java index 46a3b06..1409e47 100644 --- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java @@ -28,7 +28,6 @@ import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.protocol.http.WebApplication; -import com.gitblit.GitBlit; import com.gitblit.IStoredSettings; import com.gitblit.Keys; import com.gitblit.manager.IFederationManager; @@ -37,7 +36,7 @@ import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; -import com.gitblit.manager.ISessionManager; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IUserManager; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.pages.ActivityPage; @@ -82,13 +81,49 @@ private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>(); - private IStoredSettings settings; + private final IStoredSettings settings; + + private final IRuntimeManager runtimeManager; + + private final INotificationManager notificationManager; + + private final IUserManager userManager; + + private final IAuthenticationManager authenticationManager; + + private final IRepositoryManager repositoryManager; + + private final IProjectManager projectManager; + + private final IGitblitManager gitblitManager; + + private final IFederationManager federationManager; + + public GitBlitWebApp( + IRuntimeManager runtimeManager, + INotificationManager notificationManager, + IUserManager userManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager, + IGitblitManager gitblitManager, + IFederationManager federationManager) { + + super(); + this.settings = runtimeManager.getSettings(); + this.runtimeManager = runtimeManager; + this.notificationManager = notificationManager; + this.userManager = userManager; + this.authenticationManager = authenticationManager; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; + this.gitblitManager = gitblitManager; + this.federationManager = federationManager; + } @Override public void init() { super.init(); - - settings = runtime().getSettings(); // Setup page authorization mechanism boolean useAuthentication = settings.getBoolean(Keys.web.authenticateViewPages, false) @@ -205,7 +240,7 @@ * @return true if Gitblit is running in debug mode */ public boolean isDebugMode() { - return runtime().isDebugMode(); + return runtimeManager.isDebugMode(); } /* @@ -213,52 +248,52 @@ * step towards modularization across multiple commits. */ public Date getBootDate() { - return runtime().getBootDate(); + return runtimeManager.getBootDate(); } public Date getLastActivityDate() { - return repositories().getLastActivityDate(); + return repositoryManager.getLastActivityDate(); } public IRuntimeManager runtime() { - return GitBlit.getManager(IRuntimeManager.class); + return runtimeManager; } public INotificationManager notifier() { - return GitBlit.getManager(INotificationManager.class); + return notificationManager; } public IUserManager users() { - return GitBlit.getManager(IUserManager.class); + return userManager; } - public ISessionManager session() { - return GitBlit.getManager(ISessionManager.class); + public IAuthenticationManager authentication() { + return authenticationManager; } public IRepositoryManager repositories() { - return GitBlit.getManager(IRepositoryManager.class); + return repositoryManager; } public IProjectManager projects() { - return GitBlit.getManager(IProjectManager.class); + return projectManager; } public IFederationManager federation() { - return GitBlit.getManager(IFederationManager.class); + return federationManager; } public IGitblitManager gitblit() { - return GitBlit.getManager(IGitblitManager.class); + return gitblitManager; } public TimeZone getTimezone() { - return runtime().getTimezone(); + return runtimeManager.getTimezone(); } @Override public final String getConfigurationType() { - if (isDebugMode()) { + if (runtimeManager.isDebugMode()) { return Application.DEVELOPMENT; } return Application.DEPLOYMENT; -- Gitblit v1.9.1