Fix crashes on empty reply in context requests Resolved a crash issue where ChatGPT could return an empty reply set when requesting context using the ON_DEMAND policy. Now, if an empty reply is received, a default "CONTEXT NOT PROVIDED" context information is sent to ChatGPT instead. Change-Id: Id894a1eee1108bcbf68777d725413e179ecec69b Signed-off-by: Patrizio <patrizio.gelosi@amarulasolutions.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/CodeContextBuilder.java b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/CodeContextBuilder.java index 6e9b201..f09d62c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/CodeContextBuilder.java +++ b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/CodeContextBuilder.java
@@ -32,8 +32,12 @@ public String buildCodeContext(ChatGptGetContextContent getContextContent) { log.debug("Building code context for {}", getContextContent); + List<ChatGptGetContextItem> replies = getContextContent.getReplies(); + if (replies == null || replies.isEmpty()) { + return CONTEXT_NOT_PROVIDED; + } List<GetContextOutputItem> getContextOutput = new ArrayList<>(); - for (ChatGptGetContextItem chatGptGetContextItem : getContextContent.getReplies()) { + for (ChatGptGetContextItem chatGptGetContextItem : replies) { IEntityLocator entityLocator; try { entityLocator = getEntityLocator(chatGptGetContextItem, config, change, gitRepoFiles);