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


The following commit(s) were added to refs/heads/main by this push:
     new 4e6c2f0ff92 CAMEL-22334: avoid deep nested headers for 
camel-langchain4j-agent
4e6c2f0ff92 is described below

commit 4e6c2f0ff9214213d42fa05f8cb3de435c7f74c3
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Mon Aug 11 12:55:13 2025 +0200

    CAMEL-22334: avoid deep nested headers for camel-langchain4j-agent
---
 .../camel/catalog/components/langchain4j-agent.json |  4 ++--
 .../langchain4j/agent/langchain4j-agent.json        |  4 ++--
 .../agent/{LangChain4jAgent.java => Headers.java}   | 21 +++++++++------------
 .../langchain4j/agent/LangChain4jAgent.java         |  9 ---------
 .../langchain4j/agent/LangChain4jAgentEndpoint.java |  2 +-
 .../langchain4j/agent/LangChain4jAgentProducer.java |  4 ++--
 .../integration/LangChain4jAgentNaiveRagIT.java     |  2 +-
 .../integration/LangChain4jAgentWithMemoryIT.java   |  4 ++--
 .../agent/integration/LangChain4jSimpleAgentIT.java |  2 +-
 9 files changed, 20 insertions(+), 32 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-agent.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-agent.json
index 2ead8d34a7b..8e82b860edf 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-agent.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/langchain4j-agent.json
@@ -32,8 +32,8 @@
     "autowiredEnabled": { "index": 5, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
   },
   "headers": {
-    "CamelLangChain4jAgentSystemMessage": { "index": 0, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The system prompt.", "constantName": 
"org.apache.camel.component.langchain4j.agent.LangChain4jAgent$Headers#SYSTEM_MESSAGE"
 },
-    "CamelLangChain4jAgentMemoryId": { "index": 1, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Memory ID.", "constantName": 
"org.apache.camel.component.langchain4j.agent.LangChain4jAgent$Headers#MEMORY_ID"
 }
+    "CamelLangChain4jAgentSystemMessage": { "index": 0, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The system prompt.", "constantName": 
"org.apache.camel.component.langchain4j.agent.Headers#SYSTEM_MESSAGE" },
+    "CamelLangChain4jAgentMemoryId": { "index": 1, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Memory ID.", "constantName": 
"org.apache.camel.component.langchain4j.agent.Headers#MEMORY_ID" }
   },
   "properties": {
     "agentId": { "index": 0, "kind": "path", "displayName": "Agent Id", 
"group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Agent id" },
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/agent/langchain4j-agent.json
 
b/components/camel-ai/camel-langchain4j-agent/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/agent/langchain4j-agent.json
index 2ead8d34a7b..8e82b860edf 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/agent/langchain4j-agent.json
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/generated/resources/META-INF/org/apache/camel/component/langchain4j/agent/langchain4j-agent.json
@@ -32,8 +32,8 @@
     "autowiredEnabled": { "index": 5, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
   },
   "headers": {
-    "CamelLangChain4jAgentSystemMessage": { "index": 0, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The system prompt.", "constantName": 
"org.apache.camel.component.langchain4j.agent.LangChain4jAgent$Headers#SYSTEM_MESSAGE"
 },
-    "CamelLangChain4jAgentMemoryId": { "index": 1, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Memory ID.", "constantName": 
"org.apache.camel.component.langchain4j.agent.LangChain4jAgent$Headers#MEMORY_ID"
 }
+    "CamelLangChain4jAgentSystemMessage": { "index": 0, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The system prompt.", "constantName": 
"org.apache.camel.component.langchain4j.agent.Headers#SYSTEM_MESSAGE" },
+    "CamelLangChain4jAgentMemoryId": { "index": 1, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Memory ID.", "constantName": 
"org.apache.camel.component.langchain4j.agent.Headers#MEMORY_ID" }
   },
   "properties": {
     "agentId": { "index": 0, "kind": "path", "displayName": "Agent Id", 
"group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Agent id" },
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/Headers.java
similarity index 65%
copy from 
components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
copy to 
components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/Headers.java
index cde74b506c5..dec5e0d5d0a 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/Headers.java
@@ -14,21 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.camel.component.langchain4j.agent;
 
 import org.apache.camel.spi.Metadata;
 
-public class LangChain4jAgent {
-    public static final String SCHEME = "langchain4j-agent";
-
-    private LangChain4jAgent() {
-    }
-
-    public static class Headers {
-        @Metadata(description = "The system prompt.", javaType = "String")
-        public static final String SYSTEM_MESSAGE = 
"CamelLangChain4jAgentSystemMessage";
+/**
+ * Headers that the agent component may rely on
+ */
+public class Headers {
+    @Metadata(description = "The system prompt.", javaType = "String")
+    public static final String SYSTEM_MESSAGE = 
"CamelLangChain4jAgentSystemMessage";
 
-        @Metadata(description = "Memory ID.", javaType = "Object")
-        public static final String MEMORY_ID = "CamelLangChain4jAgentMemoryId";
-    }
+    @Metadata(description = "Memory ID.", javaType = "Object")
+    public static final String MEMORY_ID = "CamelLangChain4jAgentMemoryId";
 }
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
index cde74b506c5..be9efdd8211 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgent.java
@@ -16,19 +16,10 @@
  */
 package org.apache.camel.component.langchain4j.agent;
 
-import org.apache.camel.spi.Metadata;
-
 public class LangChain4jAgent {
     public static final String SCHEME = "langchain4j-agent";
 
     private LangChain4jAgent() {
     }
 
-    public static class Headers {
-        @Metadata(description = "The system prompt.", javaType = "String")
-        public static final String SYSTEM_MESSAGE = 
"CamelLangChain4jAgentSystemMessage";
-
-        @Metadata(description = "Memory ID.", javaType = "Object")
-        public static final String MEMORY_ID = "CamelLangChain4jAgentMemoryId";
-    }
 }
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentEndpoint.java
 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentEndpoint.java
index 6b0a188140e..9aa3d1c8fa5 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentEndpoint.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentEndpoint.java
@@ -33,7 +33,7 @@ import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.SCHE
              title = "LangChain4j Agent",
              syntax = "langchain4j-agent:agentId",
              producerOnly = true,
-             category = { Category.AI }, headersClass = 
LangChain4jAgent.Headers.class)
+             category = { Category.AI }, headersClass = Headers.class)
 public class LangChain4jAgentEndpoint extends DefaultEndpoint {
     @Metadata(required = true)
     @UriPath(description = "The Agent id")
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentProducer.java
 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentProducer.java
index 3219437921a..40d4d3a84d9 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentProducer.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/main/java/org/apache/camel/component/langchain4j/agent/LangChain4jAgentProducer.java
@@ -38,8 +38,8 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.Headers.MEMORY_ID;
-import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.Headers.SYSTEM_MESSAGE;
+import static org.apache.camel.component.langchain4j.agent.Headers.MEMORY_ID;
+import static 
org.apache.camel.component.langchain4j.agent.Headers.SYSTEM_MESSAGE;
 
 public class LangChain4jAgentProducer extends DefaultProducer {
     private static final Logger LOG = 
LoggerFactory.getLogger(LangChain4jAgentProducer.class);
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentNaiveRagIT.java
 
b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentNaiveRagIT.java
index 74b4645b400..7f1116e6d05 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentNaiveRagIT.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentNaiveRagIT.java
@@ -26,7 +26,7 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIf;
 
-import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.Headers.SYSTEM_MESSAGE;
+import static 
org.apache.camel.component.langchain4j.agent.Headers.SYSTEM_MESSAGE;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentWithMemoryIT.java
 
b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentWithMemoryIT.java
index 09a0c80c404..e65cd370fe3 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentWithMemoryIT.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentWithMemoryIT.java
@@ -33,8 +33,8 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIf;
 
-import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.Headers.MEMORY_ID;
-import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.Headers.SYSTEM_MESSAGE;
+import static org.apache.camel.component.langchain4j.agent.Headers.MEMORY_ID;
+import static 
org.apache.camel.component.langchain4j.agent.Headers.SYSTEM_MESSAGE;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
diff --git 
a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jSimpleAgentIT.java
 
b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jSimpleAgentIT.java
index 30ddd109189..b80c9b8b384 100644
--- 
a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jSimpleAgentIT.java
+++ 
b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jSimpleAgentIT.java
@@ -29,7 +29,7 @@ import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.EnabledIf;
 
-import static 
org.apache.camel.component.langchain4j.agent.LangChain4jAgent.Headers.SYSTEM_MESSAGE;
+import static 
org.apache.camel.component.langchain4j.agent.Headers.SYSTEM_MESSAGE;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;

Reply via email to