Merge "ProjectConfig: Store commentlinks in a map rather than a list"
diff --git a/java/com/google/gerrit/server/project/ProjectConfig.java b/java/com/google/gerrit/server/project/ProjectConfig.java
index b16b076..36cffb3 100644
--- a/java/com/google/gerrit/server/project/ProjectConfig.java
+++ b/java/com/google/gerrit/server/project/ProjectConfig.java
@@ -229,7 +229,7 @@
private Map<String, LabelType> labelSections;
private ConfiguredMimeTypes mimeTypes;
private Map<Project.NameKey, SubscribeSection> subscribeSections;
- private List<CommentLinkInfoImpl> commentLinkSections;
+ private Map<String, CommentLinkInfoImpl> commentLinkSections;
private List<ValidationError> validationErrors;
private ObjectId rulesId;
private long maxObjectSizeLimit;
@@ -278,7 +278,7 @@
}
public void addCommentLinkSection(CommentLinkInfoImpl commentLink) {
- commentLinkSections.add(commentLink);
+ commentLinkSections.put(commentLink.name, commentLink);
}
private ProjectConfig(Project.NameKey projectName, @Nullable StoredConfig baseConfig) {
@@ -456,7 +456,7 @@
}
public Collection<CommentLinkInfoImpl> getCommentLinkSections() {
- return commentLinkSections;
+ return commentLinkSections.values();
}
public ConfiguredMimeTypes getMimeTypes() {
@@ -1001,10 +1001,10 @@
private void loadCommentLinkSections(Config rc) {
Set<String> subsections = rc.getSubsections(COMMENTLINK);
- commentLinkSections = new ArrayList<>(subsections.size());
+ commentLinkSections = new LinkedHashMap<>(subsections.size());
for (String name : subsections) {
try {
- commentLinkSections.add(buildCommentLink(rc, name, false));
+ commentLinkSections.put(name, buildCommentLink(rc, name, false));
} catch (PatternSyntaxException e) {
error(
new ValidationError(
@@ -1191,7 +1191,7 @@
private void saveCommentLinkSections(Config rc) {
if (commentLinkSections != null) {
- for (CommentLinkInfoImpl cm : commentLinkSections) {
+ for (CommentLinkInfoImpl cm : commentLinkSections.values()) {
rc.setString(COMMENTLINK, cm.name, KEY_MATCH, cm.match);
if (!Strings.isNullOrEmpty(cm.html)) {
rc.setString(COMMENTLINK, cm.name, KEY_HTML, cm.html);