How to get assets from DAM in a java class?
Hello.
I'm trying to make a java class that use the script to get image from the DAM posted here Adobe Experience Manager Help | Creating an Adobe Experience Manager DAM Image component
but I'm having troubles with the Sling variable, because on th JSP file, the sling variable is declared in the global.jsp file.
<%@include file="/libs/foundation/global.jsp"%>
SlingRepository slingRep =sling.getService(SlingRepository.class);
Session session = slingRep.loginAdministrative(null);
QueryBuilder qb ;
Map<String, String> map =newHashMap<String,String>();
map.put("type","dam:Asset");
map.put("property","jcr:content/metadata/dc:format");
map.put("property.value","image/jpeg");
qb=resource.getResourceResolver().adaptTo(QueryBuilder.class);
Query query = qb.createQuery(PredicateGroup.create(map), session);
SearchResult sr= query.getResult();
String assetPath=null;
// iterating over the results
for(Hit hit : sr.getHits()) {
String path = hit.getPath();
Resource rs = resourceResolver.getResource(path);
Asset asset = rs.adaptTo(Asset.class);
assetPath = asset.getPath();
In the code above the sling variable is on the line 01.
When I paste this code on my java class, I get an error because Eclipse IDE can't reach the Sling API library.
How can I initialize this variable to make my code work?