Add configuation option to show/hide top level menu
Some sites may want to disable top level menu. Provide an option to do
that.
Change-Id: I83dd0a4cbae25475e9258242f8e5400ffb7444d8
diff --git a/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java b/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java
index e300143..291fbf1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/javamelody/Module.java
@@ -15,19 +15,33 @@
package com.googlesource.gerrit.plugins.javamelody;
import com.google.gerrit.extensions.annotations.Exports;
+import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.config.CapabilityDefinition;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.extensions.webui.TopMenu;
+import com.google.gerrit.server.config.PluginConfig;
+import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
public class Module extends AbstractModule {
+ private final PluginConfig cfg;
+
+ @Inject
+ public Module(PluginConfigFactory cfgFactory,
+ @PluginName String pluginName) {
+ this.cfg = cfgFactory.getFromGerritConfig(pluginName);
+ }
+
@Override
protected void configure() {
bind(CapabilityDefinition.class)
.annotatedWith(Exports.named(MonitoringCapability.ID))
.to(MonitoringCapability.class);
- DynamicSet.bind(binder(), TopMenu.class)
- .to(MonitoringTopMenu.class);
+ if (cfg.getBoolean("allowTopMenu", true)) {
+ DynamicSet.bind(binder(), TopMenu.class)
+ .to(MonitoringTopMenu.class);
+ }
}
}
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
new file mode 100644
index 0000000..789350d
--- /dev/null
+++ b/src/main/resources/Documentation/config.md
@@ -0,0 +1,16 @@
+Configuration
+=============
+
+The configuration of the @PLUGIN@ plugin is done in the `gerrit.config`
+file.
+
+```
+ [plugin "@PLUGIN@"]
+ allowTopMenu = false
+```
+
+<a id="allowTopMenu">
+`plugin.@PLUGIN@.allowTopMenu`
+: Whether it is allowed to show top menu in Gerrit UI.
+ By default true.
+