| // Copyright (C) 2015 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package com.google.gerrit.client.info; |
| |
| import com.google.gerrit.extensions.client.UiType; |
| import com.google.gerrit.reviewdb.client.Project; |
| import com.google.gwt.core.client.JavaScriptObject; |
| import com.google.gwt.core.client.JsArrayString; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| public class GerritInfo extends JavaScriptObject { |
| public final Project.NameKey allProjectsNameKey() { |
| return new Project.NameKey(allProjects()); |
| } |
| |
| public final boolean isAllProjects(Project.NameKey p) { |
| return allProjectsNameKey().equals(p); |
| } |
| |
| public final Project.NameKey allUsersNameKey() { |
| return new Project.NameKey(allUsers()); |
| } |
| |
| public final boolean isAllUsers(Project.NameKey p) { |
| return allUsersNameKey().equals(p); |
| } |
| |
| public final native String allProjects() /*-{ return this.all_projects; }-*/; |
| public final native String allUsers() /*-{ return this.all_users; }-*/; |
| public final native boolean docSearch() /*-{ return this.doc_search; }-*/; |
| public final native String docUrl() /*-{ return this.doc_url; }-*/; |
| public final native boolean editGpgKeys() /*-{ return this.edit_gpg_keys || false; }-*/; |
| public final native String reportBugUrl() /*-{ return this.report_bug_url; }-*/; |
| public final native String reportBugText() /*-{ return this.report_bug_text; }-*/; |
| |
| private native JsArrayString _webUis() /*-{ return this.web_uis; }-*/; |
| public final List<UiType> webUis() { |
| JsArrayString webUis = _webUis(); |
| List<UiType> result = new ArrayList<>(webUis.length()); |
| for (int i = 0; i < webUis.length(); i++) { |
| UiType t = UiType.parse(webUis.get(i)); |
| if (t != null) { |
| result.add(t); |
| } |
| } |
| return result; |
| } |
| |
| protected GerritInfo() { |
| } |
| } |