Skip to content

Commit

Permalink
Merge pull request #9 from Sammers21/add_contact_point
Browse files Browse the repository at this point in the history
Add addContactPoint fluent method to CassandraClientOptions - fixes #3
  • Loading branch information
Sammers21 authored May 23, 2018
2 parents 4a0f6af + faecf04 commit 666d11a
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 9 deletions.
18 changes: 12 additions & 6 deletions src/main/java/io/vertx/cassandra/CassandraClientOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,12 @@
*/
@DataObject(generateConverter = true)
public class CassandraClientOptions {

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


public static final int DEFAULT_PORT = 9042;

private List<String> contactPoints = DEFAULT_CONTACT_POINTS;
public static final String DEFAULT_HOST = "localhost";

private List<String> contactPoints = new ArrayList<>();

private int port = DEFAULT_PORT;

Expand All @@ -55,7 +53,15 @@ public CassandraClientOptions setPort(int port) {
return this;
}

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

public List<String> contactPoints() {
if (contactPoints == null) {
contactPoints = new ArrayList<>();
}
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 666d11a

Please sign in to comment.