Skip to content

Commit 5a43b30

Browse files
committed
remove all sigv4 sdk use
1 parent faf8e54 commit 5a43b30

File tree

5 files changed

+51
-381
lines changed

5 files changed

+51
-381
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanSession.kt

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ import kotlinx.coroutines.ensureActive
1717
import kotlinx.coroutines.isActive
1818
import kotlinx.coroutines.time.withTimeout
1919
import kotlinx.coroutines.withContext
20-
import software.amazon.awssdk.services.codewhisperer.model.ArtifactType
21-
import software.amazon.awssdk.services.codewhisperer.model.CodeScanFindingsSchema
22-
import software.amazon.awssdk.services.codewhisperer.model.CodeScanStatus
23-
import software.amazon.awssdk.services.codewhisperer.model.CodeWhispererException
24-
import software.amazon.awssdk.services.codewhisperer.model.CreateCodeScanRequest
25-
import software.amazon.awssdk.services.codewhisperer.model.CreateCodeScanResponse
26-
import software.amazon.awssdk.services.codewhisperer.model.GetCodeScanRequest
27-
import software.amazon.awssdk.services.codewhisperer.model.GetCodeScanResponse
28-
import software.amazon.awssdk.services.codewhisperer.model.ListCodeScanFindingsRequest
29-
import software.amazon.awssdk.services.codewhisperer.model.ListCodeScanFindingsResponse
20+
import software.amazon.awssdk.services.codewhispererruntime.model.ArtifactType
21+
import software.amazon.awssdk.services.codewhispererruntime.model.CodeAnalysisFindingsSchema
22+
import software.amazon.awssdk.services.codewhispererruntime.model.CodeAnalysisStatus
23+
import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
3024
import software.amazon.awssdk.services.codewhispererruntime.model.CreateUploadUrlResponse
25+
import software.amazon.awssdk.services.codewhispererruntime.model.GetCodeAnalysisRequest
26+
import software.amazon.awssdk.services.codewhispererruntime.model.GetCodeAnalysisResponse
27+
import software.amazon.awssdk.services.codewhispererruntime.model.ListCodeAnalysisFindingsRequest
28+
import software.amazon.awssdk.services.codewhispererruntime.model.ListCodeAnalysisFindingsResponse
3129
import software.amazon.awssdk.services.codewhispererruntime.model.Reference
30+
import software.amazon.awssdk.services.codewhispererruntime.model.StartCodeAnalysisRequest
31+
import software.amazon.awssdk.services.codewhispererruntime.model.StartCodeAnalysisResponse
3232
import software.aws.toolkits.core.utils.Waiters.waitUntil
3333
import software.aws.toolkits.core.utils.debug
3434
import software.aws.toolkits.core.utils.getLogger
@@ -145,7 +145,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
145145
}
146146
}
147147
var codeScanStatus = createCodeScanResponse.status()
148-
if (codeScanStatus == CodeScanStatus.FAILED) {
148+
if (codeScanStatus == CodeAnalysisStatus.FAILED) {
149149
if (isProjectScope()) {
150150
LOG.debug {
151151
"CodeWhisperer service error occurred. Something went wrong when creating a code review: $createCodeScanResponse " +
@@ -165,7 +165,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
165165

166166
// 5. Keep polling the API GetCodeScan to wait for results for a given timeout period.
167167
waitUntil(
168-
succeedOn = { codeScanStatus == CodeScanStatus.COMPLETED },
168+
succeedOn = { codeScanStatus == CodeAnalysisStatus.COMPLETED },
169169
maxDuration = Duration.ofSeconds(sessionContext.sessionConfig.overallJobTimeoutInSeconds())
170170
) {
171171
currentCoroutineContext.ensureActive()
@@ -182,7 +182,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
182182
}
183183
}
184184
delay(CODE_SCAN_POLLING_INTERVAL_IN_SECONDS * TOTAL_MILLIS_IN_SECOND)
185-
if (codeScanStatus == CodeScanStatus.FAILED) {
185+
if (codeScanStatus == CodeAnalysisStatus.FAILED) {
186186
if (isProjectScope()) {
187187
LOG.debug {
188188
"CodeWhisperer service error occurred. Something went wrong fetching results for code review: $getCodeScanResponse " +
@@ -205,12 +205,12 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
205205
)
206206

207207
val documents = mutableListOf<String>()
208-
documents.add(listCodeScanFindingsResponse.codeScanFindings())
208+
documents.add(listCodeScanFindingsResponse.codeAnalysisFindings())
209209
// coroutineContext helps to actively cancel the bigger projects quickly
210210
withContext(currentCoroutineContext) {
211211
while (listCodeScanFindingsResponse.nextToken() != null && currentCoroutineContext.isActive) {
212212
listCodeScanFindingsResponse = listCodeScanFindings(jobId, listCodeScanFindingsResponse.nextToken())
213-
documents.add(listCodeScanFindingsResponse.codeScanFindings())
213+
documents.add(listCodeScanFindingsResponse.codeAnalysisFindings())
214214
}
215215
}
216216

@@ -224,7 +224,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
224224
codeScanResponseContext = codeScanResponseContext.copy(reason = "Succeeded")
225225
return CodeScanResponse.Success(issues, codeScanResponseContext)
226226
} catch (e: Exception) {
227-
val exception = e as? CodeWhispererException
227+
val exception = e as? CodeWhispererRuntimeException
228228
val awsError = exception?.awsErrorDetails()
229229

230230
if (awsError != null) {
@@ -248,7 +248,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
248248
}
249249
}
250250

251-
fun createCodeScan(language: String, codeScanName: String): CreateCodeScanResponse {
251+
fun createCodeScan(language: String, codeScanName: String): StartCodeAnalysisResponse {
252252
val artifactsMap = mapOf(
253253
ArtifactType.SOURCE_CODE to urlResponse[ArtifactType.SOURCE_CODE]?.uploadId(),
254254
ArtifactType.BUILT_JARS to urlResponse[ArtifactType.BUILT_JARS]?.uploadId()
@@ -262,7 +262,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
262262

263263
try {
264264
return clientAdaptor.createCodeScan(
265-
CreateCodeScanRequest.builder()
265+
StartCodeAnalysisRequest.builder()
266266
.clientToken(clientToken.toString())
267267
.programmingLanguage { it.languageName(language) }
268268
.artifacts(artifactsMap)
@@ -277,9 +277,9 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
277277
}
278278
}
279279

280-
fun getCodeScan(jobId: String): GetCodeScanResponse = try {
280+
fun getCodeScan(jobId: String): GetCodeAnalysisResponse = try {
281281
clientAdaptor.getCodeScan(
282-
GetCodeScanRequest.builder()
282+
GetCodeAnalysisRequest.builder()
283283
.jobId(jobId)
284284
.build()
285285
)
@@ -289,11 +289,11 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
289289
throw codeScanServerException("GetCodeReviewException: $errorMessage")
290290
}
291291

292-
fun listCodeScanFindings(jobId: String, nextToken: String?): ListCodeScanFindingsResponse = try {
292+
fun listCodeScanFindings(jobId: String, nextToken: String?): ListCodeAnalysisFindingsResponse = try {
293293
clientAdaptor.listCodeScanFindings(
294-
ListCodeScanFindingsRequest.builder()
294+
ListCodeAnalysisFindingsRequest.builder()
295295
.jobId(jobId)
296-
.codeScanFindingsSchema(CodeScanFindingsSchema.CODESCAN_FINDINGS_1_0)
296+
.codeAnalysisFindingsSchema(CodeAnalysisFindingsSchema.CODEANALYSIS_FINDINGS_1_0)
297297
.nextToken(nextToken)
298298
.build()
299299
)

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/credentials/CodeWhispererClientAdaptor.kt

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ import com.intellij.openapi.application.ApplicationManager
88
import com.intellij.openapi.components.service
99
import com.intellij.openapi.project.Project
1010
import com.intellij.util.text.nullize
11-
import software.amazon.awssdk.services.codewhisperer.model.CreateCodeScanRequest
12-
import software.amazon.awssdk.services.codewhisperer.model.CreateCodeScanResponse
13-
import software.amazon.awssdk.services.codewhisperer.model.GetCodeScanRequest
14-
import software.amazon.awssdk.services.codewhisperer.model.GetCodeScanResponse
15-
import software.amazon.awssdk.services.codewhisperer.model.ListCodeScanFindingsRequest
16-
import software.amazon.awssdk.services.codewhisperer.model.ListCodeScanFindingsResponse
1711
import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClient
1812
import software.amazon.awssdk.services.codewhispererruntime.model.ChatInteractWithMessageEvent
1913
import software.amazon.awssdk.services.codewhispererruntime.model.ChatMessageInteractionType
@@ -23,14 +17,20 @@ import software.amazon.awssdk.services.codewhispererruntime.model.CreateUploadUr
2317
import software.amazon.awssdk.services.codewhispererruntime.model.Dimension
2418
import software.amazon.awssdk.services.codewhispererruntime.model.GenerateCompletionsRequest
2519
import software.amazon.awssdk.services.codewhispererruntime.model.GenerateCompletionsResponse
20+
import software.amazon.awssdk.services.codewhispererruntime.model.GetCodeAnalysisRequest
21+
import software.amazon.awssdk.services.codewhispererruntime.model.GetCodeAnalysisResponse
2622
import software.amazon.awssdk.services.codewhispererruntime.model.GetCodeFixJobRequest
2723
import software.amazon.awssdk.services.codewhispererruntime.model.GetCodeFixJobResponse
2824
import software.amazon.awssdk.services.codewhispererruntime.model.GetTestGenerationResponse
2925
import software.amazon.awssdk.services.codewhispererruntime.model.IdeCategory
3026
import software.amazon.awssdk.services.codewhispererruntime.model.InlineChatUserDecision
3127
import software.amazon.awssdk.services.codewhispererruntime.model.ListAvailableCustomizationsRequest
28+
import software.amazon.awssdk.services.codewhispererruntime.model.ListCodeAnalysisFindingsRequest
29+
import software.amazon.awssdk.services.codewhispererruntime.model.ListCodeAnalysisFindingsResponse
3230
import software.amazon.awssdk.services.codewhispererruntime.model.ListFeatureEvaluationsResponse
3331
import software.amazon.awssdk.services.codewhispererruntime.model.SendTelemetryEventResponse
32+
import software.amazon.awssdk.services.codewhispererruntime.model.StartCodeAnalysisRequest
33+
import software.amazon.awssdk.services.codewhispererruntime.model.StartCodeAnalysisResponse
3434
import software.amazon.awssdk.services.codewhispererruntime.model.StartCodeFixJobRequest
3535
import software.amazon.awssdk.services.codewhispererruntime.model.StartCodeFixJobResponse
3636
import software.amazon.awssdk.services.codewhispererruntime.model.StartTestGenerationResponse
@@ -57,7 +57,6 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.service.RequestCon
5757
import software.aws.toolkits.jetbrains.services.codewhisperer.service.ResponseContext
5858
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants
5959
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererUtil.getTelemetryOptOutPreference
60-
import software.aws.toolkits.jetbrains.services.codewhisperer.util.transform
6160
import software.aws.toolkits.telemetry.CodewhispererCompletionType
6261
import software.aws.toolkits.telemetry.CodewhispererSuggestionState
6362
import java.time.Instant
@@ -81,20 +80,11 @@ interface CodeWhispererClientAdaptor : Disposable {
8180
request: CreateUploadUrlRequest,
8281
): CreateUploadUrlResponse
8382

84-
fun createCodeScan(
85-
request: CreateCodeScanRequest,
86-
isSigv4: Boolean = shouldUseSigv4Client(project),
87-
): CreateCodeScanResponse
83+
fun createCodeScan(request: StartCodeAnalysisRequest): StartCodeAnalysisResponse
8884

89-
fun getCodeScan(
90-
request: GetCodeScanRequest,
91-
isSigv4: Boolean = shouldUseSigv4Client(project),
92-
): GetCodeScanResponse
85+
fun getCodeScan(request: GetCodeAnalysisRequest): GetCodeAnalysisResponse
9386

94-
fun listCodeScanFindings(
95-
request: ListCodeScanFindingsRequest,
96-
isSigv4: Boolean = shouldUseSigv4Client(project),
97-
): ListCodeScanFindingsResponse
87+
fun listCodeScanFindings(request: ListCodeAnalysisFindingsRequest): ListCodeAnalysisFindingsResponse
9888

9989
fun startCodeFixJob(request: StartCodeFixJobRequest): StartCodeFixJobResponse
10090

@@ -315,20 +305,19 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW
315305
yield(response)
316306
} while (!nextToken.isNullOrEmpty())
317307
}
308+
318309
override fun generateCompletions(firstRequest: GenerateCompletionsRequest): GenerateCompletionsResponse =
319310
bearerClient().generateCompletions(firstRequest)
320311

321312
override fun createUploadUrl(request: CreateUploadUrlRequest): CreateUploadUrlResponse =
322313
bearerClient().createUploadUrl(request)
323314

324-
override fun createCodeScan(request: CreateCodeScanRequest, isSigv4: Boolean): CreateCodeScanResponse =
325-
bearerClient().startCodeAnalysis(request.transform()).transform()
315+
override fun createCodeScan(request: StartCodeAnalysisRequest): StartCodeAnalysisResponse = bearerClient().startCodeAnalysis(request)
326316

327-
override fun getCodeScan(request: GetCodeScanRequest, isSigv4: Boolean): GetCodeScanResponse =
328-
bearerClient().getCodeAnalysis(request.transform()).transform()
317+
override fun getCodeScan(request: GetCodeAnalysisRequest): GetCodeAnalysisResponse = bearerClient().getCodeAnalysis(request)
329318

330-
override fun listCodeScanFindings(request: ListCodeScanFindingsRequest, isSigv4: Boolean): ListCodeScanFindingsResponse =
331-
bearerClient().listCodeAnalysisFindings(request.transform()).transform()
319+
override fun listCodeScanFindings(request: ListCodeAnalysisFindingsRequest): ListCodeAnalysisFindingsResponse =
320+
bearerClient().listCodeAnalysisFindings(request)
332321

333322
override fun startCodeFixJob(request: StartCodeFixJobRequest): StartCodeFixJobResponse = bearerClient().startCodeFixJob(request)
334323

0 commit comments

Comments
 (0)