From 2c50880dbd5de292e37d2533fccfcb62f6be9f95 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 03 Jun 2014 10:34:51 -0400 Subject: [PATCH] Extract authorization/access selection panel to re-usable class --- src/main/java/com/gitblit/servlet/ProxyFilter.java | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/ProxyFilter.java b/src/main/java/com/gitblit/servlet/ProxyFilter.java index bfdc87f..46f59de 100644 --- a/src/main/java/com/gitblit/servlet/ProxyFilter.java +++ b/src/main/java/com/gitblit/servlet/ProxyFilter.java @@ -25,14 +25,17 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; +import ro.fortsoft.pf4j.PluginWrapper; + import com.gitblit.dagger.DaggerFilter; import com.gitblit.extensions.HttpRequestFilter; import com.gitblit.manager.IPluginManager; +import com.gitblit.manager.IRuntimeManager; import dagger.ObjectGraph; /** - * A request filter than allows regsitered extension request filters to access + * A request filter than allows registered extension request filters to access * request data. The intended purpose is for server monitoring plugins. * * @author David Ostrovsky @@ -43,10 +46,17 @@ @Override protected void inject(ObjectGraph dagger, FilterConfig filterConfig) throws ServletException { + IRuntimeManager runtimeManager = dagger.get(IRuntimeManager.class); IPluginManager pluginManager = dagger.get(IPluginManager.class); + filters = pluginManager.getExtensions(HttpRequestFilter.class); for (HttpRequestFilter f : filters) { - f.init(filterConfig); + // wrap the filter config for Gitblit settings retrieval + PluginWrapper pluginWrapper = pluginManager.whichPlugin(f.getClass()); + FilterConfig runtimeConfig = new FilterRuntimeConfig(runtimeManager, + pluginWrapper.getPluginId(), filterConfig); + + f.init(runtimeConfig); } } -- Gitblit v1.9.1