diff --git a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/constants/CodeTransformChatItems.kt b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/constants/CodeTransformChatItems.kt index 79eddf16a24..18c63246a37 100644 --- a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/constants/CodeTransformChatItems.kt +++ b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/constants/CodeTransformChatItems.kt @@ -356,10 +356,16 @@ fun buildUserInputCustomDependencyVersionsChatContent(message: String) = CodeTra type = CodeTransformChatMessageType.PendingAnswer, ) -fun buildPromptTargetJDKNameChatContent(version: String) = CodeTransformChatMessageContent( - message = message("codemodernizer.chat.message.enter_jdk_name", version), - type = CodeTransformChatMessageType.FinalizedAnswer, -) +fun buildPromptTargetJDKNameChatContent(version: String, currentJdkName: String?): CodeTransformChatMessageContent { + var message = message("codemodernizer.chat.message.enter_jdk_name", version) + if (currentJdkName != null) { + message += "\n\ncurrent: `$currentJdkName`" + } + return CodeTransformChatMessageContent( + message = message, + type = CodeTransformChatMessageType.FinalizedAnswer, + ) +} fun buildInvalidTargetJdkNameChatContent(jdkName: String) = CodeTransformChatMessageContent( message = message("codemodernizer.chat.message.enter_jdk_name_error", jdkName), diff --git a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt index 7e1989528a8..1629b0acc27 100644 --- a/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt +++ b/plugins/amazonq/codetransform/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codemodernizer/controller/CodeTransformChatController.kt @@ -138,6 +138,7 @@ class CodeTransformChatController( private val codeModernizerManager = CodeModernizerManager.getInstance(context.project) private val artifactHandler = ArtifactHandler(context.project, GumbyClient.getInstance(context.project), codeTransformChatHelper) private val telemetry = CodeTransformTelemetryManager.getInstance(context.project) + private val jdkVersionToName = mutableMapOf() override suspend fun processChatPromptMessage(message: IncomingCodeTransformMessage.ChatPrompt) { if (chatSessionStorage.getSession(message.tabId).conversationState == CodeTransformConversationState.PROMPT_TARGET_JDK_NAME) { @@ -456,6 +457,10 @@ class CodeTransformChatController( codeTransformChatHelper.addNewMessage(buildInvalidTargetJdkNameChatContent(providedJdkName)) return } + val jdkVersion = codeModernizerManager.codeTransformationSession?.sessionContext?.targetJavaVersion?.name + if (jdkVersion != null) { + jdkVersionToName[jdkVersion] = targetJdkName + } codeModernizerManager.codeTransformationSession?.sessionContext?.targetJdkName = targetJdkName codeTransformChatHelper.addNewMessage(buildUserReplyChatContent(message.message.trim())) // start local build once we get target JDK path @@ -506,7 +511,8 @@ dependencyManagement: private suspend fun promptForTargetJdkName(tabId: String) { chatSessionStorage.getSession(tabId).conversationState = CodeTransformConversationState.PROMPT_TARGET_JDK_NAME val targetJdkVersion = codeModernizerManager.codeTransformationSession?.sessionContext?.targetJavaVersion?.name.orEmpty() - codeTransformChatHelper.addNewMessage(buildPromptTargetJDKNameChatContent(targetJdkVersion)) + val currentJdkName = jdkVersionToName[targetJdkVersion] + codeTransformChatHelper.addNewMessage(buildPromptTargetJDKNameChatContent(targetJdkVersion, currentJdkName)) codeTransformChatHelper.sendChatInputEnabledMessage(tabId, true) codeTransformChatHelper.sendUpdatePlaceholderMessage(tabId, "Enter the name of your $targetJdkVersion") }