Skip to content

Commit 9ecfd9a

Browse files
committed
Add createGrpcClient<T> utility
1 parent 2e7dd82 commit 9ecfd9a

File tree

6 files changed

+16
-26
lines changed

6 files changed

+16
-26
lines changed

jacodb-ets/src/main/kotlin/org/jacodb/ets/grpc/LoadScene.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
package org.jacodb.ets.grpc
1818

1919
import manager.GetSceneRequest
20+
import manager.ManagerClient
2021
import mu.KotlinLogging
21-
import org.jacodb.ets.service.grpcClient
22+
import org.jacodb.ets.service.createGrpcClient
2223
import java.nio.file.Path
2324
import kotlin.io.path.pathString
2425
import kotlin.time.DurationUnit
2526
import kotlin.time.measureTimedValue
2627
import model.Scene as ProtoScene
27-
import manager.ManagerClient
2828

2929
private val logger = KotlinLogging.logger {}
3030

@@ -35,7 +35,7 @@ fun loadScene(
3535
port: Int = DEFAULT_PORT,
3636
): ProtoScene {
3737
logger.info { "Connecting to gRPC server on port $port..." }
38-
val manager: ManagerClient = grpcClient(port).create()
38+
val manager = createGrpcClient<ManagerClient>(port)
3939
logger.info { "Requesting Scene for '$path'..." }
4040
val (scene, timeLoad) = measureTimedValue {
4141
val request = GetSceneRequest(path.pathString)

jacodb-ets/src/test/kotlin/org/jacodb/ets/test/GrpcTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
package org.jacodb.ets.test
1818

1919
import mu.KotlinLogging
20+
import org.jacodb.ets.grpc.Server
2021
import org.jacodb.ets.grpc.loadScene
22+
import org.jacodb.ets.grpc.startArkAnalyzerServer
2123
import org.jacodb.ets.model.EtsScene
2224
import org.jacodb.ets.proto.toEts
23-
import org.jacodb.ets.grpc.Server
2425
import org.jacodb.ets.test.utils.assumeNotNull
25-
import org.jacodb.ets.grpc.startArkAnalyzerServer
2626
import org.jacodb.ets.test.utils.testFactory
2727
import org.jacodb.ets.utils.getResourcePath
2828
import org.jacodb.ets.utils.getResourcePathOrNull

jacodb-ets/src/test/kotlin/org/jacodb/ets/test/WireTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import greeter.HelloRequest
2121
import io.grpc.ServerBuilder
2222
import mu.KotlinLogging
2323
import org.jacodb.ets.service.GreeterService
24-
import org.jacodb.ets.service.grpcClient
24+
import org.jacodb.ets.service.createGrpcClient
2525
import kotlin.test.Test
2626

2727
private val logger = KotlinLogging.logger {}
@@ -40,7 +40,7 @@ class WireTest {
4040
server.start()
4141
logger.info { "Server listening on port ${server.port}" }
4242

43-
val client: GreeterClient = grpcClient(PORT).create()
43+
val client = createGrpcClient<GreeterClient>(PORT)
4444

4545
val request = HelloRequest(name = "Kotlin")
4646
logger.info { "Sending $request" }

jacodb-ets/wire-client/src/main/kotlin/org/jacodb/ets/service/Utils.kt renamed to jacodb-ets/wire-client/src/main/kotlin/org/jacodb/ets/service/GrpcClient.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.jacodb.ets.service
1818

1919
import com.squareup.wire.GrpcClient
20+
import com.squareup.wire.Service
2021
import okhttp3.OkHttpClient
2122
import okhttp3.Protocol
2223

@@ -31,3 +32,7 @@ fun grpcClient(port: Int = DEFAULT_PORT): GrpcClient {
3132
.baseUrl("http://0.0.0.0:$port")
3233
.build()
3334
}
35+
36+
inline fun <reified T : Service> createGrpcClient(port: Int = DEFAULT_PORT): T {
37+
return grpcClient(port).create()
38+
}

jacodb-ets/wire-client/src/main/kotlin/org/jacodb/ets/service/ClientGreeter.kt renamed to jacodb-ets/wire-client/src/main/kotlin/org/jacodb/ets/service/TestGreeter.kt

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,13 @@
1616

1717
package org.jacodb.ets.service
1818

19-
import com.squareup.wire.GrpcMethod
20-
import greeter.HelloReply
19+
import greeter.GreeterClient
2120
import greeter.HelloRequest
2221

2322
fun main() {
2423
val port = 50051
25-
// val greeter: GreeterClient = grpcClient(port).create()
26-
// val request = HelloRequest(name = "Kotlin")
27-
// val response = greeter.SayHello().executeBlocking(request)
28-
// println("Response: \"${response.message}\"")
29-
30-
// Below is the manual way to create a gRPC call.
31-
// We use it here to make 'path' contain 'greeter' instead of 'greeter2',
32-
val client = grpcClient(port)
33-
val call = client.newCall(
34-
GrpcMethod(
35-
path = "/greeter.Greeter/SayHello",
36-
requestAdapter = HelloRequest.ADAPTER,
37-
responseAdapter = HelloReply.ADAPTER
38-
)
39-
)
24+
val greeter = createGrpcClient<GreeterClient>(port)
4025
val request = HelloRequest(name = "Kotlin")
41-
val response: HelloReply = call.executeBlocking(request)
26+
val response = greeter.SayHello().executeBlocking(request)
4227
println("Response: \"${response.message}\"")
4328
}

jacodb-ets/wire-client/src/main/kotlin/org/jacodb/ets/service/ClientManager.kt renamed to jacodb-ets/wire-client/src/main/kotlin/org/jacodb/ets/service/TestManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import manager.ManagerClient
2121

2222
fun main() {
2323
val port = 50051
24-
val manager: ManagerClient = grpcClient(port).create()
24+
val manager = createGrpcClient<ManagerClient>(port)
2525
val path = "TODO"
2626
val request = GetSceneRequest(path)
2727
val scene = manager.GetScene().executeBlocking(request)

0 commit comments

Comments
 (0)