Browse Source

Eliminated unnecessary repository enumeration (issue 103)

tags/v1.1.0
James Moger 11 years ago
parent
commit
2a81783f29
2 changed files with 14 additions and 4 deletions
  1. 1
    0
      docs/04_releases.mkd
  2. 13
    4
      src/com/gitblit/wicket/pages/RootPage.java

+ 1
- 0
docs/04_releases.mkd View File

@@ -11,6 +11,7 @@ If you are updating from an earlier release AND you have indexed branches with t
#### 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)

+ 13
- 4
src/com/gitblit/wicket/pages/RootPage.java View File

@@ -64,6 +64,7 @@ public abstract class RootPage extends BasePage {
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 @@ public abstract class RootPage extends BasePage {
}
}
}
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 @@ public abstract class RootPage extends BasePage {
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 @@ public abstract class RootPage extends BasePage {
}
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 @@ public abstract class RootPage extends BasePage {
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)) {

Loading…
Cancel
Save