Skip to content

Commit

Permalink
Add addContactPoint fluent method to CassandraClient6Options - fixes #3
Browse files Browse the repository at this point in the history
  • Loading branch information
Sammers21 committed May 17, 2018
1 parent befbb09 commit 0e213c7
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 6 deletions.
11 changes: 8 additions & 3 deletions src/main/java/io/vertx/cassandra/CassandraClientOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@
@DataObject(generateConverter = true)
public class CassandraClientOptions {

public static final List<String> DEFAULT_CONTACT_POINTS = new ArrayList<String>(1) {{
add("localhost");
}};
public static final List<String> DEFAULT_CONTACT_POINTS = new ArrayList<>(0);

public static final int DEFAULT_PORT = 9042;

public static final String DEFAULT_HOST = "localhost";

private List<String> contactPoints = DEFAULT_CONTACT_POINTS;

private int port = DEFAULT_PORT;
Expand All @@ -55,6 +55,11 @@ public CassandraClientOptions setPort(int port) {
return this;
}

public CassandraClientOptions addContactPoint(String address) {
contactPoints().add(address);
return this;
}

public List<String> contactPoints() {
return contactPoints;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,12 @@ public CassandraClient connect(String keyspace, Handler<AsyncResult<Void>> conne
session.set(null);
Cluster.Builder builder = Cluster.builder();

for (String contactPoint : options.contactPoints()) {
builder.addContactPoint(contactPoint);
if (options.contactPoints().isEmpty()) {
builder.addContactPoint(CassandraClientOptions.DEFAULT_HOST);
} else {
for (String contactPoint : options.contactPoints()) {
builder.addContactPoint(contactPoint);
}
}

Cluster build = builder.withPort(options.port()).build();
Expand Down
16 changes: 15 additions & 1 deletion src/test/java/io/vertx/cassandra/ConnectionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,23 @@ public class ConnectionTest extends CassandraServiceBase {

@Test
public void connectDisconnectTest(TestContext context) {
CassandraClientOptions options = new CassandraClientOptions()
.addContactPoint(HOST)
.setPort(NATIVE_TRANSPORT_PORT);
connectAndDisconnect(context, options);
}

@Test
public void defaultContactPointShouldWorks(TestContext context) {
CassandraClientOptions options = new CassandraClientOptions()
.setPort(NATIVE_TRANSPORT_PORT);
connectAndDisconnect(context, options);
}

private void connectAndDisconnect(TestContext context, CassandraClientOptions options) {
CassandraClient cassandraClient = CassandraClient.create(
vertx,
new CassandraClientOptions().setPort(NATIVE_TRANSPORT_PORT)
options
);
Async async = context.async(2);
cassandraClient.connect("system", connectEvent -> {
Expand Down

0 comments on commit 0e213c7

Please sign in to comment.