ResourceFilterStream is always null after adapting from a resource | Community
Skip to main content
New Participant
July 25, 2024
Solved

ResourceFilterStream is always null after adapting from a resource

  • July 25, 2024
  • 3 replies
  • 1625 views

I followed this article to try to use Resource Filter Stream, project builds and deploys fine, however rfs is always null, any ideas?  Am I missing something?  Thanks in advance.

 

ResourceFilterStream rfs = resource.adaptTo(ResourceFilterStream.class);
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by EstebanBustamante

Hi

 

This is an external bundle, so you need to wrap it into your bundle to deploy it along with your code. Please check this thread: 

https://blogs.perficient.com/2018/10/09/resource-streams-in-apache-sling/ 

 

Hope this helps

3 replies

EstebanBustamante
EstebanBustamanteAccepted solution
New Participant
July 25, 2024

Hi

 

This is an external bundle, so you need to wrap it into your bundle to deploy it along with your code. Please check this thread: 

https://blogs.perficient.com/2018/10/09/resource-streams-in-apache-sling/ 

 

Hope this helps

Esteban Bustamante
New Participant
October 24, 2024

the solution is missing this step 

<bnd><![CDATA[
Import-Package: javax.annotation;version=0.0.0,*
Export-Package: com.mysite.*
-plugin org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin,org.apache.sling.bnd.models.ModelsScannerPlugin
-includeresource: org.apache.sling.resource.filter-1.0.0.jar;lib:=true
h_kataria
New Participant
July 25, 2024

As far as I know, resourcefilterstream is not available OOB, so you will have to embed it in your all pom.xml in filevault-package-maven-plugin config section

<embedded> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.resource.filter</artifactId> <target>/apps/<your-project>/application/install</target> </embedded>

 and add the dependency

<dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.resource.filter</artifactId> <version>1.0.0</version> <scope>provided</scope> </dependency>

 

New Participant
July 26, 2024

Ah maybe that's it, I added the dependency but i did not embed the bundle, I will give that a try.  Thanks all.

New Participant
October 24, 2024

add this in core bundle pom as well as embed it in all pom

<bnd><![CDATA[
Import-Package: javax.annotation;version=0.0.0,*
Export-Package: com.mysie.*
-plugin org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin,org.apache.sling.bnd.models.ModelsScannerPlugin
-includeresource: org.apache.sling.resource.filter-1.0.0.jar;lib:=true

 

AMANATH_ULLAH
New Participant
July 25, 2024

@nelsonatensemble 

Can you verify if you have below dependency included in POM.xml and included the right imports for ResourceFilterStream

<dependency>
    <groupid>org.apache.sling</groupid>
    <artifactid>org.apache.sling.resource.filter</artifactid>
    <version>1.0.0</version>
    <scope>provided</scope>
</dependency>

 

Amanath Ullah
New Participant
July 26, 2024

Yes that was done, however, I did not embed the jar per h_kataria's comment below, so that's probably the issue.  I had assumed that the jar is available OOTB.

 

<embedded> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.resource.filter</artifactId> <target>/apps/<your-project>/application/install</target> </embedded>