src/main/java/com/gitblit/transport/ssh/gitblit/ProjectsDispatcher.java
@@ -16,12 +16,16 @@ package com.gitblit.transport.ssh.gitblit; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; import org.parboiled.common.StringUtils; import com.gitblit.manager.IGitblit; import com.gitblit.models.ProjectModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.transport.ssh.commands.CommandMetaData; import com.gitblit.transport.ssh.commands.DispatchCommand; @@ -47,17 +51,33 @@ @Option(name = "--tabbed", aliases = { "-t" }, usage = "as tabbed output") private boolean tabbed; @Argument(index = 0, metaVar = "REGEX", usage = "regex filter expression") protected String regexFilter; @Override public void run() { IGitblit gitblit = getContext().getGitblit(); UserModel user = getContext().getClient().getUser(); List<ProjectModel> projects = gitblit.getProjectModels(user, false); List<ProjectModel> filtered; if (StringUtils.isEmpty(regexFilter)) { // no regex filter filtered = projects; } else { // regex filter the list filtered = new ArrayList<ProjectModel>(); for (ProjectModel p : projects) { if (p.name.matches(regexFilter)) { filtered.add(p); } } } if (tabbed) { asTabbed(projects); asTabbed(filtered); } else { asTable(projects); asTable(filtered); } } src/main/java/com/gitblit/transport/ssh/gitblit/RepositoriesDispatcher.java
@@ -16,9 +16,12 @@ package com.gitblit.transport.ssh.gitblit; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; import org.parboiled.common.StringUtils; import com.gitblit.manager.IGitblit; import com.gitblit.models.RepositoryModel; @@ -49,16 +52,33 @@ @Option(name = "--tabbed", aliases = { "-t" }, usage = "as tabbed output") private boolean tabbed; @Argument(index = 0, metaVar = "REGEX", usage = "regex filter expression") protected String regexFilter; @Override public void run() { IGitblit gitblit = getContext().getGitblit(); UserModel user = getContext().getClient().getUser(); List<RepositoryModel> repositories = gitblit.getRepositoryModels(user); if (tabbed) { asTabbed(repositories); List<RepositoryModel> filtered; if (StringUtils.isEmpty(regexFilter)) { // no regex filter filtered = repositories; } else { asTable(repositories); // regex filter the list filtered = new ArrayList<RepositoryModel>(); for (RepositoryModel r : repositories) { if (r.name.matches(regexFilter)) { filtered.add(r); } } } if (tabbed) { asTabbed(filtered); } else { asTable(filtered); } } src/main/java/com/gitblit/transport/ssh/gitblit/UsersDispatcher.java
@@ -15,13 +15,16 @@ */ package com.gitblit.transport.ssh.gitblit; import java.util.ArrayList; import java.util.List; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; import org.parboiled.common.StringUtils; import com.gitblit.manager.IGitblit; import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.models.RepositoryModel; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; import com.gitblit.transport.ssh.commands.CommandMetaData; @@ -108,15 +111,32 @@ @Option(name = "--tabbed", aliases = { "-t" }, usage = "as tabbed output") private boolean tabbed; @Argument(index = 0, metaVar = "REGEX", usage = "regex filter expression") protected String regexFilter; @Override public void run() { IGitblit gitblit = getContext().getGitblit(); List<UserModel> users = gitblit.getAllUsers(); if (tabbed) { asTabbed(users); List<UserModel> filtered; if (StringUtils.isEmpty(regexFilter)) { // no regex filter filtered = users; } else { asTable(users); // regex filter the list filtered = new ArrayList<UserModel>(); for (UserModel u : users) { if (u.username.matches(regexFilter)) { filtered.add(u); } } } if (tabbed) { asTabbed(filtered); } else { asTable(filtered); } }