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

Offen
#124 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
7
Forks
22
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie bei AdobeIoEventHandler.java ungefähr in Zeile 118, dem im Issue genannten Einstiegspunkt, und verfolgen Sie, wie der OSGi JCR Path Filter derzeit mit startsWith geprüft wird. Legen Sie fest, wie der Regex-Abgleich mit dem aktuellen Präfixverhalten zusammenwirken soll, und überprüfen Sie anschließend, dass passende Pfade nur dann Ereignisse senden, wenn der konfigurierte Ausdruck übereinstimmt, einschließlich des PDF-Beispiels.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.