Skip to content

Commit a16b33f

Browse files
committed
samples
1 parent 6dd71cc commit a16b33f

33 files changed

+138
-63
lines changed

astra-db-java/src/main/java/com/datastax/astra/client/DataAPIClients.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public static DataAPIClient createForLocal() {
9696
* interaction with the database. This client enables developers to focus on their application logic rather
9797
* than the intricacies of database connectivity and command execution.
9898
*/
99-
public static Database createDefaultLocalDatabase() {
99+
public static Database defaultLocalDatabase() {
100100
Database db = createForLocal().getDatabase(DEFAULT_ENDPOINT_LOCAL, DEFAULT_KEYSPACE);
101101
DataAPIDatabaseAdmin dbAdmin = (DataAPIDatabaseAdmin) db.getDatabaseAdmin();
102102
dbAdmin.createKeyspace(DEFAULT_KEYSPACE);

astra-db-java/src/main/java/com/datastax/astra/client/DataAPIOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ public DataAPIClientOptionsBuilder withApiVersion(String apiVersion) {
174174

175175
/**
176176
* Sets the maximum number of documents that can be returned by the count function.
177+
*
177178
* <p>
178179
* If not explicitly set, the default value is defined by {@code MAX_DOCUMENTS_COUNT},
179180
* which is 1000 documents.

astra-db-java/src/main/java/com/datastax/astra/client/tables/Table.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -487,20 +487,19 @@ private Callable<TableInsertManyResult> getInsertManyResultCallable(List<? exten
487487
// --------------------------
488488

489489
public Optional<T> findOne(Filter filter) {
490-
return findOne(filter, new TableFindOneOptions());
490+
return findOne(filter, null);
491491
}
492492

493493
public Optional<T> findOne(Filter filter, TableFindOneOptions findOneOptions) {
494-
notNull(findOneOptions, ARG_OPTIONS);
495-
Command findOne = Command
496-
.create("findOne")
497-
.withFilter(filter)
498-
.withSort(findOneOptions.getSort())
499-
.withProjection(findOneOptions.getProjection())
500-
.withOptions(new Document()
494+
Command findOne = Command.create("findOne").withFilter(filter);
495+
if (findOneOptions != null) {
496+
findOne.withSort(findOneOptions.getSort())
497+
.withProjection(findOneOptions.getProjection())
498+
.withOptions(new Document()
501499
.appendIfNotNull(INPUT_INCLUDE_SIMILARITY, findOneOptions.getIncludeSimilarity())
502500
.appendIfNotNull(INPUT_INCLUDE_SORT_VECTOR, findOneOptions.getIncludeSortVector())
503-
);
501+
);
502+
}
504503

505504
return Optional.ofNullable(
506505
runCommand(findOne, findOneOptions)

astra-db-java/src/test/java/com/datastax/astra/test/integration/local/LocalCollectionITTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class LocalCollectionITTest extends AbstractCollectionITTest {
5555
@Override
5656
protected Database getDatabase() {
5757
if (database == null) {
58-
database = DataAPIClients.createDefaultLocalDatabase();
58+
database = DataAPIClients.defaultLocalDatabase();
5959
}
6060
return database;
6161
}

astra-db-java/src/test/java/com/datastax/astra/test/integration/local/LocalDatabaseAdminITTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class LocalDatabaseAdminITTest extends AbstractDatabaseAdminITTest {
3030
@Override
3131
protected Database getDatabase() {
3232
if (database == null) {
33-
database = DataAPIClients.createDefaultLocalDatabase();
33+
database = DataAPIClients.defaultLocalDatabase();
3434
}
3535
return database;
3636
}

astra-db-java/src/test/java/com/datastax/astra/test/integration/local/LocalDatabaseITTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class LocalDatabaseITTest extends AbstractDatabaseTest {
4141
@Override
4242
protected Database getDatabase() {
4343
if (database == null) {
44-
database = DataAPIClients.createDefaultLocalDatabase();
44+
database = DataAPIClients.defaultLocalDatabase();
4545
}
4646
return database;
4747
}

astra-db-java/src/test/java/com/datastax/astra/test/integration/local/LocalTableITTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
import java.time.LocalDate;
4747
import java.time.LocalTime;
4848
import java.time.format.DateTimeFormatter;
49-
import java.util.LinkedHashMap;
5049
import java.util.List;
5150
import java.util.Map;
5251
import java.util.Optional;
@@ -85,7 +84,7 @@ public class LocalTableITTest extends AbstractTableITTest {
8584
@Override
8685
protected Database getDatabase() {
8786
if (database == null) {
88-
database = DataAPIClients.createDefaultLocalDatabase();
87+
database = DataAPIClients.defaultLocalDatabase();
8988
}
9089
return database;
9190
}
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
package com.datastax.astra.test.integration.local;
2+
3+
import com.datastax.astra.client.DataAPIClients;
4+
import com.datastax.astra.client.core.query.Filter;
5+
import com.datastax.astra.client.databases.Database;
6+
import com.datastax.astra.client.tables.Table;
7+
import com.datastax.astra.client.tables.TableDefinition;
8+
import com.datastax.astra.client.tables.commands.TableInsertOneResult;
9+
import com.datastax.astra.client.tables.mapping.Column;
10+
import com.datastax.astra.client.tables.mapping.EntityTable;
11+
import com.datastax.astra.client.tables.mapping.PartitionBy;
12+
import com.datastax.astra.client.tables.row.Row;
13+
import lombok.AllArgsConstructor;
14+
import lombok.Data;
15+
import lombok.NoArgsConstructor;
16+
import org.junit.jupiter.api.Test;
17+
18+
import java.util.Optional;
19+
20+
import static com.datastax.astra.client.admin.AstraDBAdmin.DEFAULT_KEYSPACE;
21+
import static com.datastax.astra.client.tables.columns.ColumnTypes.INT;
22+
import static com.datastax.astra.client.tables.columns.ColumnTypes.TEXT;
23+
import static com.datastax.astra.client.tables.commands.ddl.CreateTableOptions.IF_NOT_EXISTS;
24+
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
25+
26+
public class QuickStartTablesLocal {
27+
28+
@Test
29+
public void should_quickstart_tables_default() {
30+
// Connect to local and create default_keyspace
31+
Database localDb = DataAPIClients.defaultLocalDatabase();
32+
assertThat(localDb.getKeyspaceName()).isEqualTo(DEFAULT_KEYSPACE);
33+
34+
// Create table (explicit definition)
35+
TableDefinition tableDefinition = new TableDefinition()
36+
.addColumnText("id")
37+
.addColumnInt("age")
38+
.addColumnText("name")
39+
.withPartitionKey("id");
40+
Table<Row> tablePersonDefault = localDb.createTable("person_default", tableDefinition, IF_NOT_EXISTS, Row.class);
41+
assertThat(localDb.tableExists("person_default")).isTrue();
42+
43+
// Inserting data
44+
Row row = new Row()
45+
.addInt("age", 42)
46+
.addText("name", "John")
47+
.addText("id", "[email protected]");
48+
TableInsertOneResult res = tablePersonDefault.insertOne(row);
49+
50+
// Retrieve data
51+
Optional<Row> john = tablePersonDefault.findOne(new Filter()
52+
.where("id").isEqualsTo( "John")
53+
.where("name").isEqualsTo( "Doe"));
54+
assertThat(john).isNotEmpty();
55+
}
56+
57+
// ---- Enhancement with the Object Mapping
58+
59+
@Data
60+
@EntityTable("person")
61+
@NoArgsConstructor
62+
@AllArgsConstructor
63+
public static class Person {
64+
65+
@PartitionBy(0)
66+
@Column(value="id", type=TEXT)
67+
private String id;
68+
69+
@PartitionBy(1)
70+
@Column(value="name", type=TEXT)
71+
private String name;
72+
73+
@Column(value="age", type=INT)
74+
private int age;
75+
}
76+
77+
@Test
78+
public void should_quickstart_tables_om() {
79+
// Connect to local and create default_keyspace
80+
Database localDb = DataAPIClients.defaultLocalDatabase();
81+
assertThat(localDb.getKeyspaceName()).isEqualTo(DEFAULT_KEYSPACE);
82+
83+
// Create table (introspecting bean)
84+
Table<Person> tablePerson = localDb.createTable(Person.class, IF_NOT_EXISTS);
85+
assertThat(localDb.tableExists("person")).isTrue();
86+
87+
// Inserting data
88+
tablePerson.insertOne(new Person("John", "Doe", 12));
89+
90+
// Retrieve data
91+
Optional<Person> john = tablePerson.findOne(new Filter()
92+
.where("id").isEqualsTo( "John")
93+
.where("name").isEqualsTo( "Doe"));
94+
assertThat(john).isNotEmpty();
95+
96+
}
97+
98+
99+
}

examples/src/main/java/com/datastax/astra/client/Connecting.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ public static void main(String[] args) {
1212
// Overriding the default options
1313
DataAPIClient client1 = new DataAPIClient("TOKEN", DataAPIOptions
1414
.builder()
15-
.withMaxTimeMS(10)
16-
.withHttpConnectTimeout(10)
1715
.build());
1816

1917
// Access the Database from its endpoint
@@ -26,7 +24,7 @@ public static void main(String[] args) {
2624
Database db4 = client.getDatabase(databaseId, "*KEYSPACE*");
2725
Database db5 = client.getDatabase(databaseId, "*KEYSPACE*", "us-east-2");
2826

29-
db5.useNamespace("yet_another");
27+
db5.useKeyspace("yet_another");
3028

3129
}
3230
}

examples/src/main/java/com/datastax/astra/client/collection/BulkWrite.java renamed to examples/src/main/java/com/datastax/astra/client/collections/BulkWrite.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
package com.datastax.astra.client.collection;
1+
package com.datastax.astra.client.collections;
22

3-
import com.datastax.astra.client.collections.Collection;
43
import com.datastax.astra.client.DataAPIClient;
54
import com.datastax.astra.client.core.BulkWriteOptions;
65
import com.datastax.astra.client.core.BulkWriteResult;

0 commit comments

Comments
 (0)