Keep immutability on CompositeConfig names
When composing secure.config + gerrit.config into
a composite Config object, we need to preserve
the immutability of the list of names of a section.
Change-Id: Ic214ed124bf5cef59e931deacd1e59f194ff6ea2
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/CompositeConfig.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/CompositeConfig.java
index a3e30d7..76b4ce6 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/CompositeConfig.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/CompositeConfig.java
@@ -22,6 +22,7 @@
import org.eclipse.jgit.events.ListenerHandle;
import org.eclipse.jgit.lib.Config;
+import com.google.common.collect.ImmutableSet;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -93,10 +94,10 @@
}
public Set<String> getNames(String section, String subsection) {
- Set<String> secureConfigNames = secureConfig.getNames(section, subsection);
- Set<String> gerritConfigNames = gerritConfig.getNames(section, subsection);
- gerritConfigNames.addAll(secureConfigNames);
- return gerritConfigNames;
+ return new ImmutableSet.Builder<String>()
+ .addAll(secureConfig.getNames(section, subsection))
+ .addAll(gerritConfig.getNames(section, subsection))
+ .build();
}
public <T> T get(SectionParser<T> parser) {