Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

using querybuilder to find a component, is there any way to get the components model?

Avatar

Level 9

If you find a component using querybuilder, it gives you a ValueMap of the properties. The components in question already have a full model defined. Is there any way to get the model back, instead of the value map?  

Hand writing method to copy each field into the value map would be onerous and fail as soon as the components model changed.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor
 

Hi @TB3dock ,

 

If I have understood your question correctly then you can always adapt a resource to your Model class like below-

 

for (Hit hit : searchResult.getHits()) {
Resource resource = hit.getResource();

MySlingModel myModel = resource.adaptTo(MySlingModel.class);

}

 

Let me know if it helps.

 

Thanks,

Ritesh

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor
 

Hi @TB3dock ,

 

If I have understood your question correctly then you can always adapt a resource to your Model class like below-

 

for (Hit hit : searchResult.getHits()) {
Resource resource = hit.getResource();

MySlingModel myModel = resource.adaptTo(MySlingModel.class);

}

 

Let me know if it helps.

 

Thanks,

Ritesh

Avatar

Level 9

Interesting, I would not have guessed you could do this. There are plenty of articles on the querying, but none on what the various fields of the resultant object mean, and how they can be used (other than trial and error)