Skip to content

Commit c2e5cc0

Browse files
committed
Add Samples
1 parent 83f17c9 commit c2e5cc0

File tree

16 files changed

+150
-119
lines changed

16 files changed

+150
-119
lines changed

astra-db-client/src/main/java/com/dtsx/astra/sdk/AstraDB.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public class AstraDB {
5555
* api endpoint
5656
*/
5757
public AstraDB(String token, String apiEndpoint) {
58-
this(token, apiEndpoint, AstraDBClient.DEFAULT_KEYSPACE);
58+
this(token, apiEndpoint, AstraDBAdmin.DEFAULT_KEYSPACE);
5959
}
6060

6161
/**
@@ -103,7 +103,7 @@ public AstraDB(@NonNull String token, @NonNull String apiEndpoint, @NonNull Stri
103103
* database identifier
104104
*/
105105
public AstraDB(@NonNull String token, @NonNull UUID databaseId) {
106-
this(token, databaseId, null, AstraEnvironment.PROD, AstraDBClient.DEFAULT_KEYSPACE);
106+
this(token, databaseId, null, AstraEnvironment.PROD, AstraDBAdmin.DEFAULT_KEYSPACE);
107107
}
108108

109109
/**

astra-db-client/src/main/java/com/dtsx/astra/sdk/AstraDBClient.java renamed to astra-db-client/src/main/java/com/dtsx/astra/sdk/AstraDBAdmin.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323
import java.net.http.HttpResponse;
2424
import java.net.http.HttpResponse.BodyHandlers;
2525
import java.time.Duration;
26-
import java.util.HashMap;
2726
import java.util.List;
28-
import java.util.Map;
2927
import java.util.Optional;
3028
import java.util.UUID;
3129
import java.util.stream.Collectors;
@@ -38,7 +36,7 @@
3836
* Astra Vector Client, Native experience for Vector Database.
3937
*/
4038
@Slf4j
41-
public class AstraDBClient {
39+
public class AstraDBAdmin {
4240

4341
/** Default timeout for connection. */
4442
public static final int CONNECT_TIMEOUT_SECONDS = 20;
@@ -103,7 +101,7 @@ public class AstraDBClient {
103101
/**
104102
* Load with token from environment
105103
*/
106-
public AstraDBClient() {
104+
public AstraDBAdmin() {
107105
this(astraConfigToken);
108106
}
109107

@@ -113,7 +111,7 @@ public AstraDBClient() {
113111
* @param token
114112
* a token is all you need
115113
*/
116-
public AstraDBClient(String token) {
114+
public AstraDBAdmin(String token) {
117115
this(token, AstraEnvironment.PROD);
118116
}
119117

@@ -125,7 +123,7 @@ public AstraDBClient(String token) {
125123
* @param env
126124
* target environments
127125
*/
128-
public AstraDBClient(String token, AstraEnvironment env) {
126+
public AstraDBAdmin(String token, AstraEnvironment env) {
129127
this.env = env;
130128
this.token = token;
131129
this.devopsDbClient = new AstraDBOpsClient(token, env);
@@ -293,7 +291,7 @@ public AstraDB database(@NonNull String databaseName) {
293291
* database client
294292
*/
295293
public AstraDB database(UUID databaseId) {
296-
return new AstraDB(token, databaseId, null, env, AstraDBClient.DEFAULT_KEYSPACE);
294+
return new AstraDB(token, databaseId, null, env, AstraDBAdmin.DEFAULT_KEYSPACE);
297295
}
298296

299297
/**

astra-db-client/src/test/java/com/dtsx/astra/sdk/AbstractAstraDBTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.dtsx.astra.sdk.cassio.MetadataVectorTableTest;
44
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import io.stargate.sdk.json.domain.SelectQuery;
56
import lombok.extern.slf4j.Slf4j;
67

78
import java.io.File;
@@ -16,6 +17,11 @@ public abstract class AbstractAstraDBTest {
1617

1718
@SuppressWarnings("unchecked")
1819
protected LinkedHashMap<String, List<?>> loadQuotes(String filePath) throws IOException {
20+
SelectQuery.builder()
21+
.where("metadata")
22+
.isEqualsTo("value")
23+
.withLimit(5)
24+
.build()
1925
File inputFile = new File(MetadataVectorTableTest.class.getClassLoader().getResource(filePath).getFile());
2026
LinkedHashMap<String, Object> sampleQuotes = new ObjectMapper().readValue(inputFile, LinkedHashMap.class);
2127
System.out.println("Quotes by Author:");

astra-db-client/src/test/java/com/dtsx/astra/sdk/AstraDBIntegrationsTest.java

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import com.dtsx.astra.sdk.utils.AstraEnvironment;
77
import com.dtsx.astra.sdk.utils.AstraRc;
88
import com.fasterxml.jackson.annotation.JsonProperty;
9-
import io.stargate.sdk.json.CollectionClient;
10-
import io.stargate.sdk.json.CollectionRepository;
119
import io.stargate.sdk.json.domain.CollectionDefinition;
1210
import io.stargate.sdk.json.domain.JsonDocument;
1311
import io.stargate.sdk.json.domain.odm.Document;
@@ -45,13 +43,13 @@ public class AstraDBIntegrationsTest extends AbstractAstraDBTest {
4543
static final String TEST_COLLECTION_NAME = "collection_simple";
4644
static final String TEST_COLLECTION_VECTOR = "collection_vector";
4745
static AstraEnvironment targetEnvironment = AstraEnvironment.PROD;
48-
static CloudProviderType targetCloud = AstraDBClient.FREE_TIER_CLOUD;
49-
static String targetRegion = AstraDBClient.FREE_TIER_CLOUD_REGION;
46+
static CloudProviderType targetCloud = AstraDBAdmin.FREE_TIER_CLOUD;
47+
static String targetRegion = AstraDBAdmin.FREE_TIER_CLOUD_REGION;
5048
/**
5149
* Shared working environment
5250
*/
5351
static String astraToken;
54-
static AstraDBClient astraDbClient;
52+
static AstraDBAdmin astraDbAdmin;
5553
static AstraDB astraDb;
5654
static UUID databaseId;
5755
static AstraDBRepository<Product> productRepositoryVector;
@@ -83,10 +81,10 @@ public static void setup() {
8381
targetCloud = CloudProviderType.valueOf(System.getenv("ASTRA_CLOUD").toUpperCase());
8482
}
8583
// When
86-
astraDbClient = new AstraDBClient(astraToken, targetEnvironment);
84+
astraDbAdmin = new AstraDBAdmin(astraToken, targetEnvironment);
8785
// Then
88-
Assertions.assertNotNull(astraDbClient.getRawDevopsApiClient());
89-
Assertions.assertNotNull(astraDbClient.getToken());
86+
Assertions.assertNotNull(astraDbAdmin.getRawDevopsApiClient());
87+
Assertions.assertNotNull(astraDbAdmin.getToken());
9088
log.info("Initialization OK: environment '{}', cloud '{}', region '{}'",
9189
targetEnvironment, targetCloud.name(), targetRegion);
9290
}
@@ -96,7 +94,7 @@ public static void setup() {
9694
@DisplayName("01. List Databases (devops)")
9795
public void shouldListDatabases() {
9896
log.info("Databases currently running in your organization:");
99-
List<Database> list = astraDbClient.findAllDatabases().collect(Collectors.toList());
97+
List<Database> list = astraDbAdmin.findAllDatabases().collect(Collectors.toList());
10098
Assertions.assertNotNull(list);
10199
list.stream().map(Database::getInfo)
102100
.map(DatabaseInfo::getName)
@@ -107,17 +105,17 @@ public void shouldListDatabases() {
107105
@Order(2)
108106
@DisplayName("02. Create Database (devops)")
109107
public void shouldCreateDatabases() {
110-
databaseId = astraDbClient.createDatabase(TEST_DBNAME, targetCloud, targetRegion);
111-
Assertions.assertTrue(astraDbClient.isDatabaseExists(TEST_DBNAME));
108+
databaseId = astraDbAdmin.createDatabase(TEST_DBNAME, targetCloud, targetRegion);
109+
Assertions.assertTrue(astraDbAdmin.isDatabaseExists(TEST_DBNAME));
112110
}
113111

114112
@Test
115113
@Order(3)
116114
@DisplayName("03. Find Database (devops)")
117115
public void shouldLoadDatabase() {
118-
astraDb = astraDbClient.database(TEST_DBNAME);
116+
astraDb = astraDbAdmin.database(TEST_DBNAME);
119117
Assertions.assertNotNull(astraDb);
120-
Assertions.assertNotNull(astraDbClient.database(databaseId));
118+
Assertions.assertNotNull(astraDbAdmin.database(databaseId));
121119
}
122120

123121
@Test
@@ -170,7 +168,7 @@ public void shouldListCollection() {
170168
@Order(6)
171169
@DisplayName("06. Insert with CollectionRepository and vector")
172170
public void shouldInsertRecords() {
173-
astraDb = astraDbClient.database(TEST_DBNAME);
171+
astraDb = astraDbAdmin.database(TEST_DBNAME);
174172
productRepositoryVector = astraDb.collectionRepository(TEST_COLLECTION_VECTOR, Product.class);
175173

176174
productRepositoryVector.insert(new Document<>(
@@ -225,7 +223,7 @@ public void shouldInsertWithSimpleCollectionJsonMapping() {
225223
@DisplayName("09. Upsert with CollectionClient")
226224
public void shouldUpsertDocument() {
227225
if (astraDb == null) {
228-
astraDb = astraDbClient.database(TEST_DBNAME);
226+
astraDb = astraDbAdmin.database(TEST_DBNAME);
229227
}
230228
AstraDBCollection collection = astraDb.collection(TEST_COLLECTION_NAME);
231229
Assertions.assertNotNull(collection);

astra-db-client/src/test/java/com/dtsx/astra/sdk/ReferenceGuideSamples.java

Lines changed: 7 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
import com.dtsx.astra.sdk.db.domain.CloudProviderType;
44
import com.dtsx.astra.sdk.db.domain.Database;
5-
import com.dtsx.astra.sdk.db.domain.DatabaseInfo;
6-
import com.dtsx.astra.sdk.utils.ApiLocator;
7-
import io.stargate.sdk.json.domain.CollectionDefinition;
8-
import io.stargate.sdk.json.domain.SimilarityMetric;
9-
import org.junit.jupiter.api.Test;
105

116
import java.util.Optional;
127
import java.util.UUID;
@@ -22,57 +17,11 @@ public class ReferenceGuideSamples {
2217
public static String apiEndpoint = "astra_db_client_test_suite_java";
2318
// <===
2419

25-
public static void main(String[] args) {
26-
27-
connectionToDatabase();
28-
29-
30-
}
31-
32-
public static void connectionToDatabase() {
33-
34-
// Default Initialization
35-
AstraDB db = new AstraDB(token, apiEndpoint);
36-
37-
// --- Other Initialization options ---
38-
39-
// (1) if keyspace is different from default_keyspace
40-
String keyspace = "default_keyspace";
41-
AstraDB db1 = new AstraDB(token, apiEndpoint, keyspace);
42-
43-
// (2) With a database identifier
44-
UUID databaseID = UUID.fromString("<database_id>");
45-
AstraDB db2 = new AstraDB(token, databaseID);
46-
}
47-
48-
public void listCollections() {
49-
// Given an active db
50-
String token = "<token>";
51-
String apiEndpoint = "<api_endpoint>";
52-
AstraDB db = new AstraDB(token, apiEndpoint);
53-
54-
// List all collections
55-
db.findAllCollections().forEach(col -> {
56-
System.out.println("name=" + col.getName());
57-
if (col.getOptions() != null && col.getOptions().getVector() != null) {
58-
CollectionDefinition.Options.Vector vector = col.getOptions().getVector();
59-
System.out.println("dim=" + vector.getDimension());
60-
System.out.println("metric=" + vector.getMetric());
61-
}
62-
});
63-
}
64-
65-
public void createCollection() {
66-
AstraDB db = new AstraDB("<token>", "<api_endpoint>");
67-
68-
AstraDBCollection collection1 = db.createCollection("collection1", 1536, SimilarityMetric.cosine);
69-
70-
}
7120

7221

7322
public void listDatabases() {
7423

75-
AstraDBClient client = new AstraDBClient("<replace_with_token>");
24+
AstraDBAdmin client = new AstraDBAdmin("<replace_with_token>");
7625
// list all databases in your organization
7726
Stream<Database> list = client.findAllDatabases();
7827

@@ -85,7 +34,7 @@ public void listDatabases() {
8534
}
8635

8736
public void createDatabase() {
88-
AstraDBClient client = new AstraDBClient("<replace_with_token>");
37+
AstraDBAdmin client = new AstraDBAdmin("<replace_with_token>");
8938

9039
String databaseName = "<replace_with_db_name>";
9140
// GCP, AZURE or AWS
@@ -100,27 +49,27 @@ public void connection() {
10049
/*
10150
* Given a valid token for your astra organization
10251
*/
103-
AstraDBClient client = new AstraDBClient("AstraCS:...");
52+
AstraDBAdmin client = new AstraDBAdmin("AstraCS:...");
10453

10554
/*
10655
* You can omit the token if you defined the environment variable
10756
* `ASTRA_DB_APPLICATION_TOKEN` or you if are using the Astra CLI.
10857
*/
109-
AstraDBClient defaultClient = new AstraDBClient();
58+
AstraDBAdmin defaultClient = new AstraDBAdmin();
11059

11160
// Initialization coming from `AstraDBClient`
11261
String token = "<replace_with_token>";
11362
UUID databaseID = UUID.fromString("<database_id>");
114-
AstraDB db3 = new AstraDBClient(token).database(databaseID);
63+
AstraDB db3 = new AstraDBAdmin(token).database(databaseID);
11564

11665
String databaseName = "<replace_with_db_name>";
117-
AstraDB db4 = new AstraDBClient(token).database(databaseName);
66+
AstraDB db4 = new AstraDBAdmin(token).database(databaseName);
11867
}
11968

12069

12170
public static UUID createDatabase(String token, String dbName) {
12271
// Given a valid token for your astra organization
123-
return new AstraDBClient(token).createDatabase(dbName);
72+
return new AstraDBAdmin(token).createDatabase(dbName);
12473
}
12574

12675
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.dtsx.astra.sdk.documentation;
2+
3+
import com.dtsx.astra.sdk.AstraDB;
4+
5+
import java.util.UUID;
6+
7+
public class Connecting {
8+
public static void main(String[] args) {
9+
// Default Initialization
10+
AstraDB db = new AstraDB("<token>", "<api_endpoint>");
11+
12+
// --- Other Initializations ---
13+
14+
// (1) using non-default keyspace
15+
AstraDB db1 = new AstraDB("<token>", "<api_endpoint>", "<keyspac_name>e");
16+
17+
// (2) using identifier instead of endpoint (regions LB
18+
UUID databaseUuid = UUID.fromString("<database_id>");
19+
AstraDB db2 = new AstraDB("<token>", databaseUuid);
20+
}
21+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.dtsx.astra.sdk.documentation;
2+
3+
import com.dtsx.astra.sdk.AstraDBAdmin;
4+
import com.dtsx.astra.sdk.db.domain.CloudProviderType;
5+
6+
import java.util.UUID;
7+
8+
public class CreateDatabase {
9+
public static void main(String[] args) {
10+
AstraDBAdmin client = new AstraDBAdmin("<replace_with_token>");
11+
12+
String databaseName = "<replace_with_db_name>";
13+
// GCP, AZURE or AWS
14+
CloudProviderType cloudProvider = CloudProviderType.GCP;
15+
// To get the list of available regions see below
16+
String cloudRegion = "us-east1";
17+
UUID newDbId = client.createDatabase(databaseName, cloudProvider, cloudRegion);
18+
}
19+
}

astra-db-client/src/test/java/com/dtsx/astra/sdk/documentation/DeleteCollection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ public static void main(String[] args) {
1111
AstraDB db = new AstraDB("<token>", "<api_endpoint>");
1212

1313
// Find a collection
14-
db.deleteCollection("collection_vector1");
14+
db.deleteCollection("collection_vector2");
1515
}
1616
}

astra-db-client/src/test/java/com/dtsx/astra/sdk/documentation/InsertOne.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ public static void main(String[] args) {
1919
* AstraDBCollection collection = db.createCollection("collection_vector1", 14);
2020
*/
2121
AstraDBCollection collection = db.collection("collection_vector1");
22-
22+
// Adding this list to allow the test to be re-runnable
23+
collection.deleteAll();
2324
// (1) You can insert records with key/value.
2425
collection.insertOne(new JsonDocument()
2526
.id("doc1") // uuid is generated if not explicitely set

0 commit comments

Comments
 (0)