From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/servlet/GitblitContext.java | 26 ++++++++++++++++++-------- 1 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/GitblitContext.java b/src/main/java/com/gitblit/servlet/GitblitContext.java index 04a7d92..750da79 100644 --- a/src/main/java/com/gitblit/servlet/GitblitContext.java +++ b/src/main/java/com/gitblit/servlet/GitblitContext.java @@ -24,6 +24,7 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; +import java.util.Set; import javax.naming.Context; import javax.naming.InitialContext; @@ -44,6 +45,7 @@ import com.gitblit.guice.WebModule; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IFederationManager; +import com.gitblit.manager.IFilestoreManager; import com.gitblit.manager.IGitblit; import com.gitblit.manager.IManager; import com.gitblit.manager.INotificationManager; @@ -204,6 +206,7 @@ startManager(injector, ITicketService.class); startManager(injector, IGitblit.class); startManager(injector, IServicesManager.class); + startManager(injector, IFilestoreManager.class); // start the plugin manager last so that plugins can depend on // deterministic access to all other managers in their start() methods @@ -261,9 +264,13 @@ protected <X extends IManager> X startManager(Injector injector, Class<X> clazz) { X x = loadManager(injector, clazz); logManager(clazz); - x.start(); - managers.add(x); - return x; + return startManager(x); + } + + protected <X extends IManager> X startManager(X x) { + x.start(); + managers.add(x); + return x; } protected void logManager(Class<? extends IManager> clazz) { @@ -364,12 +371,10 @@ baseFolder.mkdirs(); // try to extract the data folder resource to the baseFolder - File localSettings = new File(baseFolder, "gitblit.properties"); - if (!localSettings.exists()) { - extractResources(context, "/WEB-INF/data/", baseFolder); - } + extractResources(context, "/WEB-INF/data/", baseFolder); // delegate all config to baseFolder/gitblit.properties file + File localSettings = new File(baseFolder, "gitblit.properties"); FileSettings fileSettings = new FileSettings(localSettings.getAbsolutePath()); // merge the stored settings into the runtime settings @@ -451,7 +456,12 @@ } protected void extractResources(ServletContext context, String path, File toDir) { - for (String resource : context.getResourcePaths(path)) { + Set<String> resources = context.getResourcePaths(path); + if (resources == null) { + logger.warn("There are no WAR resources to extract from {}", path); + return; + } + for (String resource : resources) { // extract the resource to the directory if it does not exist File f = new File(toDir, resource.substring(path.length())); if (!f.exists()) { -- Gitblit v1.9.1