Fix eclipse compilation problem
@@ -216,18 +216,22 @@ public class ClusterModuleTests extends ModuleTestCase {
assertTrue(customSuppliers.containsKey(RestoreInProgress.TYPE));
assertTrue(customSuppliers.containsKey("foo"));
-
- IllegalStateException ise = expectThrows(IllegalStateException.class,
- () -> ClusterModule.getClusterStateCustomSuppliers(Collections.singletonList(new ClusterPlugin() {
+ {
+ // Eclipse Neon 2 didn't compile the plugins definition inside the lambda expression,
+ // probably due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=511750, which is
+ // fixed in Eclipse Oxygon. Pulled out the plugins definition to make it work in older versions
+ List<ClusterPlugin> plugins = Collections.singletonList(new ClusterPlugin() {
@Override
public Map<String, Supplier<ClusterState.Custom>> getInitialClusterStateCustomSupplier() {
return Collections.singletonMap(SnapshotsInProgress.TYPE, () -> null);
}
- })));
+ });
+ IllegalStateException ise = expectThrows(IllegalStateException.class,
+ () -> ClusterModule.getClusterStateCustomSuppliers(plugins));
assertEquals(ise.getMessage(), "custom supplier key [snapshots] is registered more than once");
-
- ise = expectThrows(IllegalStateException.class,
- () -> ClusterModule.getClusterStateCustomSuppliers(Arrays.asList(new ClusterPlugin() {
+ }
+ {
+ List<ClusterPlugin> plugins = Arrays.asList(new ClusterPlugin() {
@Override
public Map<String, Supplier<ClusterState.Custom>> getInitialClusterStateCustomSupplier() {
return Collections.singletonMap("foo", () -> null);
@@ -237,7 +241,10 @@ public class ClusterModuleTests extends ModuleTestCase {
public Map<String, Supplier<ClusterState.Custom>> getInitialClusterStateCustomSupplier() {
return Collections.singletonMap("foo", () -> null);
}
- })));
+ });
+ IllegalStateException ise = expectThrows(IllegalStateException.class,
+ () -> ClusterModule.getClusterStateCustomSuppliers(plugins));
assertEquals(ise.getMessage(), "custom supplier key [foo] is registered more than once");
}
}
+}
