This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch datasonnet-enhancements in repository https://gitbox.apache.org/repos/asf/camel.git
commit 96c6bd2fa0ec16ae9170732bbdb49bf9433d6e54 Author: Guillaume Nodet <[email protected]> AuthorDate: Mon Mar 23 08:41:04 2026 +0100 Rename filter to include in camel-event component Rename the `filter` option to `include` for consistency with camel-file's include/exclude naming convention and better clarity. Co-Authored-By: Claude Opus 4.6 <[email protected]> --- .../org/apache/camel/catalog/components/event.json | 2 +- .../camelevent/EventEndpointConfigurer.java | 6 ++-- .../camelevent/EventEndpointUriFactory.java | 2 +- .../apache/camel/component/camelevent/event.json | 2 +- .../camel-event/src/main/docs/event-component.adoc | 10 +++--- .../camel/component/camelevent/EventConsumer.java | 8 ++--- .../camel/component/camelevent/EventEndpoint.java | 36 +++++++++++----------- .../component/camelevent/EventComponentTest.java | 2 +- 8 files changed, 34 insertions(+), 34 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/event.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/event.json index abed8d130c0c..726b841bc0b9 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/event.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/event.json @@ -29,7 +29,7 @@ }, "properties": { "events": { "index": 0, "kind": "path", "displayName": "Events", "group": "consumer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated list of event types to subscribe to. Event types correspond to CamelEvent.Type enum values (case-insensitive), for example: RouteStarted, RouteStopped, ExchangeCompleted, ExchangeFailed." }, - "filter": { "index": 1, "kind": "parameter", "displayName": "Filter", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Comma-separated list of filters to narrow down events. For route events, this filters by route ID. For exchange events, this filters by the route ID of the exchange." }, + "include": { "index": 1, "kind": "parameter", "displayName": "Include", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Comma-separated list of route IDs to include. For route events, this matches the route ID. For exchange events, this matches the route ID of the exchange." }, "bridgeErrorHandler": { "index": 2, "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": 3, "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 def [...] "exchangePattern": { "index": 4, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." } diff --git a/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointConfigurer.java b/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointConfigurer.java index c24a00316051..37e577353d9b 100644 --- a/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointConfigurer.java +++ b/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointConfigurer.java @@ -29,7 +29,7 @@ public class EventEndpointConfigurer extends PropertyConfigurerSupport implement case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true; case "exchangepattern": case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true; - case "filter": target.setFilter(property(camelContext, java.lang.String.class, value)); return true; + case "include": target.setInclude(property(camelContext, java.lang.String.class, value)); return true; default: return false; } } @@ -43,7 +43,7 @@ public class EventEndpointConfigurer extends PropertyConfigurerSupport implement case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class; case "exchangepattern": case "exchangePattern": return org.apache.camel.ExchangePattern.class; - case "filter": return java.lang.String.class; + case "include": return java.lang.String.class; default: return null; } } @@ -58,7 +58,7 @@ public class EventEndpointConfigurer extends PropertyConfigurerSupport implement case "exceptionHandler": return target.getExceptionHandler(); case "exchangepattern": case "exchangePattern": return target.getExchangePattern(); - case "filter": return target.getFilter(); + case "include": return target.getInclude(); default: return null; } } diff --git a/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointUriFactory.java b/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointUriFactory.java index 9154e8d456f1..e007107af120 100644 --- a/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointUriFactory.java +++ b/components/camel-event/src/generated/java/org/apache/camel/component/camelevent/EventEndpointUriFactory.java @@ -28,7 +28,7 @@ public class EventEndpointUriFactory extends org.apache.camel.support.component. props.add("events"); props.add("exceptionHandler"); props.add("exchangePattern"); - props.add("filter"); + props.add("include"); PROPERTY_NAMES = Collections.unmodifiableSet(props); SECRET_PROPERTY_NAMES = Collections.emptySet(); MULTI_VALUE_PREFIXES = Collections.emptyMap(); diff --git a/components/camel-event/src/generated/resources/META-INF/org/apache/camel/component/camelevent/event.json b/components/camel-event/src/generated/resources/META-INF/org/apache/camel/component/camelevent/event.json index abed8d130c0c..726b841bc0b9 100644 --- a/components/camel-event/src/generated/resources/META-INF/org/apache/camel/component/camelevent/event.json +++ b/components/camel-event/src/generated/resources/META-INF/org/apache/camel/component/camelevent/event.json @@ -29,7 +29,7 @@ }, "properties": { "events": { "index": 0, "kind": "path", "displayName": "Events", "group": "consumer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Comma-separated list of event types to subscribe to. Event types correspond to CamelEvent.Type enum values (case-insensitive), for example: RouteStarted, RouteStopped, ExchangeCompleted, ExchangeFailed." }, - "filter": { "index": 1, "kind": "parameter", "displayName": "Filter", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Comma-separated list of filters to narrow down events. For route events, this filters by route ID. For exchange events, this filters by the route ID of the exchange." }, + "include": { "index": 1, "kind": "parameter", "displayName": "Include", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Comma-separated list of route IDs to include. For route events, this matches the route ID. For exchange events, this matches the route ID of the exchange." }, "bridgeErrorHandler": { "index": 2, "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": 3, "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 def [...] "exchangePattern": { "index": 4, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." } diff --git a/components/camel-event/src/main/docs/event-component.adoc b/components/camel-event/src/main/docs/event-component.adoc index 9f914c50a6ee..b2c7ac0eb34a 100644 --- a/components/camel-event/src/main/docs/event-component.adoc +++ b/components/camel-event/src/main/docs/event-component.adoc @@ -32,7 +32,7 @@ For example: ---- event:RouteStarted,RouteStopped -event:ExchangeCompleted,ExchangeFailed?filter=myRoute +event:ExchangeCompleted,ExchangeFailed?include=myRoute ---- // component-configure options: START @@ -105,13 +105,13 @@ The following event types are available (corresponding to `org.apache.camel.spi. == Filtering -You can filter events using the `filter` option. For route events, this filters by route ID. -For exchange events, this filters by the route ID of the exchange (from route). +You can filter events using the `include` option. For route events, this matches the route ID. +For exchange events, this matches the route ID of the exchange (from route). For example, to only receive events for routes `myRoute1` and `myRoute2`: ---- -event:RouteStarted,RouteStopped?filter=myRoute1,myRoute2 +event:RouteStarted,RouteStopped?include=myRoute1,myRoute2 ---- == Message Headers @@ -145,7 +145,7 @@ Subscribe to exchange completed events for a specific route: [source,java] ---- -from("event:ExchangeCompleted?filter=myRoute") +from("event:ExchangeCompleted?include=myRoute") .log("Exchange completed on route myRoute"); ---- diff --git a/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventConsumer.java b/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventConsumer.java index 20b934772c1e..d1db444deefd 100644 --- a/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventConsumer.java +++ b/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventConsumer.java @@ -191,12 +191,12 @@ public class EventConsumer extends DefaultConsumer { return false; } - // Apply filter if configured - Set<String> filters = getEndpoint().getFilterValues(); - if (filters != null && !filters.isEmpty()) { + // Apply include filter if configured + Set<String> includes = getEndpoint().getIncludeValues(); + if (includes != null && !includes.isEmpty()) { String routeId = extractRouteId(event); if (routeId != null) { - return filters.contains(routeId); + return includes.contains(routeId); } // If we can't extract a route ID, don't filter (allow the event through) } diff --git a/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventEndpoint.java b/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventEndpoint.java index 4742304c088c..88b37893e2a1 100644 --- a/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventEndpoint.java +++ b/components/camel-event/src/main/java/org/apache/camel/component/camelevent/EventEndpoint.java @@ -39,7 +39,7 @@ import org.apache.camel.support.DefaultEndpoint; * * The URI path specifies comma-separated event types to subscribe to. Event types correspond to * {@link org.apache.camel.spi.CamelEvent.Type} enum values (case-insensitive), for example: - * {@code event:RouteStarted,RouteStopped} or {@code event:ExchangeCompleted?filter=myRouteId}. + * {@code event:RouteStarted,RouteStopped} or {@code event:ExchangeCompleted?include=myRouteId}. */ @UriEndpoint(firstVersion = "4.19.0", scheme = "event", title = "Event", syntax = "event:events", consumerOnly = true, remote = false, @@ -52,13 +52,13 @@ public class EventEndpoint extends DefaultEndpoint { @Metadata(required = true) private String events; - @UriParam(description = "Comma-separated list of filters to narrow down events." - + " For route events, this filters by route ID." - + " For exchange events, this filters by the route ID of the exchange.") - private String filter; + @UriParam(description = "Comma-separated list of route IDs to include." + + " For route events, this matches the route ID." + + " For exchange events, this matches the route ID of the exchange.") + private String include; private Set<CamelEvent.Type> eventTypes; - private Set<String> filterValues; + private Set<String> includeValues; public EventEndpoint() { } @@ -98,14 +98,14 @@ public class EventEndpoint extends DefaultEndpoint { } else { eventTypes = Collections.emptySet(); } - // Parse filter values - if (filter != null && !filter.isEmpty()) { - filterValues = Arrays.stream(filter.split(",")) + // Parse include values + if (include != null && !include.isEmpty()) { + includeValues = Arrays.stream(include.split(",")) .map(String::trim) .filter(s -> !s.isEmpty()) .collect(Collectors.toSet()); } else { - filterValues = Collections.emptySet(); + includeValues = Collections.emptySet(); } } @@ -135,23 +135,23 @@ public class EventEndpoint extends DefaultEndpoint { this.events = events; } - public String getFilter() { - return filter; + public String getInclude() { + return include; } /** - * Comma-separated list of filters to narrow down events. For route events, this filters by route ID. For exchange - * events, this filters by the route ID of the exchange. + * Comma-separated list of route IDs to include. For route events, this matches the route ID. For exchange events, + * this matches the route ID of the exchange. */ - public void setFilter(String filter) { - this.filter = filter; + public void setInclude(String include) { + this.include = include; } public Set<CamelEvent.Type> getEventTypes() { return eventTypes; } - public Set<String> getFilterValues() { - return filterValues; + public Set<String> getIncludeValues() { + return includeValues; } } diff --git a/components/camel-event/src/test/java/org/apache/camel/component/camelevent/EventComponentTest.java b/components/camel-event/src/test/java/org/apache/camel/component/camelevent/EventComponentTest.java index 236b4bc262e9..c250e23d40cd 100644 --- a/components/camel-event/src/test/java/org/apache/camel/component/camelevent/EventComponentTest.java +++ b/components/camel-event/src/test/java/org/apache/camel/component/camelevent/EventComponentTest.java @@ -155,7 +155,7 @@ public class EventComponentTest extends CamelTestSupport { .to("mock:exchangeEvents"); // Route with filter - from("event:ExchangeCompleted?filter=filteredRoute") + from("event:ExchangeCompleted?include=filteredRoute") .routeId("filteredEventConsumer") .to("mock:filteredEvents");
