Merge branch 'stable-2.13'
* stable-2.13:
Update Javamelody project URL
Update javamelody-core to 1.62.0
Build with plugin API version 2.13.2
Change-Id: I2f1365acaefad5e89a41419e38a527aa1243c7e7
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK
index 881428f..47e5330 100644
--- a/lib/gerrit/BUCK
+++ b/lib/gerrit/BUCK
@@ -1,12 +1,11 @@
include_defs('//bucklets/maven_jar.bucklet')
-VER = '2.13.2'
-REPO = MAVEN_CENTRAL
+VER = '2.14-SNAPSHOT'
+REPO = MAVEN_LOCAL
maven_jar(
name = 'plugin-api',
id = 'com.google.gerrit:gerrit-plugin-api:' + VER,
- sha1 = '3cdeb17c2b0f945e71135ef6abe5a1db59b9d313',
license = 'Apache2.0',
attach_source = False,
repository = REPO,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/javamelody/CapabilityChecker.java b/src/main/java/com/googlesource/gerrit/plugins/javamelody/CapabilityChecker.java
new file mode 100644
index 0000000..ab38db2
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/javamelody/CapabilityChecker.java
@@ -0,0 +1,43 @@
+// Copyright (C) 2016 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.googlesource.gerrit.plugins.javamelody;
+
+import com.google.gerrit.extensions.annotations.PluginName;
+import com.google.gerrit.server.CurrentUser;
+import com.google.gerrit.server.account.CapabilityControl;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class CapabilityChecker {
+ private final Provider<CurrentUser> userProvider;
+ private final String capabilityName;
+
+ @Inject
+ CapabilityChecker(Provider<CurrentUser> userProvider,
+ @PluginName String pluginName) {
+ this.userProvider = userProvider;
+ this.capabilityName =
+ String.format("%s-%s", pluginName, MonitoringCapability.ID);
+ }
+
+ public boolean canMonitor() {
+ if (userProvider.get().isIdentifiedUser()) {
+ CapabilityControl ctl = userProvider.get().getCapabilities();
+ return ctl.canAdministrateServer()
+ || ctl.canPerform(capabilityName);
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/javamelody/GerritMonitoringFilter.java b/src/main/java/com/googlesource/gerrit/plugins/javamelody/GerritMonitoringFilter.java
index 663faf8..2919502 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/javamelody/GerritMonitoringFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/javamelody/GerritMonitoringFilter.java
@@ -14,12 +14,8 @@
package com.googlesource.gerrit.plugins.javamelody;
-import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.httpd.AllRequestFilter;
-import com.google.gerrit.server.CurrentUser;
-import com.google.gerrit.server.account.CapabilityControl;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import com.google.inject.Singleton;
import net.bull.javamelody.MonitoringFilter;
@@ -37,16 +33,13 @@
@Singleton
class GerritMonitoringFilter extends AllRequestFilter {
private final JavamelodyFilter monitoring;
- private final Provider<CurrentUser> userProvider;
- private final String pluginName;
+ private final CapabilityChecker capabilityChecker;
@Inject
GerritMonitoringFilter(JavamelodyFilter monitoring,
- Provider<CurrentUser> userProvider,
- @PluginName String pluginName) {
+ CapabilityChecker capabilityChecker) {
this.monitoring = monitoring;
- this.userProvider = userProvider;
- this.pluginName = pluginName;
+ this.capabilityChecker = capabilityChecker;
}
@Override
@@ -82,13 +75,7 @@
private boolean canMonitor(HttpServletRequest httpRequest) {
if (httpRequest.getRequestURI().equals(monitoring
.getJavamelodyUrl(httpRequest))) {
- if (userProvider.get().isIdentifiedUser()) {
- CapabilityControl ctl = userProvider.get().getCapabilities();
- return ctl.canAdministrateServer()
- || ctl.canPerform(String.format("%s-%s",
- pluginName, MonitoringCapability.ID));
- }
- return false;
+ return capabilityChecker.canMonitor();
}
return true;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/javamelody/MonitoringTopMenu.java b/src/main/java/com/googlesource/gerrit/plugins/javamelody/MonitoringTopMenu.java
index 16baac0..7159404 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/javamelody/MonitoringTopMenu.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/javamelody/MonitoringTopMenu.java
@@ -15,29 +15,19 @@
package com.googlesource.gerrit.plugins.javamelody;
import com.google.common.collect.Lists;
-import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.client.MenuItem;
import com.google.gerrit.extensions.webui.TopMenu;
-import com.google.gerrit.server.CurrentUser;
-import com.google.gerrit.server.account.CapabilityControl;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import java.util.Collections;
import java.util.List;
public class MonitoringTopMenu implements TopMenu {
- private final List<MenuEntry> menuEntries;
- private final Provider<CurrentUser> userProvider;
- private final String pluginName;
+ private final List<MenuEntry> menuEntries = Lists.newArrayList();
@Inject
- public MonitoringTopMenu(Provider<CurrentUser> userProvider,
- @PluginName String pluginName) {
- this.userProvider = userProvider;
- this.pluginName = pluginName;
- menuEntries = Lists.newArrayList();
- if (canMonitor()) {
+ public MonitoringTopMenu(CapabilityChecker capabilityChecker) {
+ if (capabilityChecker.canMonitor()) {
menuEntries.add(new MenuEntry("Monitoring", Collections
.singletonList(new MenuItem("JavaMelody", "monitoring"))));
}
@@ -47,14 +37,4 @@
public List<MenuEntry> getEntries() {
return menuEntries;
}
-
- private boolean canMonitor() {
- if (userProvider.get().isIdentifiedUser()) {
- CapabilityControl ctl = userProvider.get().getCapabilities();
- return ctl.canAdministrateServer()
- || ctl.canPerform(String.format("%s-%s",
- pluginName, MonitoringCapability.ID));
- }
- return false;
- }
}