You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/04/05 16:14:50 UTC

[camel] 03/20: CAMEL-17792: Add doc about the message headers of camel-sap-netweaver

This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers
in repository https://gitbox.apache.org/repos/asf/camel.git

commit cee98c345315efb5f802c80011597d39b0145226
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Tue Apr 5 10:23:41 2022 +0200

    CAMEL-17792: Add doc about the message headers of camel-sap-netweaver
---
 .../camel/component/sap/netweaver/sap-netweaver.json     |  5 +++++
 .../src/main/docs/sap-netweaver-component.adoc           | 16 +++-------------
 .../component/sap/netweaver/NetWeaverConstants.java      | 11 +++++++++++
 .../camel/component/sap/netweaver/NetWeaverEndpoint.java |  3 ++-
 .../camel/component/sap/netweaver/NetWeaverProducer.java |  4 ++--
 5 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/components/camel-sap-netweaver/src/generated/resources/org/apache/camel/component/sap/netweaver/sap-netweaver.json b/components/camel-sap-netweaver/src/generated/resources/org/apache/camel/component/sap/netweaver/sap-netweaver.json
index dde775d3cab..f89a8ee31f6 100644
--- a/components/camel-sap-netweaver/src/generated/resources/org/apache/camel/component/sap/netweaver/sap-netweaver.json
+++ b/components/camel-sap-netweaver/src/generated/resources/org/apache/camel/component/sap/netweaver/sap-netweaver.json
@@ -25,6 +25,11 @@
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "autowiredEnabled": { "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 type, which t [...]
   },
+  "headers": {
+    "CamelNetWeaverCommand": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": true, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The command to execute in http:\/\/msdn.microsoft.com\/en-us\/library\/cc956153.aspxMS ADO.Net Data Service format." },
+    "CamelHttpPath": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The http path." },
+    "Accept": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The media type." }
+  },
   "properties": {
     "url": { "kind": "path", "displayName": "Url", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Url to the SAP net-weaver gateway server." },
     "flatternMap": { "kind": "parameter", "displayName": "Flattern Map", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If the JSON Map contains only a single entry, then flattern by storing that single entry value as the message body." },
diff --git a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
index e68a43ff2db..6a593599263 100644
--- a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
+++ b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
@@ -63,19 +63,9 @@ include::partial$component-endpoint-options.adoc[]
 
 // endpoint options: END
 
-
-== Message Headers
-
-The following headers can be used by the producer.
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelNetWeaverCommand` |`String` |*Mandatory*: The command to execute in
-http://msdn.microsoft.com/en-us/library/cc956153.aspx[MS ADO.Net Data
-Service] format.
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
 
 == Examples
 
diff --git a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverConstants.java b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverConstants.java
index 0f0b72c1513..ff8231888df 100644
--- a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverConstants.java
+++ b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverConstants.java
@@ -16,9 +16,20 @@
  */
 package org.apache.camel.component.sap.netweaver;
 
+import org.apache.camel.Exchange;
+import org.apache.camel.spi.Metadata;
+
 public final class NetWeaverConstants {
 
+    @Metadata(description = "The command to execute in\n" +
+                            "http://msdn.microsoft.com/en-us/library/cc956153.aspx[MS ADO.Net Data\n" +
+                            "Service] format.",
+              javaType = "String", required = true)
     public static final String COMMAND = "CamelNetWeaverCommand";
+    @Metadata(description = "The http path.", javaType = "String")
+    public static final String HTTP_PATH = Exchange.HTTP_PATH;
+    @Metadata(description = "The media type.", javaType = "String")
+    public static final String ACCEPT = "Accept";
 
     private NetWeaverConstants() {
     }
diff --git a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
index 51ddd692b96..2ddeca3abfd 100644
--- a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
+++ b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
@@ -31,7 +31,8 @@ import org.apache.camel.support.DefaultEndpoint;
  * Send requests to SAP NetWeaver Gateway using HTTP.
  */
 @UriEndpoint(firstVersion = "2.12.0", scheme = "sap-netweaver", title = "SAP NetWeaver", syntax = "sap-netweaver:url",
-             producerOnly = true, category = { Category.SAP, Category.CLOUD, Category.API })
+             producerOnly = true, category = { Category.SAP, Category.CLOUD, Category.API },
+             headersClass = NetWeaverConstants.class)
 public class NetWeaverEndpoint extends DefaultEndpoint {
 
     @UriPath
diff --git a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverProducer.java b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverProducer.java
index 83ba2200bf7..9ff7fa8cd3d 100644
--- a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverProducer.java
+++ b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverProducer.java
@@ -49,9 +49,9 @@ public class NetWeaverProducer extends DefaultProducer {
         String command = ExchangeHelper.getMandatoryHeader(exchange, NetWeaverConstants.COMMAND, String.class);
 
         Exchange httpExchange = getEndpoint().createExchange();
-        httpExchange.getIn().setHeader(Exchange.HTTP_PATH, command);
+        httpExchange.getIn().setHeader(NetWeaverConstants.HTTP_PATH, command);
         if (getEndpoint().isJson()) {
-            httpExchange.getIn().setHeader("Accept", "application/json");
+            httpExchange.getIn().setHeader(NetWeaverConstants.ACCEPT, "application/json");
         }
 
         LOG.debug("Calling SAP Net-Weaver {} with command {}", http, command);