Skip to content

Commit 549c826

Browse files
authored
refactor: monolithic function in amazon q code transform #4273
* Chore - refactor mono function * Chore - refactor global variables * Chore - refactor errorMessage and cleanup function * Chore - fix compile errors * Chore - telemetry fix - report human readable values for reason field on java versions
1 parent 4de0ed8 commit 549c826

File tree

5 files changed

+329
-180
lines changed

5 files changed

+329
-180
lines changed

src/amazonqGumby/telemetry/codeTransformTelemetry.ts

+50
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,54 @@ export const JDKToTelemetryValue = (
6363
}
6464
}
6565

66+
/**
67+
* @description We want the output of our Java versions found
68+
* that are not supported to match IntelliJ output. IntelliJ
69+
* can read the version easily and for VSCode we must exec
70+
* the javap -v command.
71+
*/
72+
export const javapOutputToTelemetryValue = (javapCommandLineOutput: string) => {
73+
switch (javapCommandLineOutput) {
74+
case '49':
75+
return 'JDK_1_5'
76+
case '50':
77+
return 'JDK_1_6'
78+
case '51':
79+
return 'JDK_1_7'
80+
case '52':
81+
return 'JDK_1_8'
82+
case '53':
83+
return 'JDK_1_9'
84+
case '54':
85+
return 'JDK_10'
86+
case '55':
87+
return 'JDK_11'
88+
case '56':
89+
return 'JDK_12'
90+
case '57':
91+
return 'JDK_13'
92+
case '58':
93+
return 'JDK_14'
94+
case '59':
95+
return 'JDK_15'
96+
case '60':
97+
return 'JDK_16'
98+
case '61':
99+
return 'JDK_17'
100+
case '62':
101+
return 'JDK_18'
102+
case '63':
103+
return 'JDK_19'
104+
case '64':
105+
return 'JDK_20'
106+
case '65':
107+
return 'JDK_21'
108+
case '66':
109+
return 'JDK_22'
110+
default:
111+
// If nothing found. Output the number and lookup the java 'major version' numbers online
112+
return javapCommandLineOutput
113+
}
114+
}
115+
66116
export const calculateTotalLatency = (startTime: number, endTime: number = Date.now()): number => endTime - startTime

src/amazonqGumby/telemetry/codeTransformTelemetryState.ts

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { randomUUID } from 'crypto'
77
interface ICodeTransformerTelemetryState {
88
sessionId: string
99
sessionStartTime: number
10+
resultStatus: string
1011
}
1112

1213
class CodeTransformerTelemetryState {
@@ -17,6 +18,7 @@ class CodeTransformerTelemetryState {
1718
this.mainState = {
1819
sessionId: randomUUID(),
1920
sessionStartTime: Date.now(),
21+
resultStatus: '',
2022
}
2123
}
2224

@@ -30,13 +32,17 @@ class CodeTransformerTelemetryState {
3032

3133
public getSessionId = () => this.mainState.sessionId
3234
public getStartTime = () => this.mainState.sessionStartTime
35+
public getResultStatus = () => this.mainState.resultStatus
3336

3437
public setSessionId = () => {
3538
this.mainState.sessionId = randomUUID()
3639
}
3740
public setStartTime = () => {
3841
this.mainState.sessionStartTime = Date.now()
3942
}
43+
public setResultStatus = (newValue: string) => {
44+
this.mainState.resultStatus = newValue
45+
}
4046
}
4147

4248
export const codeTransformTelemetryState = CodeTransformerTelemetryState.getInstance()

0 commit comments

Comments
 (0)