Skip to content

Commit 952de6e

Browse files
authored
Merge pull request #28 from ydb-platform/develop
Update to new version of Java SDK
2 parents 35ce0d2 + 59b6bc6 commit 952de6e

File tree

27 files changed

+992
-177
lines changed

27 files changed

+992
-177
lines changed

.github/workflows/build.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- master
77
- develop
88
pull_request:
9-
type: [opened, reopened, edited]
9+
type: [opened, reopened, edited, synchronize]
1010

1111
jobs:
1212
build:
@@ -44,7 +44,7 @@ jobs:
4444
4545
- name: Checkout YDB Java SDK
4646
if: ${{ env.NEED_SDK }}
47-
uses: actions/checkout@v3
47+
uses: actions/checkout@v4
4848
with:
4949
repository: ydb-platform/ydb-java-sdk
5050
ref: develop
@@ -61,7 +61,7 @@ jobs:
6161

6262
- name: Checkout YDB YC Auth Provider
6363
if: ${{ env.NEED_SDK }}
64-
uses: actions/checkout@v3
64+
uses: actions/checkout@v4
6565
with:
6666
repository: ydb-platform/ydb-java-yc
6767
ref: develop

auth/access_token_credentials/src/main/java/tech/ydb/example/Main.java

+10-14
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package tech.ydb.example;
22

3-
import java.util.concurrent.CompletableFuture;
43

54
import tech.ydb.auth.AuthProvider;
65
import tech.ydb.auth.TokenAuthProvider;
7-
import tech.ydb.core.Result;
86
import tech.ydb.core.grpc.GrpcTransport;
97
import tech.ydb.table.SessionRetryContext;
108
import tech.ydb.table.TableClient;
9+
import tech.ydb.table.query.DataQueryResult;
1110
import tech.ydb.table.result.ResultSetReader;
1211
import tech.ydb.table.transaction.TxControl;
1312

@@ -25,23 +24,20 @@ public static void main(String[] args) {
2524
// Access token credentials
2625
AuthProvider authProvider = new TokenAuthProvider(accessToken);
2726

28-
try ( GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
29-
.withAuthProvider(authProvider) // Or this method could not be called at all
27+
try (GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
28+
.withAuthProvider(authProvider)
3029
.build()) {
31-
try ( TableClient tableClient = TableClient
32-
.newClient(transport)
33-
.build()) {
30+
try (TableClient tableClient = TableClient.newClient(transport).build()) {
3431
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
3532

36-
retryCtx.supplyResult(session -> {
37-
ResultSetReader rsReader = session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
38-
.join().getValue().getResultSet(0);
33+
DataQueryResult dataQueryResult = retryCtx.supplyResult(
34+
session -> session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
35+
).join().getValue();
3936

40-
rsReader.next();
37+
ResultSetReader rsReader = dataQueryResult.getResultSet(0);
38+
while (rsReader.next()) {
4139
System.out.println(rsReader.getColumn(0).getInt32());
42-
43-
return CompletableFuture.completedFuture(Result.success(Boolean.TRUE));
44-
}).join();
40+
}
4541
}
4642
}
4743
}

auth/anonymous_credentials/src/main/java/tech/ydb/example/Main.java

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package tech.ydb.example;
22

3-
import java.util.concurrent.CompletableFuture;
43

54
import tech.ydb.auth.AuthProvider;
65
import tech.ydb.auth.NopAuthProvider;
7-
import tech.ydb.core.Result;
86
import tech.ydb.core.grpc.GrpcTransport;
97
import tech.ydb.table.SessionRetryContext;
108
import tech.ydb.table.TableClient;
9+
import tech.ydb.table.query.DataQueryResult;
1110
import tech.ydb.table.result.ResultSetReader;
1211
import tech.ydb.table.transaction.TxControl;
1312

@@ -22,24 +21,20 @@ public static void main(String[] args) {
2221
// Anonymous credentials
2322
AuthProvider authProvider = NopAuthProvider.INSTANCE;
2423

25-
try ( GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
26-
.withAuthProvider(authProvider) // Or this method could not be called at all
24+
try (GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
25+
.withAuthProvider(authProvider)
2726
.build()) {
28-
try ( TableClient tableClient = TableClient
29-
.newClient(transport)
30-
.build()) {
31-
27+
try (TableClient tableClient = TableClient.newClient(transport).build()) {
3228
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
3329

34-
retryCtx.supplyResult(session -> {
35-
ResultSetReader rsReader = session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
36-
.join().getValue().getResultSet(0);
30+
DataQueryResult dataQueryResult = retryCtx.supplyResult(
31+
session -> session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
32+
).join().getValue();
3733

38-
rsReader.next();
34+
ResultSetReader rsReader = dataQueryResult.getResultSet(0);
35+
while (rsReader.next()) {
3936
System.out.println(rsReader.getColumn(0).getInt32());
40-
41-
return CompletableFuture.completedFuture(Result.success(Boolean.TRUE));
42-
}).join();
37+
}
4338
}
4439
}
4540
}

auth/environ/src/main/java/tech/ydb/example/Main.java

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package tech.ydb.example;
22

3-
import java.util.concurrent.CompletableFuture;
43

54
import tech.ydb.auth.AuthProvider;
65
import tech.ydb.auth.iam.CloudAuthHelper;
7-
import tech.ydb.core.Result;
86
import tech.ydb.core.grpc.GrpcTransport;
97
import tech.ydb.table.SessionRetryContext;
108
import tech.ydb.table.TableClient;
9+
import tech.ydb.table.query.DataQueryResult;
1110
import tech.ydb.table.result.ResultSetReader;
1211
import tech.ydb.table.transaction.TxControl;
1312

@@ -22,24 +21,20 @@ public static void main(String[] args) {
2221
// Construct authProvider from environment variables
2322
AuthProvider authProvider = CloudAuthHelper.getAuthProviderFromEnviron();
2423

25-
try ( GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
26-
.withAuthProvider(authProvider) // Or this method could not be called at all
24+
try (GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
25+
.withAuthProvider(authProvider)
2726
.build()) {
28-
try ( TableClient tableClient = TableClient
29-
.newClient(transport)
30-
.build()) {
31-
27+
try (TableClient tableClient = TableClient.newClient(transport).build()) {
3228
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
3329

34-
retryCtx.supplyResult(session -> {
35-
ResultSetReader rsReader = session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
36-
.join().getValue().getResultSet(0);
30+
DataQueryResult dataQueryResult = retryCtx.supplyResult(
31+
session -> session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
32+
).join().getValue();
3733

38-
rsReader.next();
34+
ResultSetReader rsReader = dataQueryResult.getResultSet(0);
35+
while (rsReader.next()) {
3936
System.out.println(rsReader.getColumn(0).getInt32());
40-
41-
return CompletableFuture.completedFuture(Result.success(Boolean.TRUE));
42-
}).join();
37+
}
4338
}
4439
}
4540
}

auth/metadata_credentials/src/main/java/tech/ydb/example/Main.java

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package tech.ydb.example;
22

3-
import java.util.concurrent.CompletableFuture;
43

54
import tech.ydb.auth.AuthProvider;
65
import tech.ydb.auth.iam.CloudAuthHelper;
7-
import tech.ydb.core.Result;
86
import tech.ydb.core.grpc.GrpcTransport;
97
import tech.ydb.table.SessionRetryContext;
108
import tech.ydb.table.TableClient;
9+
import tech.ydb.table.query.DataQueryResult;
1110
import tech.ydb.table.result.ResultSetReader;
1211
import tech.ydb.table.transaction.TxControl;
1312

@@ -23,24 +22,20 @@ public static void main(String[] args) {
2322
// Use metadata credentials
2423
AuthProvider authProvider = CloudAuthHelper.getMetadataAuthProvider();
2524

26-
try ( GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
27-
.withAuthProvider(authProvider) // Or this method could not be called at all
25+
try (GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
26+
.withAuthProvider(authProvider)
2827
.build()) {
29-
try ( TableClient tableClient = TableClient
30-
.newClient(transport)
31-
.build()) {
32-
28+
try (TableClient tableClient = TableClient.newClient(transport).build()) {
3329
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
3430

35-
retryCtx.supplyResult(session -> {
36-
ResultSetReader rsReader = session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
37-
.join().getValue().getResultSet(0);
31+
DataQueryResult dataQueryResult = retryCtx.supplyResult(
32+
session -> session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
33+
).join().getValue();
3834

39-
rsReader.next();
35+
ResultSetReader rsReader = dataQueryResult.getResultSet(0);
36+
while (rsReader.next()) {
4037
System.out.println(rsReader.getColumn(0).getInt32());
41-
42-
return CompletableFuture.completedFuture(Result.success(Boolean.TRUE));
43-
}).join();
38+
}
4439
}
4540
}
4641
}

auth/service_account_credentials/src/main/java/tech/ydb/example/Main.java

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package tech.ydb.example;
22

3-
import java.util.concurrent.CompletableFuture;
43

54
import tech.ydb.auth.AuthProvider;
65
import tech.ydb.auth.iam.CloudAuthHelper;
7-
import tech.ydb.core.Result;
86
import tech.ydb.core.grpc.GrpcTransport;
97
import tech.ydb.table.SessionRetryContext;
108
import tech.ydb.table.TableClient;
9+
import tech.ydb.table.query.DataQueryResult;
1110
import tech.ydb.table.result.ResultSetReader;
1211
import tech.ydb.table.transaction.TxControl;
1312

@@ -23,24 +22,20 @@ public static void main(String[] args) {
2322

2423
AuthProvider authProvider = CloudAuthHelper.getServiceAccountFileAuthProvider(saKeyFile);
2524

26-
try ( GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
27-
.withAuthProvider(authProvider) // Or this method could not be called at all
25+
try (GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
26+
.withAuthProvider(authProvider)
2827
.build()) {
29-
try ( TableClient tableClient = TableClient
30-
.newClient(transport)
31-
.build()) {
32-
28+
try (TableClient tableClient = TableClient.newClient(transport).build()) {
3329
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
3430

35-
retryCtx.supplyResult(session -> {
36-
ResultSetReader rsReader = session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
37-
.join().getValue().getResultSet(0);
31+
DataQueryResult dataQueryResult = retryCtx.supplyResult(
32+
session -> session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
33+
).join().getValue();
3834

39-
rsReader.next();
35+
ResultSetReader rsReader = dataQueryResult.getResultSet(0);
36+
while (rsReader.next()) {
4037
System.out.println(rsReader.getColumn(0).getInt32());
41-
42-
return CompletableFuture.completedFuture(Result.success(Boolean.TRUE));
43-
}).join();
38+
}
4439
}
4540
}
4641
}

auth/static_credentials/src/main/java/tech/ydb/example/Main.java

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11

22
package tech.ydb.example;
33

4-
import java.util.concurrent.CompletableFuture;
5-
6-
import tech.ydb.core.Result;
74
import tech.ydb.core.auth.StaticCredentials;
85
import tech.ydb.core.grpc.GrpcTransport;
96
import tech.ydb.table.SessionRetryContext;
107
import tech.ydb.table.TableClient;
8+
import tech.ydb.table.query.DataQueryResult;
119
import tech.ydb.table.result.ResultSetReader;
1210
import tech.ydb.table.transaction.TxControl;
1311

@@ -29,23 +27,20 @@ public static void main(String[] args) {
2927
// Use credentials auth provider with username and password
3028
StaticCredentials authProvider = new StaticCredentials(username, password);
3129

32-
try ( GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
33-
.withAuthProvider(authProvider) // Or this method could not be called at all
30+
try (GrpcTransport transport = GrpcTransport.forConnectionString(connectionString)
31+
.withAuthProvider(authProvider)
3432
.build()) {
35-
try ( TableClient tableClient = TableClient
36-
.newClient(transport)
37-
.build()) {
33+
try (TableClient tableClient = TableClient.newClient(transport).build()) {
3834
SessionRetryContext retryCtx = SessionRetryContext.create(tableClient).build();
3935

40-
retryCtx.supplyResult(session -> {
41-
ResultSetReader rsReader = session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
42-
.join().getValue().getResultSet(0);
36+
DataQueryResult dataQueryResult = retryCtx.supplyResult(
37+
session -> session.executeDataQuery("SELECT 1;", TxControl.serializableRw())
38+
).join().getValue();
4339

44-
rsReader.next();
40+
ResultSetReader rsReader = dataQueryResult.getResultSet(0);
41+
while (rsReader.next()) {
4542
System.out.println(rsReader.getColumn(0).getInt32());
46-
47-
return CompletableFuture.completedFuture(Result.success(Boolean.TRUE));
48-
}).join();
43+
}
4944
}
5045
}
5146
}

basic_example/pom.xml

+29-5
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
<name>YDB Basic Example</name>
1313
<description>Simple example of usage Java SDK for YDB</description>
1414

15+
<properties>
16+
<junit5.version>5.10.1</junit5.version>
17+
</properties>
18+
1519
<dependencies>
1620
<dependency>
1721
<groupId>tech.ydb</groupId>
1822
<artifactId>ydb-sdk-table</artifactId>
1923
</dependency>
20-
<dependency>
21-
<groupId>tech.ydb</groupId>
22-
<artifactId>ydb-sdk-topic</artifactId>
23-
</dependency>
2424
<dependency>
2525
<groupId>tech.ydb.auth</groupId>
2626
<artifactId>yc-auth-provider</artifactId>
@@ -30,6 +30,19 @@
3030
<groupId>org.apache.logging.log4j</groupId>
3131
<artifactId>log4j-slf4j-impl</artifactId>
3232
</dependency>
33+
34+
<dependency>
35+
<groupId>tech.ydb.test</groupId>
36+
<artifactId>ydb-junit5-support</artifactId>
37+
<scope>test</scope>
38+
</dependency>
39+
40+
<dependency>
41+
<groupId>org.junit.jupiter</groupId>
42+
<artifactId>junit-jupiter-api</artifactId>
43+
<version>${junit5.version}</version>
44+
<scope>test</scope>
45+
</dependency>
3346
</dependencies>
3447

3548
<build>
@@ -52,7 +65,18 @@
5265
<mainClass>tech.ydb.example.App</mainClass>
5366
</manifest>
5467
</archive>
55-
</configuration>
68+
</configuration>
69+
</plugin>
70+
71+
<plugin>
72+
<groupId>org.apache.maven.plugins</groupId>
73+
<artifactId>maven-surefire-plugin</artifactId>
74+
<configuration>
75+
<environmentVariables>
76+
<TESTCONTAINERS_REUSE_ENABLE>true</TESTCONTAINERS_REUSE_ENABLE>
77+
<YDB_ANONYMOUS_CREDENTIALS>1</YDB_ANONYMOUS_CREDENTIALS>
78+
</environmentVariables>
79+
</configuration>
5680
</plugin>
5781
</plugins>
5882
</build>

0 commit comments

Comments
 (0)