Expand my Community achievements bar.

SOLVED

AEM Listeners & Events

Avatar

Former Community Member

How can I capture the asset that triggered a listener in to a variable.

 

In my application:

When a new asset is uploaded to a folder I want to

move it to a different folder.

 

Is there a way to acquire the path or the asset that triggers the event?

I know I can invoke a workflow/use workflow launcher in conjunction with a workflow but I want to do it using the

listener approach.

 

Thanks!

1 Accepted Solution

Avatar

Correct answer by
Level 10

" I'm trying to get is the Asset "

Look at using this API:

http://docs.adobe.com/docs/en/cq/5-6-1/javadoc/com/day/cq/dam/commons/handler/AbstractAssetHandler.h...

It's the AEM Asset Handler API. We have a community article that shows how to use this API:

https://helpx.adobe.com/experience-manager/using/damhandler.html

This article's use case is to track assets uploaded to the AEM DAM. It will show you how to get up and running with AssetHandler. 

View solution in original post

4 Replies

Avatar

Level 10

You can.. when you upload an asset, essentially a node will be created. so you can use the node_added listener and do the action. refer [1]

[1] https://helpx.adobe.com/experience-manager/using/events.html

Avatar

Former Community Member

I understand that, but what I'm trying to get is the Asset that invoked the listener to begin with. I need to capture that into a variable

Maybe a node variable or maybe an Asset variable.

 

Thanks.

Avatar

Level 10

You can get the path of the event and fro the path you can get asset details

when you write an eventlistner and override onEvent(EventIterator itr)

from the EventIterator, get the event and then the path of the event

Check these APIs for the reference

http://www.day.com/specs/jsr170/javadocs/jcr-1.0/javax/jcr/observation/EventIterator.html

http://www.day.com/specs/jsr170/javadocs/jcr-1.0/javax/jcr/observation/Event.html

Avatar

Correct answer by
Level 10

" I'm trying to get is the Asset "

Look at using this API:

http://docs.adobe.com/docs/en/cq/5-6-1/javadoc/com/day/cq/dam/commons/handler/AbstractAssetHandler.h...

It's the AEM Asset Handler API. We have a community article that shows how to use this API:

https://helpx.adobe.com/experience-manager/using/damhandler.html

This article's use case is to track assets uploaded to the AEM DAM. It will show you how to get up and running with AssetHandler.