Adapt WorkflowSession to a ResourceResolver | Community
Skip to main content
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
praveenjainAccepted solution
Level 3
Dec 24, 2020 9:58 AM UTC

As mentioned by Ashutosh, you can get resource resolver from workflow session.

 

Another way of good practice is to get serivce resource resolver, and you can write this reusable mention in one utils class and call it in your workflow

 

Example:

public static ResourceResolver getServiceResolver() throws LoginException {
Map<String, Object> param = new HashMap<>();
param.put(ResourceResolverFactory.SUBSERVICE, "my-custom-service");
BundleContext bundleContext = FrameworkUtil.getBundle(MyUtils.class).getBundleContext();
ServiceReference resourceResolverFactoryRef = bundleContext
.getServiceReference(ResourceResolverFactory.class.getName());
ResourceResolverFactory resFactory = (ResourceResolverFactory) bundleContext
.getService(resourceResolverFactoryRef);
return resFactory.getServiceResourceResolver(param);
}

 

Refer more details in : https://aemhub.blogspot.com/2020/12/how-to-get-service-resource-resolver.html

 

Regards

Praveen

6 replies

praveenjainAccepted solution
Level 3
Dec 24, 2020 9:58 AM UTC

As mentioned by Ashutosh, you can get resource resolver from workflow session.

 

Another way of good practice is to get serivce resource resolver, and you can write this reusable mention in one utils class and call it in your workflow

 

Example:

public static ResourceResolver getServiceResolver() throws LoginException {
Map<String, Object> param = new HashMap<>();
param.put(ResourceResolverFactory.SUBSERVICE, "my-custom-service");
BundleContext bundleContext = FrameworkUtil.getBundle(MyUtils.class).getBundleContext();
ServiceReference resourceResolverFactoryRef = bundleContext
.getServiceReference(ResourceResolverFactory.class.getName());
ResourceResolverFactory resFactory = (ResourceResolverFactory) bundleContext
.getService(resourceResolverFactoryRef);
return resFactory.getServiceResourceResolver(param);
}

 

Refer more details in : https://aemhub.blogspot.com/2020/12/how-to-get-service-resource-resolver.html

 

Regards

Praveen

Translate
Umesh_Thakur
New Participant
Dec 24, 2020 4:00 AM UTC

@anireddy , can you please have a look the below community article on the same

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/adapt-workflowsession-to-a-resourceresolver/qaq-p/266690

hope this will help.

umesh thakur

Translate
Asutosh_Jena_
New Participant
Dec 21, 2020 6:04 AM UTC

@anireddy You can adapt to the ResourceResolver interface from workflowSession to get the Resource Resolver object.

ResourceResolver resourceResolver = workflowSession.adaptTo(ResourceResolver.class);
Translate
anireddyAuthor
Level 2
Dec 21, 2020 6:37 AM UTC
i don't think session adaptTo resourceResolver.
Translate