This is an automated email from the ASF dual-hosted git repository. jkevan pushed a commit to branch missingAccessorFlattenedProperties in repository https://gitbox.apache.org/repos/asf/unomi.git
commit 9d85c686209ebe0b366b06fb297c2675d53abec8 Author: Kevan <[email protected]> AuthorDate: Tue Jun 14 18:23:57 2022 +0200 UNOMI-596: add missing property accessor for making condition working on flattenedProperties --- .../plugins/baseplugin/conditions/accessors/EventAccessor.java | 3 +++ .../baseplugin/conditions/PropertyConditionEvaluatorTest.java | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/accessors/EventAccessor.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/accessors/EventAccessor.java index ba10bd98f..e8c53d0e4 100644 --- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/accessors/EventAccessor.java +++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/accessors/EventAccessor.java @@ -30,6 +30,9 @@ public class EventAccessor extends HardcodedPropertyAccessor<Event> { if ("properties".equals(propertyName)) { return registry.getProperty(object.getProperties(), leftoverExpression); } + if ("flattenedProperties".equals(propertyName)) { + return registry.getProperty(object.getFlattenedProperties(), leftoverExpression); + } if ("eventType".equals(propertyName)) { return object.getEventType(); } diff --git a/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java b/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java index a236d4f72..84eeae38a 100644 --- a/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java +++ b/plugins/baseplugin/src/test/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluatorTest.java @@ -103,6 +103,13 @@ public class PropertyConditionEvaluatorTest { } + @Test + public void testFlattenedProperties() { + Event mockEvent = generateMockEvent(mockProfile, mockSession); + mockEvent.getFlattenedProperties().put("test", "test"); + assertEquals("FlattenedProperties should be readable form accessor", "test", propertyConditionEvaluator.getHardcodedPropertyValue(mockEvent, "flattenedProperties.test")); + } + @Test public void testOGNLEvaluator() throws Exception { Event mockEvent = generateMockEvent(mockProfile, mockSession);
