How to access dam XML file name in Java class | Community
Skip to main content
vineel_k
New Participant
March 4, 2023
Solved

How to access dam XML file name in Java class

  • March 4, 2023
  • 2 replies
  • 1018 views

I need to access sample_content.xml file name present in DAM into the Java class and i need to store it in a method 

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 lukasz-m

Hi @vineel_k,

You can use mix of Sling and Asset java api to get any asset name.

Resource resource = resourceResolver.getResource("/content/dam/sample_content.xml"); Asset asset = resource.adaptTo(Asset.class); String assetName = asset.getName();

Having asset object you can also get all other information about specific asset.

2 replies

Jagadeesh_Prakash
New Participant
March 5, 2023

@vineel_k 

Below example worked in my local

 

import com.day.cq.dam.api.Asset;
import com.day.cq.dam.api.AssetManager;
import com.day.cq.dam.commons.util.DamUtil;
import org.apache.sling.api.resource.ResourceResolver;

public class MyAssetReader {

public void readAssetName(String assetPath, ResourceResolver resourceResolver) {
AssetManager assetManager = resourceResolver.adaptTo(AssetManager.class);
Asset asset = DamUtil.resolveToAsset(resourceResolver.getResource(assetPath));
String assetName = asset.getName();
System.out.println("Asset name: " + assetName);
}

}

lukasz-m
lukasz-mAccepted solution
New Participant
March 4, 2023

Hi @vineel_k,

You can use mix of Sling and Asset java api to get any asset name.

Resource resource = resourceResolver.getResource("/content/dam/sample_content.xml"); Asset asset = resource.adaptTo(Asset.class); String assetName = asset.getName();

Having asset object you can also get all other information about specific asset.