REST API /projects/

Instead of using the JSON-RPC interface, use the new standard REST
interface for loading the list of projects. This shares the backend
implementation with the SSH `gerrit ls-projects` command, and will
be the long-term supported interface to talk to Gerrit.

Change-Id: If538bbc87410a36ed030721ef6ccda23409d287e
This commit is contained in:
Shawn O. Pearce
2012-04-07 14:05:18 -07:00
parent e016933846
commit e96071a099
6 changed files with 119 additions and 39 deletions

View File

@@ -17,6 +17,8 @@ package com.google.gerrit.client.admin;
import com.google.gerrit.client.Dispatcher;
import com.google.gerrit.client.ErrorDialog;
import com.google.gerrit.client.Gerrit;
import com.google.gerrit.client.projects.ProjectInfo;
import com.google.gerrit.client.projects.ProjectMap;
import com.google.gerrit.client.rpc.GerritCallback;
import com.google.gerrit.client.ui.HintTextBox;
import com.google.gerrit.client.ui.ProjectNameSuggestOracle;
@@ -38,8 +40,6 @@ import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwtexpui.globalkey.client.NpTextBox;
import com.google.gwtjsonrpc.common.VoidResult;
import java.util.List;
public class CreateProjectScreen extends Screen {
private NpTextBox project;
private Button create;
@@ -127,31 +127,30 @@ public class CreateProjectScreen extends Screen {
}
@Override
protected void populate(final int row, final Project k) {
final Anchor projectLink = new Anchor(k.getName());
protected void populate(final int row, final ProjectInfo k) {
final Anchor projectLink = new Anchor(k.name());
projectLink.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
sugestParent.setText(getRowItem(row).getName());
sugestParent.setText(getRowItem(row).name());
}
});
table.setWidget(row, 1, projectLink);
table.setText(row, 2, k.getDescription());
table.setText(row, 2, k.description());
setRowItem(row, k);
}
};
suggestedParentsTab.setVisible(false);
Util.PROJECT_SVC
.suggestParentCandidates(new GerritCallback<List<Project>>() {
ProjectMap.permissions(new GerritCallback<ProjectMap>() {
@Override
public void onSuccess(List<Project> result) {
if (result != null && !result.isEmpty()) {
public void onSuccess(ProjectMap list) {
if (!list.isEmpty()) {
suggestedParentsTab.setVisible(true);
suggestedParentsTab.display(result);
suggestedParentsTab.display(list);
suggestedParentsTab.finishDisplay();
}
}