Skip to content

Commit 2e3ad80

Browse files
committed
break out metadata into model
1 parent 0d0494e commit 2e3ad80

File tree

2 files changed

+44
-43
lines changed

2 files changed

+44
-43
lines changed

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

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import kotlinx.coroutines.CoroutineScope
2121
import kotlinx.coroutines.TimeoutCancellationException
2222
import kotlinx.coroutines.launch
2323
import kotlinx.coroutines.time.withTimeout
24-
import kotlinx.serialization.Serializable
2524
import org.eclipse.lsp4j.ClientCapabilities
2625
import org.eclipse.lsp4j.ClientInfo
2726
import org.eclipse.lsp4j.FileOperationsWorkspaceCapabilities
@@ -37,6 +36,7 @@ import org.slf4j.event.Level
3736
import software.aws.toolkits.core.utils.getLogger
3837
import software.aws.toolkits.core.utils.warn
3938
import software.aws.toolkits.jetbrains.isDeveloperMode
39+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.createExtendedClientMetadata
4040
import software.aws.toolkits.jetbrains.services.telemetry.ClientMetadata
4141
import java.io.IOException
4242
import java.io.OutputStreamWriter
@@ -48,48 +48,6 @@ import java.net.URI
4848
import java.nio.charset.StandardCharsets
4949
import java.time.Duration
5050
import java.util.concurrent.Future
51-
52-
@Serializable
53-
data class ExtendedClientMetadata(
54-
val aws: AwsMetadata,
55-
)
56-
57-
@Serializable
58-
data class AwsMetadata(
59-
val clientInfo: ClientInfoMetadata,
60-
)
61-
62-
@Serializable
63-
data class ClientInfoMetadata(
64-
val extension: ExtensionMetadata,
65-
val clientId: String,
66-
val version: String,
67-
val name: String,
68-
)
69-
70-
@Serializable
71-
data class ExtensionMetadata(
72-
val name: String,
73-
val version: String,
74-
)
75-
76-
private fun createExtendedClientMetadata(): ExtendedClientMetadata {
77-
val metadata = ClientMetadata.getDefault()
78-
return ExtendedClientMetadata(
79-
aws = AwsMetadata(
80-
clientInfo = ClientInfoMetadata(
81-
extension = ExtensionMetadata(
82-
name = metadata.awsProduct.toString(),
83-
version = metadata.awsVersion
84-
),
85-
clientId = metadata.clientId,
86-
version = metadata.parentProductVersion,
87-
name = metadata.parentProduct
88-
)
89-
)
90-
)
91-
}
92-
9351
// https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/server/LSPProcessListener.java
9452
// JB impl and redhat both use a wrapper to handle input buffering issue
9553
internal class LSPProcessListener : ProcessListener {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.model
5+
6+
import software.aws.toolkits.jetbrains.services.telemetry.ClientMetadata
7+
8+
data class ExtendedClientMetadata(
9+
val aws: AwsMetadata,
10+
)
11+
12+
data class AwsMetadata(
13+
val clientInfo: ClientInfoMetadata,
14+
)
15+
16+
data class ClientInfoMetadata(
17+
val extension: ExtensionMetadata,
18+
val clientId: String,
19+
val version: String,
20+
val name: String,
21+
)
22+
23+
data class ExtensionMetadata(
24+
val name: String,
25+
val version: String,
26+
)
27+
28+
fun createExtendedClientMetadata(): ExtendedClientMetadata {
29+
val metadata = ClientMetadata.getDefault()
30+
return ExtendedClientMetadata(
31+
aws = AwsMetadata(
32+
clientInfo = ClientInfoMetadata(
33+
extension = ExtensionMetadata(
34+
name = metadata.awsProduct.toString(),
35+
version = metadata.awsVersion
36+
),
37+
clientId = metadata.clientId,
38+
version = metadata.parentProductVersion,
39+
name = metadata.parentProduct
40+
)
41+
)
42+
)
43+
}

0 commit comments

Comments
 (0)