Enhance logging in entity locator factory Enhanced logging to provide more detailed information when an entity locator is not found, specifically distinguishing cases where a class is missing due to unsupported parameter combinations from other exceptions. Change-Id: I1ba84c622719c9b87c7f82966be24c9942ef3f07 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/locator/CodeLocatorFactory.java b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/locator/CodeLocatorFactory.java index a4e40d2..de3b042 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/locator/CodeLocatorFactory.java +++ b/src/main/java/com/googlesource/gerrit/plugins/chatgpt/mode/stateful/client/code/context/ondemand/locator/CodeLocatorFactory.java
@@ -59,9 +59,11 @@ entityLocator = clazz .getDeclaredConstructor(Configuration.class, GerritChange.class, GitRepoFiles.class) .newInstance(config, change, gitRepoFiles); - } catch (ClassNotFoundException | InvocationTargetException | InstantiationException | IllegalAccessException | - NoSuchMethodException e) { - log.warn("Entity locator `{}` class not found for Get-Context Item: {}", className, chatGptGetContextItem); + } catch (ClassNotFoundException e) { + log.warn("Entity locator class not found for Get-Context Item: {}", chatGptGetContextItem); + throw new CodeContextOnDemandLocatorException(e); + } catch (InvocationTargetException | InstantiationException | IllegalAccessException | NoSuchMethodException e) { + log.error("Error instantiating class: {}", className, e); throw new CodeContextOnDemandLocatorException(e); } return entityLocator;