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/03/21 14:42:32 UTC
[camel] 05/13: CAMEL-17792: Add doc about the message headers of camel-exec
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 8e31169875b8172267760489f3472892cce99727
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Mon Mar 21 12:31:17 2022 +0100
CAMEL-17792: Add doc about the message headers of camel-exec
---
.../org/apache/camel/component/exec/exec.json | 11 +++++
.../camel-exec/src/main/docs/exec-component.adoc | 48 ++--------------------
.../apache/camel/component/exec/ExecBinding.java | 37 +++++++++++++++--
.../apache/camel/component/exec/ExecEndpoint.java | 2 +-
4 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/components/camel-exec/src/generated/resources/org/apache/camel/component/exec/exec.json b/components/camel-exec/src/generated/resources/org/apache/camel/component/exec/exec.json
index 4a61929..34c87d3 100644
--- a/components/camel-exec/src/generated/resources/org/apache/camel/component/exec/exec.json
+++ b/components/camel-exec/src/generated/resources/org/apache/camel/component/exec/exec.json
@@ -25,6 +25,17 @@
"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": {
+ "CamelExecCommandExecutable": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the system command that will be executed. Overrides\n`executable` in the URI." },
+ "CamelExecCommandArgs": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "java.util.List<String> or String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Command-line argument(s) to pass to the executed process. The argument(s)\nis\/are used literally - no quoting is applied. Overrides any existing\n`args` in the URI." },
+ "CamelExecCommandOutFile": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of a file, created by the executable, that should be considered\nas its output. Overrides any existing `outFile` in the URI." },
+ "CamelExecCommandWorkingDir": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The directory in which the command should be executed. Overrides any\nexisting `workingDir` in the URI." },
+ "CamelExecCommandTimeout": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The timeout, in milliseconds, after which the executable should be\nterminated. Overrides any existing `timeout` in the URI." },
+ "CamelExecStderr": { "kind": "header", "displayName": "", "group": "out", "label": "out", "required": false, "javaType": "java.io.InputStream", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The value of this header points to the standard error stream (stderr) of\nthe executable. If no stderr is written, the value is `null`." },
+ "CamelExecExitValue": { "kind": "header", "displayName": "", "group": "out", "label": "out", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The value of this header is the _exit value_ of the executable. Non-zero\nexit values typically indicate abnormal termination. Note that the exit\nvalue is OS-dependent." },
+ "CamelExecUseStderrOnEmptyStdout": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Indicates that when `stdout` is empty, this component will populate the\nCamel Message Body with `stderr`. This behavior is disabled (`false`) by\ndefault." },
+ "CamelExecCommandLogLevel": { "kind": "header", "displayName": "", "group": "in", "label": "in", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Logging level to be used for commands during execution. The default value is DEBUG.\nPossible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF (Values of LoggingLevel enum)" }
+ },
"properties": {
"executable": { "kind": "path", "displayName": "Executable", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Sets the executable to be executed. The executable must not be empty or null." },
"args": { "kind": "parameter", "displayName": "Args", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The arguments may be one or many whitespace-separated tokens." },
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index 5f71568..4d37d53 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -53,51 +53,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
-
-== Message headers
-
-The supported headers are defined in
-`org.apache.camel.component.exec.ExecBinding`.
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Name |Type |Message |Description
-
-|`ExecBinding.EXEC_COMMAND_EXECUTABLE` |`String` |`in` |The name of the system command that will be executed. Overrides
-`executable` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_ARGS` |`java.util.List<String>` |`in` |Command-line arguments to pass to the executed process. The arguments
-are used literally - no quoting is applied. Overrides any existing
-`args` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_ARGS` |`String`| `in` |The arguments of the executable as a Single string where
-each argument is whitespace separated (see `args` in URI option). The
-arguments are used literally, no quoting is applied. Overrides any
-existing `args` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_OUT_FILE` |`String` |`in` |The name of a file, created by the executable, that should be considered
-as its output. Overrides any existing `outFile` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_TIMEOUT` |`long` |`in` |The timeout, in milliseconds, after which the executable should be
-terminated. Overrides any existing `timeout` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_WORKING_DIR` |`String` |`in` |The directory in which the command should be executed. Overrides any
-existing `workingDir` in the URI.
-
-|`ExecBinding.EXEC_EXIT_VALUE` |`int` |`out` |The value of this header is the _exit value_ of the executable. Non-zero
-exit values typically indicate abnormal termination. Note that the exit
-value is OS-dependent.
-
-|`ExecBinding.EXEC_STDERR` |`java.io.InputStream` |`out` |The value of this header points to the standard error stream (stderr) of
-the executable. If no stderr is written, the value is `null`.
-
-|`ExecBinding.EXEC_USE_STDERR_ON_EMPTY_STDOUT` |`boolean` |`in` |Indicates that when `stdout` is empty, this component will populate the
-Camel Message Body with `stderr`. This behavior is disabled (`false`) by
-default.
-
-|`ExecBinding.EXEC_COMMANDS_LOG_LEVEL` |`String` |`in` |Logging level to be used for commands during execution. The default value is DEBUG.
-Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF (Values of LoggingLevel enum)
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Message body
diff --git a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecBinding.java b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecBinding.java
index 51210a7..dfcee03 100644
--- a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecBinding.java
+++ b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecBinding.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.exec;
import java.io.InputStream;
import org.apache.camel.Exchange;
+import org.apache.camel.spi.Metadata;
/**
* Represents the binding of input and output types of a {@link ExecCommandExecutor} to an {@link Exchange}. The input
@@ -33,14 +34,21 @@ public interface ExecBinding {
* e.g. in the URI <i> <code>exec:C:/Program Files/jdk/java.exe</code> </i>, <code>C:/Program
* Files/jdk/java.exe<code> is the executable.
*/
+ @Metadata(label = "in", description = "The name of the system command that will be executed. Overrides\n" +
+ "`executable` in the URI.",
+ javaType = "String")
String EXEC_COMMAND_EXECUTABLE = "CamelExecCommandExecutable";
/**
* The header value overrides the existing command arguments in the {@link ExecEndpoint} URI. The arguments may be a
* <code>List<String></code>. In this case no parsing of the arguments is necessary.
*
- * @see {@link #EXEC_COMMAND_EXECUTABLE}
+ * @see #EXEC_COMMAND_EXECUTABLE
*/
+ @Metadata(label = "in", description = "Command-line argument(s) to pass to the executed process. The argument(s)\n" +
+ "is/are used literally - no quoting is applied. Overrides any existing\n" +
+ "`args` in the URI.",
+ javaType = "java.util.List<String> or String")
String EXEC_COMMAND_ARGS = "CamelExecCommandArgs";
/**
@@ -49,6 +57,9 @@ public interface ExecBinding {
*
* @see ExecResultConverter#toInputStream(ExecResult)
*/
+ @Metadata(label = "in", description = "The name of a file, created by the executable, that should be considered\n" +
+ "as its output. Overrides any existing `outFile` in the URI.",
+ javaType = "String")
String EXEC_COMMAND_OUT_FILE = "CamelExecCommandOutFile";
/**
@@ -56,17 +67,26 @@ public interface ExecBinding {
* command in the endpoint URI. If this is not configured, the working directory of the current process will be
* used.
*/
+ @Metadata(label = "in", description = "The directory in which the command should be executed. Overrides any\n" +
+ "existing `workingDir` in the URI.",
+ javaType = "String")
String EXEC_COMMAND_WORKING_DIR = "CamelExecCommandWorkingDir";
/**
* Specifies the amount of time, in milliseconds, after which the process of the executable should be terminated.
* The default value is {@link Long#MAX_VALUE}.
*/
+ @Metadata(label = "in", description = "The timeout, in milliseconds, after which the executable should be\n" +
+ "terminated. Overrides any existing `timeout` in the URI.",
+ javaType = "long")
String EXEC_COMMAND_TIMEOUT = "CamelExecCommandTimeout";
/**
* The value of this header is a {@link InputStream} with the standard error stream of the executable.
*/
+ @Metadata(label = "out", description = "The value of this header points to the standard error stream (stderr) of\n" +
+ "the executable. If no stderr is written, the value is `null`.",
+ javaType = "java.io.InputStream")
String EXEC_STDERR = "CamelExecStderr";
/**
@@ -74,18 +94,29 @@ public interface ExecBinding {
* exit value indicates abnormal termination. <br>
* <b>Note that the exit value is OS dependent.</b>
*/
+ @Metadata(label = "out", description = "The value of this header is the _exit value_ of the executable. Non-zero\n" +
+ "exit values typically indicate abnormal termination. Note that the exit\n" +
+ "value is OS-dependent.",
+ javaType = "int")
String EXEC_EXIT_VALUE = "CamelExecExitValue";
/**
- * The value of this header is a boolean which indicates whether or not to fallback and use stderr when stdout is
- * empty.
+ * The value of this header is a boolean which indicates whether to fallback and use stderr when stdout is empty.
*/
+ @Metadata(label = "in", description = "Indicates that when `stdout` is empty, this component will populate the\n" +
+ "Camel Message Body with `stderr`. This behavior is disabled (`false`) by\n" +
+ "default.",
+ javaType = "boolean")
String EXEC_USE_STDERR_ON_EMPTY_STDOUT = "CamelExecUseStderrOnEmptyStdout";
/**
* The value of this header define logging level to be used for commands during execution. The default value is
* INFO. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values of LoggingLevel enum)
*/
+ @Metadata(label = "in",
+ description = "Logging level to be used for commands during execution. The default value is DEBUG.\n" +
+ "Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF (Values of LoggingLevel enum)",
+ javaType = "String")
String EXEC_COMMAND_LOG_LEVEL = "CamelExecCommandLogLevel";
/**
diff --git a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
index d73bed7..5a54d77 100644
--- a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
+++ b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.StringHelper;
* Execute commands on the underlying operating system.
*/
@UriEndpoint(firstVersion = "2.3.0", scheme = "exec", title = "Exec", syntax = "exec:executable", producerOnly = true,
- category = { Category.SYSTEM })
+ category = { Category.SYSTEM }, headersClass = ExecBinding.class)
public class ExecEndpoint extends DefaultEndpoint {
/**