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

davsclaus 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 baf7b2aca30 CAMEL-21352 camel-smb should extend from camel-file to 
offer more features
baf7b2aca30 is described below

commit baf7b2aca3002559676062f35f41995184afe87f
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri Jan 3 19:53:03 2025 +0100

    CAMEL-21352 camel-smb should extend from camel-file to offer more features
---
 .../org/apache/camel/catalog/components/smb.json   |  16 +--
 .../org/apache/camel/component/smb/smb.json        |  16 +--
 .../camel/component/smb/SmbConfiguration.java      |  17 ++-
 .../endpoint/dsl/SmbEndpointBuilderFactory.java    | 132 +++++++--------------
 4 files changed, 72 insertions(+), 109 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smb.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smb.json
index 2269aaa35f7..71598867a4f 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smb.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smb.json
@@ -37,14 +37,14 @@
     "charset": { "index": 3, "kind": "parameter", "displayName": "Charset", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "This option is used to specify the encoding of 
the file. You can use this on the consumer, to specify the encodings of the 
files, which allow Camel to know the charset it should load the file content in 
case the file content is being accesse [...]
     "doneFileName": { "index": 4, "kind": "parameter", "displayName": "Done 
File Name", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Producer: If provided, then Camel will 
write a 2nd done file when the original file has been written. The done file 
will be empty. This option configures what file name to use. Either you can 
specify a fixed name. Or you can use  [...]
     "fileName": { "index": 5, "kind": "parameter", "displayName": "File Name", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Use Expression such as File Language to 
dynamically set the filename. For consumers, it's used as a filename filter. 
For producers, it's used to evaluate the filename to write. If an expression is 
set, it take precedence over the CamelFil [...]
-    "path": { "index": 6, "kind": "parameter", "displayName": "Path", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.smb.SmbConfiguration", 
"configurationField": "configuration", "description": "The path, within the 
share, to consume the files from" },
-    "searchPattern": { "index": 7, "kind": "parameter", "displayName": "Search 
Pattern", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "*", "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The search pattern used to list the files" },
-    "delete": { "index": 8, "kind": "parameter", "displayName": "Delete", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file will be deleted 
after it is processed successfully." },
-    "moveFailed": { "index": 9, "kind": "parameter", "displayName": "Move 
Failed", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the move failure expression based 
on Simple language. For example, to move files into a .error subdirectory use: 
.error. Note: When moving the files to the fail location Camel will handle the 
error and will not pick up  [...]
-    "noop": { "index": 10, "kind": "parameter", "displayName": "Noop", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file is not moved or 
deleted in any way. This option is good for readonly data, or for ETL type 
requirements. If noop=true, Camel will set idempotent=true as well, to avoid 
consuming the same files over and o [...]
-    "preMove": { "index": 11, "kind": "parameter", "displayName": "Pre Move", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Expression (such as File Language) used to 
dynamically set the filename when moving it before processing. For example to 
move in-progress files into the order directory set this value to order." },
-    "preSort": { "index": 12, "kind": "parameter", "displayName": "Pre Sort", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "When pre-sort is enabled then the 
consumer will sort the file and directory names during polling, that was 
retrieved from the file system. You may want to do this in case you need to 
operate on the files in a sorte [...]
-    "recursive": { "index": 13, "kind": "parameter", "displayName": 
"Recursive", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If a directory, 
will look for files in all the sub-directories as well." },
+    "delete": { "index": 6, "kind": "parameter", "displayName": "Delete", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file will be deleted 
after it is processed successfully." },
+    "moveFailed": { "index": 7, "kind": "parameter", "displayName": "Move 
Failed", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the move failure expression based 
on Simple language. For example, to move files into a .error subdirectory use: 
.error. Note: When moving the files to the fail location Camel will handle the 
error and will not pick up  [...]
+    "noop": { "index": 8, "kind": "parameter", "displayName": "Noop", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file is not moved or 
deleted in any way. This option is good for readonly data, or for ETL type 
requirements. If noop=true, Camel will set idempotent=true as well, to avoid 
consuming the same files over and ov [...]
+    "path": { "index": 9, "kind": "parameter", "displayName": "Path", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The path, within the share, to consume the 
files from" },
+    "preMove": { "index": 10, "kind": "parameter", "displayName": "Pre Move", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Expression (such as File Language) used to 
dynamically set the filename when moving it before processing. For example to 
move in-progress files into the order directory set this value to order." },
+    "preSort": { "index": 11, "kind": "parameter", "displayName": "Pre Sort", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "When pre-sort is enabled then the 
consumer will sort the file and directory names during polling, that was 
retrieved from the file system. You may want to do this in case you need to 
operate on the files in a sorte [...]
+    "recursive": { "index": 12, "kind": "parameter", "displayName": 
"Recursive", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If a directory, 
will look for files in all the sub-directories as well." },
+    "searchPattern": { "index": 13, "kind": "parameter", "displayName": 
"Search Pattern", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The search pattern used to list the files 
(server side on SMB). This parameter can contain the name of a  [...]
     "sendEmptyMessageWhenIdle": { "index": 14, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
     "bridgeErrorHandler": { "index": 15, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
     "exceptionHandler": { "index": 16, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
diff --git 
a/components/camel-smb/src/generated/resources/META-INF/org/apache/camel/component/smb/smb.json
 
b/components/camel-smb/src/generated/resources/META-INF/org/apache/camel/component/smb/smb.json
index 2269aaa35f7..71598867a4f 100644
--- 
a/components/camel-smb/src/generated/resources/META-INF/org/apache/camel/component/smb/smb.json
+++ 
b/components/camel-smb/src/generated/resources/META-INF/org/apache/camel/component/smb/smb.json
@@ -37,14 +37,14 @@
     "charset": { "index": 3, "kind": "parameter", "displayName": "Charset", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "This option is used to specify the encoding of 
the file. You can use this on the consumer, to specify the encodings of the 
files, which allow Camel to know the charset it should load the file content in 
case the file content is being accesse [...]
     "doneFileName": { "index": 4, "kind": "parameter", "displayName": "Done 
File Name", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Producer: If provided, then Camel will 
write a 2nd done file when the original file has been written. The done file 
will be empty. This option configures what file name to use. Either you can 
specify a fixed name. Or you can use  [...]
     "fileName": { "index": 5, "kind": "parameter", "displayName": "File Name", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Use Expression such as File Language to 
dynamically set the filename. For consumers, it's used as a filename filter. 
For producers, it's used to evaluate the filename to write. If an expression is 
set, it take precedence over the CamelFil [...]
-    "path": { "index": 6, "kind": "parameter", "displayName": "Path", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.smb.SmbConfiguration", 
"configurationField": "configuration", "description": "The path, within the 
share, to consume the files from" },
-    "searchPattern": { "index": 7, "kind": "parameter", "displayName": "Search 
Pattern", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "*", "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The search pattern used to list the files" },
-    "delete": { "index": 8, "kind": "parameter", "displayName": "Delete", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file will be deleted 
after it is processed successfully." },
-    "moveFailed": { "index": 9, "kind": "parameter", "displayName": "Move 
Failed", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the move failure expression based 
on Simple language. For example, to move files into a .error subdirectory use: 
.error. Note: When moving the files to the fail location Camel will handle the 
error and will not pick up  [...]
-    "noop": { "index": 10, "kind": "parameter", "displayName": "Noop", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file is not moved or 
deleted in any way. This option is good for readonly data, or for ETL type 
requirements. If noop=true, Camel will set idempotent=true as well, to avoid 
consuming the same files over and o [...]
-    "preMove": { "index": 11, "kind": "parameter", "displayName": "Pre Move", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Expression (such as File Language) used to 
dynamically set the filename when moving it before processing. For example to 
move in-progress files into the order directory set this value to order." },
-    "preSort": { "index": 12, "kind": "parameter", "displayName": "Pre Sort", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "When pre-sort is enabled then the 
consumer will sort the file and directory names during polling, that was 
retrieved from the file system. You may want to do this in case you need to 
operate on the files in a sorte [...]
-    "recursive": { "index": 13, "kind": "parameter", "displayName": 
"Recursive", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If a directory, 
will look for files in all the sub-directories as well." },
+    "delete": { "index": 6, "kind": "parameter", "displayName": "Delete", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file will be deleted 
after it is processed successfully." },
+    "moveFailed": { "index": 7, "kind": "parameter", "displayName": "Move 
Failed", "group": "consumer", "label": "consumer", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the move failure expression based 
on Simple language. For example, to move files into a .error subdirectory use: 
.error. Note: When moving the files to the fail location Camel will handle the 
error and will not pick up  [...]
+    "noop": { "index": 8, "kind": "parameter", "displayName": "Noop", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, the file is not moved or 
deleted in any way. This option is good for readonly data, or for ETL type 
requirements. If noop=true, Camel will set idempotent=true as well, to avoid 
consuming the same files over and ov [...]
+    "path": { "index": 9, "kind": "parameter", "displayName": "Path", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The path, within the share, to consume the 
files from" },
+    "preMove": { "index": 10, "kind": "parameter", "displayName": "Pre Move", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Expression (such as File Language) used to 
dynamically set the filename when moving it before processing. For example to 
move in-progress files into the order directory set this value to order." },
+    "preSort": { "index": 11, "kind": "parameter", "displayName": "Pre Sort", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "When pre-sort is enabled then the 
consumer will sort the file and directory names during polling, that was 
retrieved from the file system. You may want to do this in case you need to 
operate on the files in a sorte [...]
+    "recursive": { "index": 12, "kind": "parameter", "displayName": 
"Recursive", "group": "consumer", "label": "consumer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If a directory, 
will look for files in all the sub-directories as well." },
+    "searchPattern": { "index": 13, "kind": "parameter", "displayName": 
"Search Pattern", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.smb.SmbConfiguration", "configurationField": 
"configuration", "description": "The search pattern used to list the files 
(server side on SMB). This parameter can contain the name of a  [...]
     "sendEmptyMessageWhenIdle": { "index": 14, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
     "bridgeErrorHandler": { "index": 15, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming [...]
     "exceptionHandler": { "index": 16, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By de [...]
diff --git 
a/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConfiguration.java
 
b/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConfiguration.java
index f1cc5210291..ebd11793f8d 100644
--- 
a/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConfiguration.java
+++ 
b/components/camel-smb/src/main/java/org/apache/camel/component/smb/SmbConfiguration.java
@@ -32,11 +32,6 @@ public class SmbConfiguration extends 
GenericFileConfiguration {
     // component name is implied as the protocol
     private String protocol;
 
-    @UriParam(description = "The path, within the share, to consume the files 
from")
-    private String path;
-    @Metadata(defaultValue = "2048")
-    @UriParam(label = "producer", description = "Read buffer size when for 
file being produced", defaultValue = "2048")
-    private int readBufferSize;
     @UriPath
     @Metadata(required = true)
     private String hostname;
@@ -51,8 +46,18 @@ public class SmbConfiguration extends 
GenericFileConfiguration {
     private String password;
     @UriParam(label = "security", description = "The user domain")
     private String domain;
-    @UriParam(defaultValue = "*", description = "The search pattern used to 
list the files")
+    @UriParam(label = "consumer", description = "The path, within the share, 
to consume the files from")
+    private String path;
+    @UriParam(label = "consumer",
+              description = "The search pattern used to list the files (server 
side on SMB). This parameter can contain the name of a file (or multiple files, 
if wildcards are used) within this directory. When it is null all files are 
included."
+                            + " Two wild card characters are supported in the 
search pattern. The ? (question mark) character matches a single character. If 
a search pattern contains one or more ? characters, then exactly that number of 
characters is matched by the wildcards."
+                            + " For example, the criterion ??x matches abx but 
not abcx or ax, because the two file names do not have enough characters 
preceding the literal. When a file name criterion has ? characters trailing a 
literal, then the match is made with specified number of characters or less."
+                            + " For example, the criterion x?? matches xab, 
xa, and x, but not xabc. If only ? characters are present in the file name 
selection criterion, then the match is made as if the criterion contained ? 
characters trailing a literal."
+                            + " The * (asterisk) character matches an entire 
file name. A null or empty specification criterion also selects all file names. 
For example, *.abc or .abc match any file with an extension of abc. *.*, *, or 
empty string match all files in a directory.")
     private String searchPattern;
+    @Metadata(defaultValue = "2048")
+    @UriParam(label = "producer", description = "Read buffer size when for 
file being produced", defaultValue = "2048")
+    private int readBufferSize;
     @Metadata(autowired = true)
     @UriParam(label = "advanced",
               description = "An optional SMB client configuration, can be used 
to configure client specific "
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmbEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmbEndpointBuilderFactory.java
index 376a59887ca..2f41586e864 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmbEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmbEndpointBuilderFactory.java
@@ -118,35 +118,6 @@ public interface SmbEndpointBuilderFactory {
             doSetProperty("fileName", fileName);
             return this;
         }
-        /**
-         * The path, within the share, to consume the files from.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: common
-         * 
-         * @param path the value to set
-         * @return the dsl builder
-         */
-        default SmbEndpointConsumerBuilder path(String path) {
-            doSetProperty("path", path);
-            return this;
-        }
-        /**
-         * The search pattern used to list the files.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Default: *
-         * Group: common
-         * 
-         * @param searchPattern the value to set
-         * @return the dsl builder
-         */
-        default SmbEndpointConsumerBuilder searchPattern(String searchPattern) 
{
-            doSetProperty("searchPattern", searchPattern);
-            return this;
-        }
         /**
          * If true, the file will be deleted after it is processed 
successfully.
          * 
@@ -230,6 +201,20 @@ public interface SmbEndpointBuilderFactory {
             doSetProperty("noop", noop);
             return this;
         }
+        /**
+         * The path, within the share, to consume the files from.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         * 
+         * @param path the value to set
+         * @return the dsl builder
+         */
+        default SmbEndpointConsumerBuilder path(String path) {
+            doSetProperty("path", path);
+            return this;
+        }
         /**
          * Expression (such as File Language) used to dynamically set the
          * filename when moving it before processing. For example to move
@@ -318,6 +303,37 @@ public interface SmbEndpointBuilderFactory {
             doSetProperty("recursive", recursive);
             return this;
         }
+        /**
+         * The search pattern used to list the files (server side on SMB). This
+         * parameter can contain the name of a file (or multiple files, if
+         * wildcards are used) within this directory. When it is null all files
+         * are included. Two wild card characters are supported in the search
+         * pattern. The (question mark) character matches a single character. 
If
+         * a search pattern contains one or more characters, then exactly that
+         * number of characters is matched by the wildcards. For example, the
+         * criterion x matches abx but not abcx or ax, because the two file
+         * names do not have enough characters preceding the literal. When a
+         * file name criterion has characters trailing a literal, then the 
match
+         * is made with specified number of characters or less. For example, 
the
+         * criterion x matches xab, xa, and x, but not xabc. If only characters
+         * are present in the file name selection criterion, then the match is
+         * made as if the criterion contained characters trailing a literal. 
The
+         * (asterisk) character matches an entire file name. A null or empty
+         * specification criterion also selects all file names. For example,
+         * .abc or .abc match any file with an extension of abc. ., , or empty
+         * string match all files in a directory.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: consumer
+         * 
+         * @param searchPattern the value to set
+         * @return the dsl builder
+         */
+        default SmbEndpointConsumerBuilder searchPattern(String searchPattern) 
{
+            doSetProperty("searchPattern", searchPattern);
+            return this;
+        }
         /**
          * If the polling consumer did not poll any files, you can enable this
          * option to send an empty message (no body) instead.
@@ -2394,35 +2410,6 @@ public interface SmbEndpointBuilderFactory {
             doSetProperty("fileName", fileName);
             return this;
         }
-        /**
-         * The path, within the share, to consume the files from.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: common
-         * 
-         * @param path the value to set
-         * @return the dsl builder
-         */
-        default SmbEndpointProducerBuilder path(String path) {
-            doSetProperty("path", path);
-            return this;
-        }
-        /**
-         * The search pattern used to list the files.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Default: *
-         * Group: common
-         * 
-         * @param searchPattern the value to set
-         * @return the dsl builder
-         */
-        default SmbEndpointProducerBuilder searchPattern(String searchPattern) 
{
-            doSetProperty("searchPattern", searchPattern);
-            return this;
-        }
         /**
          * If provided, then Camel will write a checksum file when the original
          * file has been written. The checksum file will contain the checksum
@@ -3159,35 +3146,6 @@ public interface SmbEndpointBuilderFactory {
             doSetProperty("fileName", fileName);
             return this;
         }
-        /**
-         * The path, within the share, to consume the files from.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: common
-         * 
-         * @param path the value to set
-         * @return the dsl builder
-         */
-        default SmbEndpointBuilder path(String path) {
-            doSetProperty("path", path);
-            return this;
-        }
-        /**
-         * The search pattern used to list the files.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Default: *
-         * Group: common
-         * 
-         * @param searchPattern the value to set
-         * @return the dsl builder
-         */
-        default SmbEndpointBuilder searchPattern(String searchPattern) {
-            doSetProperty("searchPattern", searchPattern);
-            return this;
-        }
         /**
          * The user domain.
          * 

Reply via email to