You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (Jira)" <ji...@apache.org> on 2026/09/22 13:13:00 UTC

[jira] [Commented] (CAMEL-24900) camel-jcr - apply header filtering when mapping JCR node properties to Exchange headers

    [ https://issues.apache.org/jira/browse/CAMEL-24900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18118014#comment-18118014 ] 

Andrea Cosentino commented on CAMEL-24900:
------------------------------------------

PR opened: https://github.com/apache/camel/pull/26748

_Claude Code on behalf of Andrea Cosentino (@oscerd)_

> camel-jcr - apply header filtering when mapping JCR node properties to Exchange headers
> ---------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24900
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24900
>             Project: Camel
>          Issue Type: Task
>          Components: camel-jcr
>            Reporter: Andrea Cosentino
>            Assignee: Andrea Cosentino
>            Priority: Major
>
> The JCR producer's CamelJcrGetById operation maps every property of the retrieved node onto the Exchange via message.setHeader(property.getName(), ...) without running the names through a HeaderFilterStrategy. Unlike most components, camel-jcr defines no HeaderFilterStrategy, so internal Camel header names (e.g. those prefixed "Camel") are not filtered out of the mapped set. The INSERT path has the mirror gap: filterComponentHeaders removes only the three JCR control keys (CamelJcrNodeName/CamelJcrOperation/CamelJcrNodeType), so internal Camel headers on the message are persisted as node properties.
> This continues the header-filtering alignment done for camel-coap (CAMEL-24655).
> Proposed change:
> - Make JcrEndpoint HeaderFilterStrategyAware with a default strategy that filters Camel*/camel*/org.apache.camel.* case-insensitively.
> - In the CamelJcrGetById mapping, filter each property name through applyFilterToExternalHeaders before setHeader, preserving ordinary document properties.
> - Apply the mirror filter (applyFilterToCamelHeaders) on the INSERT path.
> - Add a regression test mirroring CoAPHeaderInjectionTest: a "Camel"-prefixed property name, in several casings, is not mapped onto the Exchange, while an ordinary property still is.
> - Regenerate catalog/dsl (new headerFilterStrategy option), backport to camel-4.22.x and camel-4.18.x, and add the upgrade-guide note on main.
> Affected: main (4.23.0), camel-4.22.x, camel-4.18.x. Not camel-4.14.x (EOL).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)