CASSANDRA-15851 - add instance initializer
diff --git a/pom.xml b/pom.xml
index 62c90d8..0ba9add 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.cassandra</groupId>
<artifactId>dtest-api</artifactId>
- <version>0.0.2-SNAPSHOT</version>
+ <version>0.0.3-SNAPSHOT</version>
<name>In JVM Test API</name>
<description>In JVM Test API</description>
diff --git a/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java b/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java
index cc341a3..d601cda 100644
--- a/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java
+++ b/src/main/java/org/apache/cassandra/distributed/shared/AbstractBuilder.java
@@ -29,6 +29,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
+import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@@ -52,6 +53,7 @@
private Consumer<IInstanceConfig> configUpdater;
private ClassLoader sharedClassLoader = Thread.currentThread().getContextClassLoader();
private int broadcastPort = 7012;
+ private BiConsumer<ClassLoader, Integer> instanceInitializer = (cl, id) -> {};
public AbstractBuilder(Factory<I, C, B> factory)
{
@@ -94,6 +96,11 @@
return broadcastPort;
}
+ public BiConsumer<ClassLoader, Integer> getInstanceInitializer()
+ {
+ return instanceInitializer;
+ }
+
public C start() throws IOException
{
C cluster = createWithoutStarting();
@@ -255,6 +262,12 @@
return (B) this;
}
+ public B withInstanceInitializer(BiConsumer<ClassLoader, Integer> instanceInitializer)
+ {
+ this.instanceInitializer = instanceInitializer;
+ return (B) this;
+ }
+
static String dcName(int index)
{
return "datacenter" + index;