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) {