Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.
SOLVED

Event listener for patterned path

Avatar

Level 1

Hi Friends,

As per the API of observation manager, we can't use regular expression as path while adding the event using Event Listener.

Is there any other way of adding regular expression path except Event Handler(we can use regular expression path).

Use case : I want to trigger the event for home page of all locales and countries  /content/google/en/us/home ->  /content/google/*/*/home

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

No you can't use RegEx in place of absolute path while adding Listener but you can do while listening.

ObservationManager (Content Repository for Java Technology API 1.0)

OnEvents function you can write condition to check path with regex.

for example :

public void onEvent(EventIterator it) {

  while (it.hasNext()) {

  Event event = it.nextEvent();

  try {

  Property changedProperty = session.getProperty(event.getPath());

  if (changedProperty.getName().equalsIgnoreCase("jcr:title")

  logger.info("*************Property updated: {}", event.getPath());

 

  }

  }

  catch (Exception e) {

  logger.error(e.getMessage(), e);

  }

  }

Thanks

Arun



Arun Patidar

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

Hi,

No you can't use RegEx in place of absolute path while adding Listener but you can do while listening.

ObservationManager (Content Repository for Java Technology API 1.0)

OnEvents function you can write condition to check path with regex.

for example :

public void onEvent(EventIterator it) {

  while (it.hasNext()) {

  Event event = it.nextEvent();

  try {

  Property changedProperty = session.getProperty(event.getPath());

  if (changedProperty.getName().equalsIgnoreCase("jcr:title")

  logger.info("*************Property updated: {}", event.getPath());

 

  }

  }

  catch (Exception e) {

  logger.error(e.getMessage(), e);

  }

  }

Thanks

Arun



Arun Patidar