adobe / aio-lib-java

Adobe I/O - Java SDK
https://opensource.adobe.com/aio-lib-java/
Apache License 2.0
6 stars 19 forks source link

`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 #124

Open shehjad-khan opened 2 years ago

shehjad-khan commented 2 years ago

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

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

francoisledroff commented 2 years ago

we like this idea ! we'd be happy to review your PR.

shehjad-khan commented 2 years ago

@francoisledroff Thank you, read the contributors guideline and would love to raise a PR, but would need to be invited to be a committer to the repo with write access on my email shehjkhan@gmail.com. If there is some other process, please point me to the documentation happy to follow it

francoisledroff commented 2 years ago

Thanks @shehjad-khan you actually don't need write access, do the following