From 13a3f5bc3e2d25fc76850f86070dc34efe60d77a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 07 Sep 2012 22:06:15 -0400 Subject: [PATCH] Draft project pages, project metadata, and RSS feeds --- src/com/gitblit/wicket/pages/RootPage.java | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RootPage.java b/src/com/gitblit/wicket/pages/RootPage.java index 40f7aec..4858368 100644 --- a/src/com/gitblit/wicket/pages/RootPage.java +++ b/src/com/gitblit/wicket/pages/RootPage.java @@ -178,6 +178,9 @@ PageParameters pp = getPageParameters(); if (pp != null) { PageParameters params = new PageParameters(pp); + // remove named project parameter + params.remove("p"); + // remove named repository parameter params.remove("r"); @@ -230,6 +233,7 @@ final UserModel user = GitBlitWebSession.get().getUser(); List<RepositoryModel> repositories = GitBlit.self().getRepositoryModels(user); repositoryModels.addAll(repositories); + Collections.sort(repositoryModels); } return repositoryModels; } @@ -322,6 +326,7 @@ } boolean hasParameter = false; + String projectName = WicketUtils.getProjectName(params); String repositoryName = WicketUtils.getRepositoryName(params); String set = WicketUtils.getSet(params); String regex = WicketUtils.getRegEx(params); @@ -338,6 +343,27 @@ if (model.name.equalsIgnoreCase(repositoryName)) { models.add(model); break; + } + } + } + + if (!StringUtils.isEmpty(projectName)) { + // try named project + hasParameter = true; + if (projectName.equalsIgnoreCase(GitBlit.getString(Keys.web.repositoryRootGroupName, "main"))) { + // root project/group + for (RepositoryModel model : availableModels) { + if (model.name.indexOf('/') == -1) { + models.add(model); + } + } + } else { + // named project/group + String group = projectName.toLowerCase() + "/"; + for (RepositoryModel model : availableModels) { + if (model.name.toLowerCase().startsWith(group)) { + models.add(model); + } } } } @@ -411,6 +437,9 @@ } models = timeFiltered; } - return new ArrayList<RepositoryModel>(models); + + List<RepositoryModel> list = new ArrayList<RepositoryModel>(models); + Collections.sort(list); + return list; } } -- Gitblit v1.9.1