Rakesh Kumar created SLING-12640: ------------------------------------ Summary: Setting Sling filter service property sling.filter.scope to an invalid value does not disable the filter. Key: SLING-12640 URL: https://issues.apache.org/jira/browse/SLING-12640 Project: Sling Issue Type: Bug Components: Engine Affects Versions: Engine 2.15.16 Reporter: Rakesh Kumar
I have created a filter service and provided the value of *sling.filter.scope* as some arbitrary string({*}MyDisabledFilter{*}) I followed the disabling mechanism mentioned here - [https://sling.apache.org/documentation/the-sling-engine/filters.html#disabling-filters-1] But the filter is still registered by Sling as a request filter. I was looking at the code and found that if an invalid value is specified for *sling.filter.scope* property, then the filter is registered as a REQUEST scoped filter. {code:java} final String[] scopes = Converters.standardConverter().convert(scopeValue).to(String[].class); final FilterPredicate predicate = new FilterPredicate(reference); boolean used = false; for (String scope : scopes) { scope = scope.toUpperCase(); try { FilterChainType type = FilterChainType.valueOf(scope.toString()); getFilterChain(type).addFilter(filter, predicate, serviceId, order, orderSource, mbean); if (type == FilterChainType.COMPONENT) { getFilterChain(FilterChainType.INCLUDE) .addFilter(filter, predicate, serviceId, order, orderSource, mbean); getFilterChain(FilterChainType.FORWARD) .addFilter(filter, predicate, serviceId, order, orderSource, mbean); } used = true; } catch (final IllegalArgumentException iae) { log.warn("Filter service {} has invalid value {} for scope. Value is ignored", reference, scope); } } if (!used) { log.warn( "Filter service {} has been registered without a valid {} property. Using default value.", serviceId, EngineConstants.SLING_FILTER_SCOPE); getFilterChain(FilterChainType.REQUEST).addFilter(filter, predicate, serviceId, order, orderSource, mbean); } {code} This seems to be contradictory to the official documentation. Please let me know if I am missing something. [~cziegeler] can you please look at this? Thanks, Rakesh -- This message was sent by Atlassian Jira (v8.20.10#820010)