AEM version : 6.5
I have created a proxy component for the OOTB Carousel Component. Now I have defined a custom parameter or a field in the cq:design_dialog. ( as shown in image given below )
Now i have authored the aforementioned parameters by editing the component policy as shown below
Now after saving this , Its stored as follows ( Please refer below image )
How do i access this particular property programmatically ?
I did created a sling model as given below And i am trying to access the same in Sightly
public class CarouselPolicy {
@SlingObject
private ResourceResolver resourceResolver;
/** The resource. */
@Deleted Account
private Resource resource;
private int carouselItemLimit;
private static final Logger LOG = LoggerFactory.getLogger(CarouselPolicy.class);
@PostConstruct
public void init(){
ContentPolicyManager policyManager = resourceResolver.adaptTo(ContentPolicyManager.class);
if (policyManager != null) {
ContentPolicy contentPolicy = policyManager.getPolicy(resource);
if (contentPolicy != null) {
LOG.trace("carouselItemLimit "+carouselItemLimit);
carouselItemLimit= (Integer) contentPolicy.getProperties().get("carouselItemLimit");
}
}
}
/**
* @Return carouselItemLimit
*/
public int getCarouselItemLimit() {
return carouselItemLimit;
}
}
The contentPolicy is coming as Null. Is this the correct approach ? What am i missing here ?
Solved! Go to Solution.
Views
Replies
Total Likes
I suspect that, there are some issues with the ResourceResolver And Resource. If you are getting resouceResolver from @slingObject then it seems your model is adaptables to request then in this case it seems your resource is not returnign the proper resource that you need.
so better to check the path of the resource with the help of log.
If you have proper resource then you can get the Valuemap of it and get the required field.
Hope this will help.
Umesh Thakur
what adapter are you passing on your Sling Model.
adapters = {Carousel.class)
I suspect that, there are some issues with the ResourceResolver And Resource. If you are getting resouceResolver from @slingObject then it seems your model is adaptables to request then in this case it seems your resource is not returnign the proper resource that you need.
so better to check the path of the resource with the help of log.
If you have proper resource then you can get the Valuemap of it and get the required field.
Hope this will help.
Umesh Thakur
Views
Likes
Replies