James Moger
2012-08-17 2a81783f291805594d4b97da6830aee94292f8c8
Eliminated unnecessary repository enumeration (issue-103)
2 files modified
18 ■■■■ changed files
docs/04_releases.mkd 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RootPage.java 17 ●●●● patch | view | raw | blame | history
docs/04_releases.mkd
@@ -11,6 +11,7 @@
#### fixes
- Eliminated an unnecessary reopsitory enumeration call on the root page which should result in faster page loads (issue 103)
- Gitblit could not delete a Lucene index in a working copy on index upgrade 
- Do not index submodule links (issue 119)
- Restore original user or team object on failure to update (issue 118)
src/com/gitblit/wicket/pages/RootPage.java
@@ -64,6 +64,7 @@
    IModel<String> username = new Model<String>("");
    IModel<String> password = new Model<String>("");
    List<RepositoryModel> repositoryModels = new ArrayList<RepositoryModel>();
    public RootPage() {
        super();
@@ -223,6 +224,15 @@
            }
        }
    }
    protected List<RepositoryModel> getRepositoryModels() {
        if (repositoryModels.isEmpty()) {
            final UserModel user = GitBlitWebSession.get().getUser();
            List<RepositoryModel> repositories = GitBlit.self().getRepositoryModels(user);
            repositoryModels.addAll(repositories);
        }
        return repositoryModels;
    }
    protected void addDropDownMenus(List<PageRegistration> pages) {
@@ -231,7 +241,7 @@
    protected List<DropDownMenuItem> getRepositoryFilterItems(PageParameters params) {
        final UserModel user = GitBlitWebSession.get().getUser();
        Set<DropDownMenuItem> filters = new LinkedHashSet<DropDownMenuItem>();
        List<RepositoryModel> repositories = GitBlit.self().getRepositoryModels(user);
        List<RepositoryModel> repositories = getRepositoryModels();
        // accessible repositories by federation set
        Map<String, AtomicInteger> setMap = new HashMap<String, AtomicInteger>();
@@ -307,9 +317,8 @@
    }
    protected List<RepositoryModel> getRepositories(PageParameters params) {
        final UserModel user = GitBlitWebSession.get().getUser();
        if (params == null) {
            return GitBlit.self().getRepositoryModels(user);
            return getRepositoryModels();
        }
        boolean hasParameter = false;
@@ -319,7 +328,7 @@
        String team = WicketUtils.getTeam(params);
        int daysBack = params.getInt("db", 0);
        List<RepositoryModel> availableModels = GitBlit.self().getRepositoryModels(user);
        List<RepositoryModel> availableModels = getRepositoryModels();
        Set<RepositoryModel> models = new HashSet<RepositoryModel>();
        if (!StringUtils.isEmpty(repositoryName)) {