adobe / adobe/aio-lib-java

`aem` `aio-aem-events-osgi-mapping` Need fine grain control on AEM events that which path to send event to Adobe IO and support regex expression

Open
#124 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
7
Forks
22
PR merge metrics
No merged PRs in 30d

Description

### Expected Behaviour
The OSGI configuration present in AEM should support regex filter path and thus in my case use case is to send events to adobe IO only when asset uploaded in AEM is of type PDF.

For this Adobe I/O Events' OSGI Event Mapping should support regex expression in OSGI JCR Path Filter Field

![image](https://user-images.githubusercontent.com/84485159/185665594-19f76b71-2f66-4dee-b156-c5f276a70589.png)

### Actual Behaviour
In this specific use cases only event should only be passed from AEM when the path matches the regex expression

### Reproduce Scenario (including but not limited to)

#### Steps to Reproduce

#### Platform and Version

#### Sample Code that illustrates the problem
https://github.com/adobe/aio-lib-java/blob/main/aem/events_osgi_mapping/src/main/java/com/adobe/aio/aem/event/osgimapping/eventhandler/AdobeIoEventHandler.java#L118

Above code needs to be changed to support regex rather than just checking startsWith

To support current use case of startsWith
String pdfPath = "/content/dam/daiuyijava.pdf";
String regex = "/content/dam/([^/]+)";
Pattern pt = Pattern.compile(regex) ;
Matcher mt = pt.matcher(pdfPath);
System.out.println(mt.matches());

To support more fine grain cases for example only send event when it is a PDF asset
String pdfPath = "/content/dam/daiuyijava.pdf";
String regex = "/content/dam/([^/]+)+\\.(pdf|PDF)";
Pattern pt = Pattern.compile(regex) ;
Matcher mt = pt.matcher(pdfPath);
System.out.println(mt.matches());

#### Logs taken while reproducing problem

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.