Skip to content

Commit 9edbfac

Browse files
committed
return completableFuture
1 parent 90d5365 commit 9edbfac

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageServer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import java.util.concurrent.CompletableFuture
1717
@Suppress("unused")
1818
interface AmazonQLanguageServer : LanguageServer {
1919
@JsonRequest("aws/syncModuleDependencies")
20-
fun syncModuleDependencies(params: SyncModuleDependenciesParams)
20+
fun syncModuleDependencies(params: SyncModuleDependenciesParams): CompletableFuture<Unit>
2121

2222
@JsonRequest("aws/credentials/token/update")
2323
fun updateTokenCredentials(payload: UpdateCredentialsPayload): CompletableFuture<ResponseMessage>

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/dependencies/DefaultModuleDependenciesService.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import com.jetbrains.python.packaging.management.PythonPackageManager
1717
import com.jetbrains.python.sdk.PythonSdkUtil
1818
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
1919
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.SyncModuleDependenciesParams
20+
import java.util.concurrent.CompletableFuture
2021

2122
class DefaultModuleDependenciesService(
2223
private val project: Project,
@@ -39,11 +40,13 @@ class DefaultModuleDependenciesService(
3940
syncAllModules()
4041
}
4142

42-
override fun syncModuleDependencies(params: SyncModuleDependenciesParams) {
43-
AmazonQLspService.executeIfRunning(project) { languageServer ->
44-
languageServer.syncModuleDependencies(params)
43+
override fun syncModuleDependencies(params: SyncModuleDependenciesParams): CompletableFuture<Unit> =
44+
CompletableFuture<Unit>().also { completableFuture ->
45+
AmazonQLspService.executeIfRunning(project) { languageServer ->
46+
languageServer.syncModuleDependencies(params)
47+
completableFuture.complete(null)
48+
} ?: completableFuture.completeExceptionally(IllegalStateException("LSP Server not running"))
4549
}
46-
}
4750

4851
private fun syncAllModules() {
4952
ModuleManager.getInstance(project).modules.forEach { module ->

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/dependencies/ModuleDependenciesService.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
package software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies
55

66
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.SyncModuleDependenciesParams
7+
import java.util.concurrent.CompletableFuture
78

89
interface ModuleDependenciesService {
9-
fun syncModuleDependencies(params: SyncModuleDependenciesParams)
10+
fun syncModuleDependencies(params: SyncModuleDependenciesParams): CompletableFuture<Unit>
1011
}

0 commit comments

Comments
 (0)