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

gnodet pushed a commit to branch camel-4.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.18.x by this push:
     new 51bb7b150986 [backport camel-4.18.x] CAMEL-25895: camel-openstack - 
align the remaining Swift header constants with the Camel naming convention 
(#28281)
51bb7b150986 is described below

commit 51bb7b1509863b21afce6aa89ee8be30a0441bb5
Author: Zineb BENDHIBA <[email protected]>
AuthorDate: Fri Oct 23 13:25:24 2026 +0200

    [backport camel-4.18.x] CAMEL-25895: camel-openstack - align the remaining 
Swift header constants with the Camel naming convention (#28281)
    
    CAMEL-25895: camel-openstack - align the remaining Swift header constants 
with the Camel naming convention
    
    CAMEL-23580 renamed the camel-openstack Exchange header constants to the
    CamelOpenstack* convention, but left four of them in SwiftConstants on their
    openstack4j values, on the understanding that those values are part of the
    Swift HTTP contract:
    
      CONTAINER_METADATA_PREFIX  X-Container-Meta-    -> 
CamelOpenstackSwiftContainerMetadata
      VERSIONS_LOCATION          X-Versions-Location  -> 
CamelOpenstackSwiftVersionsLocation
      CONTAINER_READ             X-Container-Read     -> 
CamelOpenstackSwiftContainerRead
      CONTAINER_WRITE            X-Container-Write    -> 
CamelOpenstackSwiftContainerWrite
    
    They are not. ContainerProducer passes the values to the openstack4j
    CreateUpdateContainerOptions, which builds the X-Container-Meta-,
    X-Versions-Location, X-Container-Read and X-Container-Write names of the 
Swift
    request itself, so the Exchange header key never reaches Swift and the 
request
    on the wire is unchanged by this rename. This commit therefore partly 
reverses
    the decision taken in CAMEL-23580, because the reason recorded for it does 
not
    hold.
    
    The Java field names are unchanged, so routes that reference the constants
    symbolically keep working. Routes that set one of these headers by its 
literal
    string value must move to the new value.
    
    ContainerProducerTest had no coverage of the container options path at all;
    six tests are added for it.
    
    Backport of #28231. The upgrade-guide note for this release line and the
    design/headers.adoc correction stay on main, where the project keeps the
    upgrade guides for every version.
    
    Signed-off-by: Zineb Bendhiba <[email protected]>
    Co-authored-by: Claude Opus 5 <[email protected]>
---
 .../camel/catalog/components/openstack-swift.json  |   8 +-
 .../component/openstack/swift/openstack-swift.json |   8 +-
 .../component/openstack/swift/SwiftConstants.java  |  16 +--
 .../openstack/swift/ContainerProducerTest.java     | 111 +++++++++++++++++++++
 .../endpoint/dsl/SwiftEndpointBuilderFactory.java  |  28 +++---
 5 files changed, 139 insertions(+), 32 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openstack-swift.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openstack-swift.json
index 97627e1b2a8c..cc83c306f1ec 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openstack-swift.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/openstack-swift.json
@@ -30,10 +30,10 @@
   "headers": {
     "CamelOpenstackSwiftContainerName": { "index": 0, "kind": "header", 
"displayName": "", "group": "object container", "label": "object container", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
container name.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_NAME" },
     "CamelOpenstackSwiftObjectName": { "index": 1, "kind": "header", 
"displayName": "", "group": "object", "label": "object", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The object name.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#OBJECT_NAME" },
-    "X-Container-Meta-": { "index": 2, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Container metadata prefix.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_METADATA_PREFIX"
 },
-    "X-Versions-Location": { "index": 3, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Versions location.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#VERSIONS_LOCATION" },
-    "X-Container-Read": { "index": 4, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "ACL - container read.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_READ" },
-    "X-Container-Write": { "index": 5, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "ACL - container write.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_WRITE" },
+    "CamelOpenstackSwiftContainerMetadata": { "index": 2, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "Map<String, String>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
container metadata.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_METADATA_PREFIX"
 },
+    "CamelOpenstackSwiftVersionsLocation": { "index": 3, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "Versions location.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#VERSIONS_LOCATION" },
+    "CamelOpenstackSwiftContainerRead": { "index": 4, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "ACL - container read.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_READ" },
+    "CamelOpenstackSwiftContainerWrite": { "index": 5, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "ACL - container write.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_WRITE" },
     "CamelOpenstackSwiftLimit": { "index": 6, "kind": "header", "displayName": 
"", "group": "container", "label": "container", "required": false, "javaType": 
"Integer", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "List options - limit.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#LIMIT" },
     "CamelOpenstackSwiftMarker": { "index": 7, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "List options - marker.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#MARKER" },
     "CamelOpenstackSwiftEndMarker": { "index": 8, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "List options - end 
marker.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#END_MARKER" },
diff --git 
a/components/camel-openstack/src/generated/resources/META-INF/org/apache/camel/component/openstack/swift/openstack-swift.json
 
b/components/camel-openstack/src/generated/resources/META-INF/org/apache/camel/component/openstack/swift/openstack-swift.json
index 97627e1b2a8c..cc83c306f1ec 100644
--- 
a/components/camel-openstack/src/generated/resources/META-INF/org/apache/camel/component/openstack/swift/openstack-swift.json
+++ 
b/components/camel-openstack/src/generated/resources/META-INF/org/apache/camel/component/openstack/swift/openstack-swift.json
@@ -30,10 +30,10 @@
   "headers": {
     "CamelOpenstackSwiftContainerName": { "index": 0, "kind": "header", 
"displayName": "", "group": "object container", "label": "object container", 
"required": false, "javaType": "String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
container name.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_NAME" },
     "CamelOpenstackSwiftObjectName": { "index": 1, "kind": "header", 
"displayName": "", "group": "object", "label": "object", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The object name.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#OBJECT_NAME" },
-    "X-Container-Meta-": { "index": 2, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Container metadata prefix.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_METADATA_PREFIX"
 },
-    "X-Versions-Location": { "index": 3, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Versions location.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#VERSIONS_LOCATION" },
-    "X-Container-Read": { "index": 4, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "ACL - container read.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_READ" },
-    "X-Container-Write": { "index": 5, "kind": "header", "displayName": "", 
"group": "container", "label": "container", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "ACL - container write.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_WRITE" },
+    "CamelOpenstackSwiftContainerMetadata": { "index": 2, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "Map<String, String>", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
container metadata.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_METADATA_PREFIX"
 },
+    "CamelOpenstackSwiftVersionsLocation": { "index": 3, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "Versions location.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#VERSIONS_LOCATION" },
+    "CamelOpenstackSwiftContainerRead": { "index": 4, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "ACL - container read.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_READ" },
+    "CamelOpenstackSwiftContainerWrite": { "index": 5, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "ACL - container write.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#CONTAINER_WRITE" },
     "CamelOpenstackSwiftLimit": { "index": 6, "kind": "header", "displayName": 
"", "group": "container", "label": "container", "required": false, "javaType": 
"Integer", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "List options - limit.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#LIMIT" },
     "CamelOpenstackSwiftMarker": { "index": 7, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "List options - marker.", 
"constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#MARKER" },
     "CamelOpenstackSwiftEndMarker": { "index": 8, "kind": "header", 
"displayName": "", "group": "container", "label": "container", "required": 
false, "javaType": "String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "List options - end 
marker.", "constantName": 
"org.apache.camel.component.openstack.swift.SwiftConstants#END_MARKER" },
diff --git 
a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftConstants.java
 
b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftConstants.java
index c532c4cada24..66946c1319a9 100644
--- 
a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftConstants.java
+++ 
b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftConstants.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.openstack.swift;
 
 import org.apache.camel.component.openstack.common.OpenstackConstants;
 import org.apache.camel.spi.Metadata;
-import org.openstack4j.model.storage.object.SwiftHeaders;
 
 public final class SwiftConstants extends OpenstackConstants {
 
@@ -30,19 +29,14 @@ public final class SwiftConstants extends 
OpenstackConstants {
     @Metadata(label = "object", description = "The object name.", javaType = 
"String")
     public static final String OBJECT_NAME = "CamelOpenstackSwiftObjectName";
 
-    // The following four constants intentionally keep the openstack4j-defined 
values
-    // (X-Container-Meta-, X-Versions-Location, X-Container-Read, 
X-Container-Write)
-    // because they are part of the Swift HTTP protocol contract used by 
openstack4j
-    // to forward metadata and ACL headers to the Swift backend. Renaming them 
would
-    // break interoperability with the Swift API.
-    @Metadata(label = "container", description = "Container metadata prefix.", 
javaType = "Map<String, String>")
-    public static final String CONTAINER_METADATA_PREFIX = 
SwiftHeaders.CONTAINER_METADATA_PREFIX;
+    @Metadata(label = "container", description = "The container metadata.", 
javaType = "Map<String, String>")
+    public static final String CONTAINER_METADATA_PREFIX = 
"CamelOpenstackSwiftContainerMetadata";
     @Metadata(label = "container", description = "Versions location.", 
javaType = "String")
-    public static final String VERSIONS_LOCATION = 
SwiftHeaders.VERSIONS_LOCATION;
+    public static final String VERSIONS_LOCATION = 
"CamelOpenstackSwiftVersionsLocation";
     @Metadata(label = "container", description = "ACL - container read.", 
javaType = "String")
-    public static final String CONTAINER_READ = SwiftHeaders.CONTAINER_READ;
+    public static final String CONTAINER_READ = 
"CamelOpenstackSwiftContainerRead";
     @Metadata(label = "container", description = "ACL - container write.", 
javaType = "String")
-    public static final String CONTAINER_WRITE = SwiftHeaders.CONTAINER_WRITE;
+    public static final String CONTAINER_WRITE = 
"CamelOpenstackSwiftContainerWrite";
 
     @Metadata(label = "container", description = "List options - limit.", 
javaType = "Integer")
     public static final String LIMIT = "CamelOpenstackSwiftLimit";
diff --git 
a/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/swift/ContainerProducerTest.java
 
b/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/swift/ContainerProducerTest.java
index 3554ff5ac6f6..fe684d7d75e2 100644
--- 
a/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/swift/ContainerProducerTest.java
+++ 
b/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/swift/ContainerProducerTest.java
@@ -37,6 +37,7 @@ import 
org.openstack4j.model.storage.object.options.ContainerListOptions;
 import 
org.openstack4j.model.storage.object.options.CreateUpdateContainerOptions;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
@@ -49,6 +50,19 @@ import static org.mockito.Mockito.when;
 public class ContainerProducerTest extends SwiftProducerTestSupport {
 
     private static final String CONTAINER_NAME = "containerName";
+    private static final String READ_ACCESS = "read-access-value";
+    private static final String WRITE_ACCESS = "write-access-value";
+    private static final String VERSIONS_CONTAINER = "versionsContainer";
+    private static final String BODY_READ_ACCESS = "body-read-access-value";
+
+    // openstack4j stores the CreateUpdateContainerOptions values under the 
Swift
+    // wire header names, independent of the Camel header constant values 
(which
+    // follow the CamelOpenstack* naming convention).
+    private static final String SWIFT_READ_OPTION = "X-Container-Read";
+    private static final String SWIFT_WRITE_OPTION = "X-Container-Write";
+    private static final String SWIFT_VERSIONS_OPTION = "X-Versions-Location";
+    // openstack4j lowercases the metadata keys it appends to this prefix.
+    private static final String SWIFT_METADATA_OPTION_PREFIX = 
"X-Container-Meta-";
 
     @Mock
     private SwiftContainer mockOsContainer;
@@ -182,4 +196,101 @@ public class ContainerProducerTest extends 
SwiftProducerTestSupport {
 
         assertEquals(md, msg.getBody(Map.class));
     }
+
+    @Test
+    public void containerCreateReadsAccessControlFromCamelNamespacedHeaders() 
throws Exception {
+        when(containerService.create(anyString(), 
any())).thenReturn(ActionResponse.actionSuccess());
+        msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.CREATE);
+        msg.setHeader(SwiftConstants.CONTAINER_NAME, CONTAINER_NAME);
+        msg.setHeader(SwiftConstants.CONTAINER_READ, READ_ACCESS);
+        msg.setHeader(SwiftConstants.CONTAINER_WRITE, WRITE_ACCESS);
+
+        producer.process(exchange);
+
+        verify(containerService).create(containerNameCaptor.capture(), 
optionsCaptor.capture());
+        assertEquals(CONTAINER_NAME, containerNameCaptor.getValue());
+        assertNotNull(optionsCaptor.getValue());
+        final Map<String, String> options = 
optionsCaptor.getValue().getOptions();
+        assertEquals(READ_ACCESS, options.get(SWIFT_READ_OPTION));
+        assertEquals(WRITE_ACCESS, options.get(SWIFT_WRITE_OPTION));
+    }
+
+    @Test
+    public void containerUpdateReadsAccessControlFromCamelNamespacedHeaders() 
throws Exception {
+        when(containerService.update(anyString(), 
any())).thenReturn(ActionResponse.actionSuccess());
+        msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.UPDATE);
+        msg.setHeader(SwiftConstants.CONTAINER_NAME, CONTAINER_NAME);
+        msg.setHeader(SwiftConstants.CONTAINER_READ, READ_ACCESS);
+        msg.setHeader(SwiftConstants.CONTAINER_WRITE, WRITE_ACCESS);
+
+        producer.process(exchange);
+
+        verify(containerService).update(containerNameCaptor.capture(), 
optionsCaptor.capture());
+        assertEquals(CONTAINER_NAME, containerNameCaptor.getValue());
+        assertNotNull(optionsCaptor.getValue());
+        final Map<String, String> options = 
optionsCaptor.getValue().getOptions();
+        assertEquals(READ_ACCESS, options.get(SWIFT_READ_OPTION));
+        assertEquals(WRITE_ACCESS, options.get(SWIFT_WRITE_OPTION));
+    }
+
+    @Test
+    public void 
containerUpdateReadsVersionsLocationAndMetadataFromCamelNamespacedHeaders() 
throws Exception {
+        final Map<String, String> md = new HashMap<>();
+        md.put("year", "2000");
+
+        when(containerService.update(anyString(), 
any())).thenReturn(ActionResponse.actionSuccess());
+        msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.UPDATE);
+        msg.setHeader(SwiftConstants.CONTAINER_NAME, CONTAINER_NAME);
+        msg.setHeader(SwiftConstants.VERSIONS_LOCATION, VERSIONS_CONTAINER);
+        msg.setHeader(SwiftConstants.CONTAINER_METADATA_PREFIX, md);
+
+        producer.process(exchange);
+
+        verify(containerService).update(containerNameCaptor.capture(), 
optionsCaptor.capture());
+        assertNotNull(optionsCaptor.getValue());
+        final Map<String, String> options = 
optionsCaptor.getValue().getOptions();
+        assertEquals(VERSIONS_CONTAINER, options.get(SWIFT_VERSIONS_OPTION));
+        assertEquals("2000", options.get(SWIFT_METADATA_OPTION_PREFIX + 
"year"));
+    }
+
+    @Test
+    public void containerUpdateIgnoresThePreviousSwiftHeaderNames() throws 
Exception {
+        when(containerService.update(anyString(), 
any())).thenReturn(ActionResponse.actionSuccess());
+        msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.UPDATE);
+        msg.setHeader(SwiftConstants.CONTAINER_NAME, CONTAINER_NAME);
+        msg.setHeader(SWIFT_READ_OPTION, READ_ACCESS);
+        msg.setHeader(SWIFT_WRITE_OPTION, WRITE_ACCESS);
+        msg.setHeader(SWIFT_VERSIONS_OPTION, VERSIONS_CONTAINER);
+        msg.setHeader(SWIFT_METADATA_OPTION_PREFIX, Map.of("year", "2000"));
+
+        producer.process(exchange);
+
+        verify(containerService).update(containerNameCaptor.capture(), 
optionsCaptor.capture());
+        assertEquals(CONTAINER_NAME, containerNameCaptor.getValue());
+        assertNull(optionsCaptor.getValue());
+    }
+
+    @Test
+    public void containerUpdatePrefersTheOptionsFromTheBodyOverTheHeaders() 
throws Exception {
+        when(containerService.update(anyString(), 
any())).thenReturn(ActionResponse.actionSuccess());
+        msg.setHeader(OpenstackConstants.OPERATION, OpenstackConstants.UPDATE);
+        msg.setHeader(SwiftConstants.CONTAINER_NAME, CONTAINER_NAME);
+        msg.setHeader(SwiftConstants.CONTAINER_READ, READ_ACCESS);
+        final CreateUpdateContainerOptions body = 
CreateUpdateContainerOptions.create().accessRead(BODY_READ_ACCESS);
+        msg.setBody(body);
+
+        producer.process(exchange);
+
+        verify(containerService).update(containerNameCaptor.capture(), 
optionsCaptor.capture());
+        assertEquals(body, optionsCaptor.getValue());
+        assertEquals(BODY_READ_ACCESS, 
optionsCaptor.getValue().getOptions().get(SWIFT_READ_OPTION));
+    }
+
+    @Test
+    public void containerOptionHeaderNamesFollowTheCamelNamingConvention() {
+        assertEquals("CamelOpenstackSwiftContainerMetadata", 
SwiftConstants.CONTAINER_METADATA_PREFIX);
+        assertEquals("CamelOpenstackSwiftVersionsLocation", 
SwiftConstants.VERSIONS_LOCATION);
+        assertEquals("CamelOpenstackSwiftContainerRead", 
SwiftConstants.CONTAINER_READ);
+        assertEquals("CamelOpenstackSwiftContainerWrite", 
SwiftConstants.CONTAINER_WRITE);
+    }
 }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SwiftEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SwiftEndpointBuilderFactory.java
index 3b84c7ab5f56..0706dbd57db5 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SwiftEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SwiftEndpointBuilderFactory.java
@@ -329,16 +329,17 @@ public interface SwiftEndpointBuilderFactory {
             return "CamelOpenstackSwiftObjectName";
         }
         /**
-         * Container metadata prefix.
+         * The container metadata.
          * 
          * The option is a: {@code Map<String, String>} type.
          * 
          * Group: container
          * 
-         * @return the name of the header {@code X-Container-Meta-}.
+         * @return the name of the header {@code
+         * OpenstackSwiftContainerMetadata}.
          */
-        public String xContainerMeta() {
-            return "X-Container-Meta-";
+        public String openstackSwiftContainerMetadata() {
+            return "CamelOpenstackSwiftContainerMetadata";
         }
         /**
          * Versions location.
@@ -347,10 +348,11 @@ public interface SwiftEndpointBuilderFactory {
          * 
          * Group: container
          * 
-         * @return the name of the header {@code X-Versions-Location}.
+         * @return the name of the header {@code
+         * OpenstackSwiftVersionsLocation}.
          */
-        public String xVersionsLocation() {
-            return "X-Versions-Location";
+        public String openstackSwiftVersionsLocation() {
+            return "CamelOpenstackSwiftVersionsLocation";
         }
         /**
          * ACL - container read.
@@ -359,10 +361,10 @@ public interface SwiftEndpointBuilderFactory {
          * 
          * Group: container
          * 
-         * @return the name of the header {@code X-Container-Read}.
+         * @return the name of the header {@code OpenstackSwiftContainerRead}.
          */
-        public String xContainerRead() {
-            return "X-Container-Read";
+        public String openstackSwiftContainerRead() {
+            return "CamelOpenstackSwiftContainerRead";
         }
         /**
          * ACL - container write.
@@ -371,10 +373,10 @@ public interface SwiftEndpointBuilderFactory {
          * 
          * Group: container
          * 
-         * @return the name of the header {@code X-Container-Write}.
+         * @return the name of the header {@code OpenstackSwiftContainerWrite}.
          */
-        public String xContainerWrite() {
-            return "X-Container-Write";
+        public String openstackSwiftContainerWrite() {
+            return "CamelOpenstackSwiftContainerWrite";
         }
         /**
          * List options - limit.

Reply via email to