Allow plugin to bind a different implementation of UrlFormatter
The UrlFormatter interface has a fixed binding to DefaultUrlFormatter
which means an alternative binding cannot be provided by a plugin.
Change it to a dynamic binding.
Change-Id: I37524564793b7dc4cf2ead2161bf180f6266c9ab
diff --git a/java/com/google/gerrit/server/config/DefaultUrlFormatter.java b/java/com/google/gerrit/server/config/DefaultUrlFormatter.java
index 70fb465..060ee3f 100644
--- a/java/com/google/gerrit/server/config/DefaultUrlFormatter.java
+++ b/java/com/google/gerrit/server/config/DefaultUrlFormatter.java
@@ -14,6 +14,7 @@
package com.google.gerrit.server.config;
+import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -27,7 +28,8 @@
public static class Module extends AbstractModule {
@Override
protected void configure() {
- bind(UrlFormatter.class).to(DefaultUrlFormatter.class);
+ DynamicItem.itemOf(binder(), UrlFormatter.class);
+ DynamicItem.bind(binder(), UrlFormatter.class).to(DefaultUrlFormatter.class);
}
}