You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2025/09/16 19:03:02 UTC

(camel) 02/04: CAMEL-22334 More moves of nested Headers classes to their own Headers class

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 e6ccdd6122774229f2e283129e06dc565945f461
Author: Tom Cunningham <tc...@redhat.com>
AuthorDate: Mon Sep 15 11:35:49 2025 -0400

    CAMEL-22334 More moves of nested Headers classes to their own Headers class
---
 .../apache/camel/catalog/components/langchain4j-chat.json   |  4 ++--
 .../camel/component/langchain4j/chat/langchain4j-chat.json  |  4 ++--
 .../camel/component/langchain4j/chat/LangChain4jChat.java   | 10 ----------
 .../component/langchain4j/chat/LangChain4jChatEndpoint.java |  2 +-
 .../component/langchain4j/chat/LangChain4jChatHeaders.java} | 13 +++++++------
 .../component/langchain4j/chat/LangChain4jChatProducer.java |  6 +++---
 .../chat/rag/LangChain4jRagAggregatorStrategy.java          |  2 +-
 .../camel/component/langchain4j/chat/LangChain4jChatIT.java |  4 ++--
 .../langchain4j/chat/LangChain4jRagAggregatorTest.java      |  2 +-
 .../web/search/LangChain4jWebSearchEndpoint.java            |  2 +-
 .../langchain4j/web/search/LangChain4jWebSearchEngine.java  |  5 -----
 11 files changed, 20 insertions(+), 34 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-chat.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-chat.json
index 84d8b04bd29..e2e9b8256d9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-chat.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-chat.json
@@ -32,8 +32,8 @@
     "chatModel": { "index": 5, "kind": "property", "displayName": "Chat Model", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "dev.langchain4j.model.chat.ChatModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.chat.LangChain4jChatConfiguration", "configurationField": "configuration", "description": "Chat Model of type dev.langchain4j.model.chat.Ch [...]
   },
   "headers": {
-    "CamelLangChain4jChatPromptTemplate": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt Template.", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChat$Headers#PROMPT_TEMPLATE" },
-    "CamelLangChain4jChatAugmentedData": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Augmented Data for RAG", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChat$Headers#AUGMENTED_DATA" }
+    "CamelLangChain4jChatPromptTemplate": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt Template.", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders#PROMPT_TEMPLATE" },
+    "CamelLangChain4jChatAugmentedData": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Augmented Data for RAG", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders#AUGMENTED_DATA" }
   },
   "properties": {
     "chatId": { "index": 0, "kind": "path", "displayName": "Chat Id", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id" },
diff --git a/components/camel-ai/camel-langchain4j-chat/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/chat/langchain4j-chat.json b/components/camel-ai/camel-langchain4j-chat/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/chat/langchain4j-chat.json
index 84d8b04bd29..e2e9b8256d9 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/chat/langchain4j-chat.json
+++ b/components/camel-ai/camel-langchain4j-chat/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/chat/langchain4j-chat.json
@@ -32,8 +32,8 @@
     "chatModel": { "index": 5, "kind": "property", "displayName": "Chat Model", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "dev.langchain4j.model.chat.ChatModel", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.langchain4j.chat.LangChain4jChatConfiguration", "configurationField": "configuration", "description": "Chat Model of type dev.langchain4j.model.chat.Ch [...]
   },
   "headers": {
-    "CamelLangChain4jChatPromptTemplate": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt Template.", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChat$Headers#PROMPT_TEMPLATE" },
-    "CamelLangChain4jChatAugmentedData": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Augmented Data for RAG", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChat$Headers#AUGMENTED_DATA" }
+    "CamelLangChain4jChatPromptTemplate": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The prompt Template.", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders#PROMPT_TEMPLATE" },
+    "CamelLangChain4jChatAugmentedData": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Augmented Data for RAG", "constantName": "org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders#AUGMENTED_DATA" }
   },
   "properties": {
     "chatId": { "index": 0, "kind": "path", "displayName": "Chat Id", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id" },
diff --git a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChat.java b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChat.java
index f08a08d2e76..c4eb4dfa3b9 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChat.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChat.java
@@ -16,20 +16,10 @@
  */
 package org.apache.camel.component.langchain4j.chat;
 
-import org.apache.camel.spi.Metadata;
-
 public class LangChain4jChat {
 
     public static final String SCHEME = "langchain4j-chat";
 
     private LangChain4jChat() {
     }
-
-    public static class Headers {
-        @Metadata(description = "The prompt Template.", javaType = "String")
-        public static final String PROMPT_TEMPLATE = "CamelLangChain4jChatPromptTemplate";
-
-        @Metadata(description = "Augmented Data for RAG", javaType = "String")
-        public static final String AUGMENTED_DATA = "CamelLangChain4jChatAugmentedData";
-    }
 }
diff --git a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatEndpoint.java b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatEndpoint.java
index 06b710884ad..11f59ca4533 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatEndpoint.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatEndpoint.java
@@ -31,7 +31,7 @@ import static org.apache.camel.component.langchain4j.chat.LangChain4jChat.SCHEME
 @UriEndpoint(firstVersion = "4.5.0", scheme = SCHEME,
              title = "LangChain4j Chat",
              syntax = "langchain4j-chat:chatId",
-             category = { Category.AI }, headersClass = LangChain4jChat.Headers.class)
+             category = { Category.AI }, headersClass = LangChain4jChatHeaders.class)
 public class LangChain4jChatEndpoint extends DefaultEndpoint {
 
     @Metadata(required = true)
diff --git a/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatHeaders.java
similarity index 64%
copy from components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java
copy to components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatHeaders.java
index a731fd8d74a..18082bc4ceb 100644
--- a/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatHeaders.java
@@ -14,13 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.langchain4j.web.search;
+package org.apache.camel.component.langchain4j.chat;
 
-public class LangChain4jWebSearchEngine {
-    public static final String SCHEME = "langchain4j-web-search";
+import org.apache.camel.spi.Metadata;
 
-    public static class Headers {
-
-    }
+public class LangChain4jChatHeaders {
+    @Metadata(description = "The prompt Template.", javaType = "String")
+    public static final String PROMPT_TEMPLATE = "CamelLangChain4jChatPromptTemplate";
 
+    @Metadata(description = "Augmented Data for RAG", javaType = "String")
+    public static final String AUGMENTED_DATA = "CamelLangChain4jChatAugmentedData";
 }
diff --git a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatProducer.java b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatProducer.java
index 171d8874ad3..3b9b30abeb8 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatProducer.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatProducer.java
@@ -35,7 +35,7 @@ import org.apache.camel.NoSuchHeaderException;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.util.ObjectHelper;
 
-import static org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers.AUGMENTED_DATA;
+import static org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders.AUGMENTED_DATA;
 
 public class LangChain4jChatProducer extends DefaultProducer {
 
@@ -66,10 +66,10 @@ public class LangChain4jChatProducer extends DefaultProducer {
 
     @SuppressWarnings("unchecked")
     private void processSingleMessageWithPrompt(Exchange exchange) throws NoSuchHeaderException, InvalidPayloadException {
-        final String promptTemplate = exchange.getIn().getHeader(LangChain4jChat.Headers.PROMPT_TEMPLATE, String.class);
+        final String promptTemplate = exchange.getIn().getHeader(LangChain4jChatHeaders.PROMPT_TEMPLATE, String.class);
         if (promptTemplate == null) {
             throw new NoSuchHeaderException(
-                    "The promptTemplate is a required header", exchange, LangChain4jChat.Headers.PROMPT_TEMPLATE);
+                    "The promptTemplate is a required header", exchange, LangChain4jChatHeaders.PROMPT_TEMPLATE);
         }
 
         Map<String, Object> variables = (Map<String, Object>) exchange.getIn().getMandatoryBody(Map.class);
diff --git a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/rag/LangChain4jRagAggregatorStrategy.java b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/rag/LangChain4jRagAggregatorStrategy.java
index f9d77d45aa0..b64fd02d623 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/rag/LangChain4jRagAggregatorStrategy.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/main/java/org/apache/camel/component/langchain4j/chat/rag/LangChain4jRagAggregatorStrategy.java
@@ -26,7 +26,7 @@ import dev.langchain4j.rag.content.DefaultContent;
 import org.apache.camel.AggregationStrategy;
 import org.apache.camel.Exchange;
 
-import static org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers.AUGMENTED_DATA;
+import static org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders.AUGMENTED_DATA;
 
 public class LangChain4jRagAggregatorStrategy implements AggregationStrategy {
     @Override
diff --git a/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatIT.java b/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatIT.java
index 0ef288196c4..487519d3c1b 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatIT.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jChatIT.java
@@ -37,8 +37,8 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Timeout;
 import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 
-import static org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers.AUGMENTED_DATA;
-import static org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers.PROMPT_TEMPLATE;
+import static org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders.AUGMENTED_DATA;
+import static org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders.PROMPT_TEMPLATE;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
diff --git a/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jRagAggregatorTest.java b/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jRagAggregatorTest.java
index efddb3f5443..606e08800ae 100644
--- a/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jRagAggregatorTest.java
+++ b/components/camel-ai/camel-langchain4j-chat/src/test/java/org/apache/camel/component/langchain4j/chat/LangChain4jRagAggregatorTest.java
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers.AUGMENTED_DATA;
+import static org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders.AUGMENTED_DATA;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
diff --git a/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEndpoint.java b/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEndpoint.java
index ea3e75441a6..0a905e43303 100644
--- a/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEndpoint.java
+++ b/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.support.DefaultEndpoint;
 @UriEndpoint(firstVersion = "4.8.0", scheme = LangChain4jWebSearchEngine.SCHEME, title = "LangChain4j Web Search",
              syntax = "langchain4j-web-search:searchId", producerOnly = true, category = {
                      Category.AI
-             }, headersClass = LangChain4jWebSearchEngine.Headers.class)
+             })
 public class LangChain4jWebSearchEndpoint extends DefaultEndpoint {
 
     @Metadata(required = true)
diff --git a/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java b/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java
index a731fd8d74a..dfac9354be0 100644
--- a/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java
+++ b/components/camel-ai/camel-langchain4j-web-search/src/main/java/org/apache/camel/component/langchain4j/web/search/LangChain4jWebSearchEngine.java
@@ -18,9 +18,4 @@ package org.apache.camel.component.langchain4j.web.search;
 
 public class LangChain4jWebSearchEngine {
     public static final String SCHEME = "langchain4j-web-search";
-
-    public static class Headers {
-
-    }
-
 }