diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/DashboardInfo.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/DashboardInfo.java new file mode 100644 index 0000000000..775224c06e --- /dev/null +++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/DashboardInfo.java @@ -0,0 +1,42 @@ +// Copyright (C) 2017 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.extensions.api.projects; + +import com.google.common.base.Joiner; +import com.google.gerrit.extensions.restapi.Url; +import java.util.ArrayList; +import java.util.List; + +public class DashboardInfo { + public String id; + public String project; + public String definingProject; + public String ref; + public String path; + public String description; + public String foreach; + public String url; + + public Boolean isDefault; + + public String title; + public List sections = new ArrayList<>(); + + public DashboardInfo(String ref, String name) { + this.ref = ref; + this.path = name; + this.id = Joiner.on(':').join(Url.encode(ref), Url.encode(path)); + } +} diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/DashboardSectionInfo.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/DashboardSectionInfo.java new file mode 100644 index 0000000000..0608459cec --- /dev/null +++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/DashboardSectionInfo.java @@ -0,0 +1,20 @@ +// Copyright (C) 2017 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.extensions.api.projects; + +public class DashboardSectionInfo { + public String name; + public String query; +} diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java index 70bc8e272c..eccbd93bae 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java @@ -16,12 +16,13 @@ package com.google.gerrit.server.project; import static com.google.gerrit.reviewdb.client.RefNames.REFS_DASHBOARDS; -import com.google.common.base.Joiner; import com.google.common.base.MoreObjects; import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.gerrit.common.Nullable; +import com.google.gerrit.extensions.api.projects.DashboardInfo; +import com.google.gerrit.extensions.api.projects.DashboardSectionInfo; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.AcceptsCreate; import com.google.gerrit.extensions.restapi.AuthException; @@ -31,7 +32,6 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestApiException; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.extensions.restapi.RestView; -import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.UrlEncoded; @@ -43,7 +43,6 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import org.eclipse.jgit.errors.AmbiguousObjectException; import org.eclipse.jgit.errors.ConfigInvalidException; @@ -194,7 +193,7 @@ class DashboardsCollection u.put("foreach", replace(project, info.foreach)); } for (String name : config.getSubsections("section")) { - Section s = new Section(); + DashboardSectionInfo s = new DashboardSectionInfo(); s.name = name; s.query = config.getString("section", name, "query"); u.put(s.name, replace(project, s.query)); @@ -218,31 +217,4 @@ class DashboardsCollection } return defaultId; } - - static class DashboardInfo { - String id; - String project; - String definingProject; - String ref; - String path; - String description; - String foreach; - String url; - - Boolean isDefault; - - String title; - List
sections = new ArrayList<>(); - - DashboardInfo(String ref, String name) { - this.ref = ref; - this.path = name; - this.id = Joiner.on(':').join(Url.encode(ref), Url.encode(path)); - } - } - - static class Section { - String name; - String query; - } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteDashboard.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteDashboard.java index 3187b91c7d..926abd5295 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteDashboard.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DeleteDashboard.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.project; +import com.google.gerrit.extensions.api.projects.DashboardInfo; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; import com.google.gerrit.extensions.restapi.MethodNotAllowedException; @@ -22,7 +23,6 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.server.permissions.PermissionBackendException; -import com.google.gerrit.server.project.DashboardsCollection.DashboardInfo; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetDashboard.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetDashboard.java index d562f29a9a..fd99ac40f6 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/GetDashboard.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/GetDashboard.java @@ -20,13 +20,13 @@ import static com.google.gerrit.server.project.DashboardsCollection.isDefaultDas import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.Lists; +import com.google.gerrit.extensions.api.projects.DashboardInfo; import com.google.gerrit.extensions.restapi.IdString; import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.server.permissions.PermissionBackendException; -import com.google.gerrit.server.project.DashboardsCollection.DashboardInfo; import com.google.inject.Inject; import java.io.IOException; import java.util.List; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java index f81e84b2e4..1d3c58c2d6 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.project; import static com.google.gerrit.reviewdb.client.RefNames.REFS_DASHBOARDS; +import com.google.gerrit.extensions.api.projects.DashboardInfo; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.reviewdb.client.Project; @@ -25,7 +26,6 @@ import com.google.gerrit.server.permissions.PermissionBackend; import com.google.gerrit.server.permissions.PermissionBackendException; import com.google.gerrit.server.permissions.ProjectPermission; import com.google.gerrit.server.permissions.RefPermission; -import com.google.gerrit.server.project.DashboardsCollection.DashboardInfo; import com.google.inject.Inject; import com.google.inject.Provider; import java.io.IOException; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDashboard.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDashboard.java index 22d16bf10b..f216f40713 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDashboard.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDashboard.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.project; +import com.google.gerrit.extensions.api.projects.DashboardInfo; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; import com.google.gerrit.extensions.restapi.DefaultInput; @@ -23,7 +24,6 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.server.permissions.PermissionBackendException; -import com.google.gerrit.server.project.DashboardsCollection.DashboardInfo; import com.google.gerrit.server.project.SetDashboard.Input; import com.google.inject.Inject; import com.google.inject.Provider; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDefaultDashboard.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDefaultDashboard.java index d09a6f10b3..fa03e45645 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDefaultDashboard.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/SetDefaultDashboard.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.project; import com.google.common.base.MoreObjects; import com.google.common.base.Strings; +import com.google.gerrit.extensions.api.projects.DashboardInfo; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; import com.google.gerrit.extensions.restapi.IdString; @@ -27,7 +28,6 @@ import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectConfig; import com.google.gerrit.server.permissions.PermissionBackendException; -import com.google.gerrit.server.project.DashboardsCollection.DashboardInfo; import com.google.gerrit.server.project.SetDashboard.Input; import com.google.inject.Inject; import com.google.inject.Provider;