This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6424bfbacaf9b7a8a2156ab9d3a2f5d04821f3ee Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Tue Jan 27 05:59:51 2026 +0000 (chores): modernize instanceof checks in camel-spring-ai-chat --- .../component/springai/chat/SpringAiChatProducer.java | 15 +++++++-------- .../springai/chat/rag/SpringAiRagAggregatorStrategy.java | 8 ++++---- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java b/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java index 3ff76ccef2fa..e39a23392827 100644 --- a/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java +++ b/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/SpringAiChatProducer.java @@ -154,21 +154,20 @@ public class SpringAiChatProducer extends DefaultProducer { } // Handle different body types - if (messageBody instanceof String) { - userMessageText = (String) messageBody; - } else if (messageBody instanceof UserMessage) { - UserMessage userMsg = (UserMessage) messageBody; + if (messageBody instanceof String stringBody) { + userMessageText = stringBody; + } else if (messageBody instanceof UserMessage userMsg) { userMessageText = userMsg.getText(); // If there's media, we need to handle it differently using additive builder if (!userMsg.getMedia().isEmpty()) { applyUserMessageWithMedia(request, exchange, userMsg.getText(), userMsg.getMedia()); userMessageText = null; // Already handled } - } else if (messageBody instanceof Message) { + } else if (messageBody instanceof Message message) { // Note: Using request.messages() here replaces the entire message list, // which will ignore any default system message configured in doStart() or via headers. // This is intentional for the CHAT_SINGLE_MESSAGE operation when a complete Message is provided. - request.messages((Message) messageBody); + request.messages(message); } else if (messageBody instanceof WrappedFile) { // Handle single WrappedFile for multimodal content WrappedFile<?> wrappedFile = (WrappedFile<?>) messageBody; @@ -189,9 +188,9 @@ public class SpringAiChatProducer extends DefaultProducer { "List body must contain WrappedFile objects. Got: " + (list.isEmpty() ? "empty list" : list.get(0).getClass().getName())); } - } else if (messageBody instanceof byte[]) { + } else if (messageBody instanceof byte[] bytes) { // Handle multimodal content (image or audio) - UserMessage multimodalMessage = createMultimodalMessage(exchange, (byte[]) messageBody); + UserMessage multimodalMessage = createMultimodalMessage(exchange, bytes); applyUserMessageWithMedia(request, exchange, multimodalMessage.getText(), multimodalMessage.getMedia()); } else { throw new IllegalArgumentException( diff --git a/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/rag/SpringAiRagAggregatorStrategy.java b/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/rag/SpringAiRagAggregatorStrategy.java index 0f6f05027841..eafd6b6044b2 100644 --- a/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/rag/SpringAiRagAggregatorStrategy.java +++ b/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/main/java/org/apache/camel/component/springai/chat/rag/SpringAiRagAggregatorStrategy.java @@ -68,10 +68,10 @@ public class SpringAiRagAggregatorStrategy implements AggregationStrategy { // Convert to Spring AI Documents List<Document> newDocuments = new ArrayList<>(); for (Object item : newAugmentedData.get()) { - if (item instanceof String) { - newDocuments.add(new Document((String) item)); - } else if (item instanceof Document) { - newDocuments.add((Document) item); + if (item instanceof String str) { + newDocuments.add(new Document(str)); + } else if (item instanceof Document document) { + newDocuments.add(document); } else { // Try to convert to string newDocuments.add(new Document(item.toString()));
