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/manager/ProjectManager.java | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gitblit/manager/ProjectManager.java b/src/main/java/com/gitblit/manager/ProjectManager.java index 83a6310..ae46bdf 100644 --- a/src/main/java/com/gitblit/manager/ProjectManager.java +++ b/src/main/java/com/gitblit/manager/ProjectManager.java @@ -41,6 +41,8 @@ import com.gitblit.utils.ModelUtils; import com.gitblit.utils.ObjectCache; import com.gitblit.utils.StringUtils; +import com.google.inject.Inject; +import com.google.inject.Singleton; /** * Project manager handles project-related functions. @@ -48,6 +50,7 @@ * @author James Moger * */ +@Singleton public class ProjectManager implements IProjectManager { private final Logger logger = LoggerFactory.getLogger(getClass()); @@ -68,6 +71,7 @@ private FileBasedConfig projectConfigs; + @Inject public ProjectManager( IRuntimeManager runtimeManager, IUserManager userManager, @@ -80,7 +84,7 @@ } @Override - public IManager setup() { + public ProjectManager start() { // load and cache the project metadata projectConfigs = new FileBasedConfig(runtimeManager.getFileOrFolder(Keys.web.projectsFile, "${baseFolder}/projects.conf"), FS.detect()); getProjectConfigs(); @@ -89,7 +93,7 @@ } @Override - public IManager stop() { + public ProjectManager stop() { return this; } @@ -178,19 +182,20 @@ map.put("", configs.get("")); for (RepositoryModel model : repositoryManager.getRepositoryModels(user)) { - String rootPath = StringUtils.getRootPath(model.name).toLowerCase(); - if (!map.containsKey(rootPath)) { + String projectPath = StringUtils.getRootPath(model.name); + String projectKey = projectPath.toLowerCase(); + if (!map.containsKey(projectKey)) { ProjectModel project; - if (configs.containsKey(rootPath)) { + if (configs.containsKey(projectKey)) { // clone the project model because it's repository list will // be tailored for the requesting user - project = DeepCopier.copy(configs.get(rootPath)); + project = DeepCopier.copy(configs.get(projectKey)); } else { - project = new ProjectModel(rootPath); + project = new ProjectModel(projectPath); } - map.put(rootPath, project); + map.put(projectKey, project); } - map.get(rootPath).addRepository(model); + map.get(projectKey).addRepository(model); } // sort projects, root project first -- Gitblit v1.9.1