Skip to content

Commit 62a9b89

Browse files
authored
Remove RepositoriesMetaData variadic constructor (#29569)
The variadic constructor was only used in a few places and the RepositoriesMetaData class is backed by a List anyway, so just using a List will make it simpler to instantiate it.
1 parent cdae8ff commit 62a9b89

File tree

6 files changed

+14
-13
lines changed

6 files changed

+14
-13
lines changed

server/src/main/java/org/elasticsearch/cluster/metadata/RepositoriesMetaData.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public class RepositoriesMetaData extends AbstractNamedDiffable<Custom> implemen
5050
*
5151
* @param repositories list of repositories
5252
*/
53-
public RepositoriesMetaData(RepositoryMetaData... repositories) {
54-
this.repositories = Arrays.asList(repositories);
53+
public RepositoriesMetaData(List<RepositoryMetaData> repositories) {
54+
this.repositories = repositories;
5555
}
5656

5757
/**
@@ -164,7 +164,7 @@ public static RepositoriesMetaData fromXContent(XContentParser parser) throws IO
164164
throw new ElasticsearchParseException("failed to parse repositories");
165165
}
166166
}
167-
return new RepositoriesMetaData(repository.toArray(new RepositoryMetaData[repository.size()]));
167+
return new RepositoriesMetaData(repository);
168168
}
169169

170170
/**

server/src/main/java/org/elasticsearch/repositories/RepositoriesService.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ public ClusterState execute(ClusterState currentState) throws IOException {
114114
RepositoriesMetaData repositories = metaData.custom(RepositoriesMetaData.TYPE);
115115
if (repositories == null) {
116116
logger.info("put repository [{}]", request.name);
117-
repositories = new RepositoriesMetaData(new RepositoryMetaData(request.name, request.type, request.settings));
117+
repositories = new RepositoriesMetaData(
118+
Collections.singletonList(new RepositoryMetaData(request.name, request.type, request.settings)));
118119
} else {
119120
boolean found = false;
120121
List<RepositoryMetaData> repositoriesMetaData = new ArrayList<>(repositories.repositories().size() + 1);
@@ -133,7 +134,7 @@ public ClusterState execute(ClusterState currentState) throws IOException {
133134
} else {
134135
logger.info("update repository [{}]", request.name);
135136
}
136-
repositories = new RepositoriesMetaData(repositoriesMetaData.toArray(new RepositoryMetaData[repositoriesMetaData.size()]));
137+
repositories = new RepositoriesMetaData(repositoriesMetaData);
137138
}
138139
mdBuilder.putCustom(RepositoriesMetaData.TYPE, repositories);
139140
return ClusterState.builder(currentState).metaData(mdBuilder).build();
@@ -185,7 +186,7 @@ public ClusterState execute(ClusterState currentState) {
185186
}
186187
}
187188
if (changed) {
188-
repositories = new RepositoriesMetaData(repositoriesMetaData.toArray(new RepositoryMetaData[repositoriesMetaData.size()]));
189+
repositories = new RepositoriesMetaData(repositoriesMetaData);
189190
mdBuilder.putCustom(RepositoriesMetaData.TYPE, repositories);
190191
return ClusterState.builder(currentState).metaData(mdBuilder).build();
191192
}

server/src/test/java/org/elasticsearch/cluster/ClusterStateDiffIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ public MetaData.Builder remove(MetaData.Builder builder, String name) {
640640
@Override
641641
public MetaData.Custom randomCreate(String name) {
642642
if (randomBoolean()) {
643-
return new RepositoriesMetaData();
643+
return new RepositoriesMetaData(Collections.emptyList());
644644
} else {
645645
return IndexGraveyardTests.createRandom();
646646
}

server/src/test/java/org/elasticsearch/snapshots/RepositoriesMetaDataSerializationTests.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ protected Custom createTestInstance() {
4545
entries.add(new RepositoryMetaData(randomAlphaOfLength(10), randomAlphaOfLength(10), randomSettings()));
4646
}
4747
entries.sort(Comparator.comparing(RepositoryMetaData::name));
48-
return new RepositoriesMetaData(entries.toArray(new RepositoryMetaData[entries.size()]));
48+
return new RepositoriesMetaData(entries);
4949
}
5050

5151
@Override
@@ -62,7 +62,7 @@ protected Custom mutateInstance(Custom instance) {
6262
} else {
6363
entries.remove(randomIntBetween(0, entries.size() - 1));
6464
}
65-
return new RepositoriesMetaData(entries.toArray(new RepositoryMetaData[entries.size()]));
65+
return new RepositoriesMetaData(entries);
6666
}
6767

6868
public Settings randomSettings() {
@@ -94,7 +94,7 @@ protected Custom makeTestChanges(Custom testInstance) {
9494
repos.add(new RepositoryMetaData(randomAlphaOfLength(10), randomAlphaOfLength(10), randomSettings()));
9595
}
9696
}
97-
return new RepositoriesMetaData(repos.toArray(new RepositoryMetaData[repos.size()]));
97+
return new RepositoriesMetaData(repos);
9898
}
9999

100100
@Override
@@ -114,7 +114,7 @@ protected Custom doParseInstance(XContentParser parser) throws IOException {
114114
assertEquals(XContentParser.Token.END_OBJECT, parser.currentToken());
115115
List<RepositoryMetaData> repos = repositoriesMetaData.repositories();
116116
repos.sort(Comparator.comparing(RepositoryMetaData::name));
117-
return new RepositoriesMetaData(repos.toArray(new RepositoryMetaData[repos.size()]));
117+
return new RepositoriesMetaData(repos);
118118
}
119119

120120
}

x-pack/plugin/core/src/test/java/org/elasticsearch/license/LicensesMetaDataSerializationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void testLicenseMetadataParsingDoesNotSwallowOtherMetaData() throws Excep
6464
License license = TestUtils.generateSignedLicense(TimeValue.timeValueHours(2));
6565
LicensesMetaData licensesMetaData = new LicensesMetaData(license, Version.CURRENT);
6666
RepositoryMetaData repositoryMetaData = new RepositoryMetaData("repo", "fs", Settings.EMPTY);
67-
RepositoriesMetaData repositoriesMetaData = new RepositoriesMetaData(repositoryMetaData);
67+
RepositoriesMetaData repositoriesMetaData = new RepositoriesMetaData(Collections.singletonList(repositoryMetaData));
6868
final MetaData.Builder metaDataBuilder = MetaData.builder();
6969
if (randomBoolean()) { // random order of insertion
7070
metaDataBuilder.putCustom(licensesMetaData.getWriteableName(), licensesMetaData);

x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/WatcherMetaDataSerializationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void testWatcherMetadataParsingDoesNotSwallowOtherMetaData() throws Excep
4747
boolean manuallyStopped = randomBoolean();
4848
WatcherMetaData watcherMetaData = new WatcherMetaData(manuallyStopped);
4949
RepositoryMetaData repositoryMetaData = new RepositoryMetaData("repo", "fs", Settings.EMPTY);
50-
RepositoriesMetaData repositoriesMetaData = new RepositoriesMetaData(repositoryMetaData);
50+
RepositoriesMetaData repositoriesMetaData = new RepositoriesMetaData(Collections.singletonList(repositoryMetaData));
5151
final MetaData.Builder metaDataBuilder = MetaData.builder();
5252
if (randomBoolean()) { // random order of insertion
5353
metaDataBuilder.putCustom(watcherMetaData.getWriteableName(), watcherMetaData);

0 commit comments

Comments
 (0)