Skip to content

Commit e67a5bc

Browse files
authored
Revert: Security scans - Improving telemetry error messages (#4653)
* Revert "Security scans: Improving telemetry error messages (#4600)"
1 parent 23d94d3 commit e67a5bc

File tree

4 files changed

+27
-35
lines changed

4 files changed

+27
-35
lines changed

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

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,33 @@ package software.aws.toolkits.jetbrains.services.codewhisperer.codescan
55

66
import software.aws.toolkits.resources.message
77

8-
open class CodeScanException(override val message: String, open val code: String?) : RuntimeException(message)
8+
open class CodeWhispererCodeScanException(override val message: String?) : RuntimeException()
99

10-
open class CodeWhispererCodeScanException(override val message: String, override val code: String?) : CodeScanException(message, code)
11-
12-
open class CodeWhispererCodeScanServerException(override val message: String, override val code: String?) : CodeScanException(message, code)
10+
open class CodeWhispererCodeScanServerException(override val message: String?) : RuntimeException()
1311

1412
internal fun noFileOpenError(): Nothing =
15-
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.no_file_open"), "NoSourceFilesError")
13+
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.no_file_open"))
1614

17-
internal fun codeScanFailed(errorMessage: String, code: String?): Nothing =
18-
throw CodeScanException(errorMessage, code)
15+
internal fun codeScanFailed(errorMessage: String): Nothing =
16+
throw Exception(errorMessage)
1917

2018
internal fun cannotFindFile(errorMessage: String, filepath: String): Nothing =
2119
error(message("codewhisperer.codescan.file_not_found", filepath, errorMessage))
2220

2321
internal fun cannotFindBuildArtifacts(): Nothing =
24-
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.build_artifacts_not_found"), "NoSourceFilesError")
22+
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.build_artifacts_not_found"))
2523

2624
internal fun fileFormatNotSupported(format: String): Nothing =
27-
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.file_ext_not_supported", format), "FileFormatNotSupportedError")
25+
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.file_ext_not_supported", format))
2826

2927
internal fun fileTooLarge(): Nothing =
30-
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.file_too_large"), "ProjectSizeExceeded")
28+
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.file_too_large"))
3129

32-
internal fun codeScanServerException(errorMessage: String, code: String?): Nothing =
33-
throw CodeWhispererCodeScanServerException(errorMessage, code)
30+
internal fun codeScanServerException(errorMessage: String): Nothing =
31+
throw CodeWhispererCodeScanServerException(errorMessage)
3432

3533
internal fun invalidSourceZipError(): Nothing =
36-
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.invalid_source_zip_telemetry"), "InvalidSourceZip")
34+
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.invalid_source_zip_telemetry"))
3735

3836
internal fun noSupportedFilesError(): Nothing =
39-
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.unsupported_language_error"), "NoSourceFilesError")
37+
throw CodeWhispererCodeScanException(message("codewhisperer.codescan.unsupported_language_error"))

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

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -282,14 +282,13 @@ class CodeWhispererCodeScanManager(val project: Project) {
282282
isProjectScanInProgress.set(false)
283283
}
284284
val errorMessage = handleError(coroutineContext, e, scope)
285-
codeScanResponseContext = codeScanResponseContext.copy(reasonDesc = errorMessage)
286-
codeScanResponseContext = codeScanResponseContext.copy(reason = "DefaultError")
287-
} catch (e: CodeScanException) {
285+
codeScanResponseContext = codeScanResponseContext.copy(reason = errorMessage)
286+
} catch (e: Exception) {
288287
if (scope == CodeWhispererConstants.CodeAnalysisScope.PROJECT) {
289288
isProjectScanInProgress.set(false)
290289
}
291-
codeScanResponseContext = codeScanResponseContext.copy(reasonDesc = handleException(coroutineContext, e, scope))
292-
codeScanResponseContext = codeScanResponseContext.copy(reason = e.code ?: "DefaultError")
290+
val errorMessage = handleException(coroutineContext, e, scope)
291+
codeScanResponseContext = codeScanResponseContext.copy(reason = errorMessage)
293292
} finally {
294293
// After code scan
295294
afterCodeScan(scope)
@@ -338,7 +337,7 @@ class CodeWhispererCodeScanManager(val project: Project) {
338337
private fun getCodeScanExceptionMessage(e: CodeWhispererCodeScanException): String? {
339338
val message = e.message
340339
return when {
341-
message.isBlank() -> null
340+
message.isNullOrBlank() -> null
342341
message == message("codewhisperer.codescan.invalid_source_zip_telemetry") -> {
343342
message("codewhisperer.codescan.run_scan_error")
344343
}
@@ -347,12 +346,8 @@ class CodeWhispererCodeScanManager(val project: Project) {
347346
}
348347

349348
private fun getCodeScanServerExceptionMessage(e: CodeWhispererCodeScanServerException): String? =
350-
e.code?.let {
351-
when (it) {
352-
"UploadArtifactToS3Error" -> message("codewhisperer.codescan.upload_to_s3_failed")
353-
else -> null
354-
}
355-
}
349+
e.message?.takeIf { it.startsWith("UploadArtifactToS3Exception:") }
350+
?.let { message("codewhisperer.codescan.upload_to_s3_failed") }
356351

357352
fun handleException(coroutineContext: CoroutineContext, e: Exception, scope: CodeWhispererConstants.CodeAnalysisScope): String {
358353
val errorMessage = when (e) {

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
152152
}
153153
}
154154
val errorMessage = createCodeScanResponse.errorMessage()?.let { it } ?: message("codewhisperer.codescan.run_scan_error_telemetry")
155-
codeScanFailed(errorMessage, "CreateCodeScanFailedError")
155+
codeScanFailed(errorMessage)
156156
}
157157
val jobId = createCodeScanResponse.jobId()
158158
codeScanResponseContext = codeScanResponseContext.copy(codeScanJobId = jobId)
@@ -189,7 +189,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
189189
}
190190
}
191191
val errorMessage = getCodeScanResponse.errorMessage()?.let { it } ?: message("codewhisperer.codescan.run_scan_error_telemetry")
192-
codeScanFailed(errorMessage, "DefaultError")
192+
codeScanFailed(errorMessage)
193193
}
194194
}
195195

@@ -285,7 +285,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
285285
} catch (e: Exception) {
286286
LOG.debug { "Create Upload URL failed: ${e.message}" }
287287
val errorMessage = getTelemetryErrorMessage(e)
288-
throw codeScanServerException(errorMessage, "CreateUploadUrlError")
288+
throw codeScanServerException("CreateUploadUrlException: $errorMessage")
289289
}
290290

291291
private fun getUploadIntent(scope: CodeWhispererConstants.CodeAnalysisScope): UploadIntent = when (scope) {
@@ -319,7 +319,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
319319
} catch (e: Exception) {
320320
LOG.debug { "Artifact failed to upload in the S3 bucket: ${e.message}" }
321321
val errorMessage = getTelemetryErrorMessage(e)
322-
throw codeScanServerException(errorMessage, "UploadArtifactToS3Error")
322+
throw codeScanServerException("UploadArtifactToS3Exception: $errorMessage")
323323
}
324324
}
325325

@@ -342,7 +342,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
342342
} catch (e: Exception) {
343343
LOG.debug { "Creating security scan failed: ${e.message}" }
344344
val errorMessage = getTelemetryErrorMessage(e)
345-
throw codeScanServerException(errorMessage, "CreateCodeScanError")
345+
throw codeScanServerException("CreateCodeScanException: $errorMessage")
346346
}
347347
}
348348

@@ -355,7 +355,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
355355
} catch (e: Exception) {
356356
LOG.debug { "Getting security scan failed: ${e.message}" }
357357
val errorMessage = getTelemetryErrorMessage(e)
358-
throw codeScanServerException(errorMessage, "GetCodeScanError")
358+
throw codeScanServerException("GetCodeScanException: $errorMessage")
359359
}
360360

361361
fun listCodeScanFindings(jobId: String, nextToken: String?): ListCodeScanFindingsResponse = try {
@@ -369,7 +369,7 @@ class CodeWhispererCodeScanSession(val sessionContext: CodeScanSessionContext) {
369369
} catch (e: Exception) {
370370
LOG.debug { "Listing security scan failed: ${e.message}" }
371371
val errorMessage = getTelemetryErrorMessage(e)
372-
throw codeScanServerException(errorMessage, "ListCodeScanFindingsError")
372+
throw codeScanServerException("ListCodeScanFindingsException: $errorMessage")
373373
}
374374

375375
fun mapToCodeScanIssues(recommendations: List<String>): List<CodeWhispererCodeScanIssue> {

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/model/CodeWhispererModel.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,7 @@ data class CodeScanResponseContext(
155155
val codeScanJobId: String? = null,
156156
val codeScanTotalIssues: Int = 0,
157157
val codeScanIssuesWithFixes: Int = 0,
158-
val reason: String? = null,
159-
val reasonDesc: String? = null
158+
val reason: String? = null
160159
)
161160

162161
data class LatencyContext(

0 commit comments

Comments
 (0)