This is an automated email from the ASF dual-hosted git repository.

jsinovassinnaik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/master by this push:
     new 73c9ea9a3 UNOMI-901: change condition evaluator injection to avoid 
reference issue on stop" (#730)
73c9ea9a3 is described below

commit 73c9ea9a3742ed0069f7158242628a5935c06f84
Author: Jonathan SINOVASSIN-NAIK <[email protected]>
AuthorDate: Tue Sep 16 14:30:57 2025 +0200

    UNOMI-901: change condition evaluator injection to avoid reference issue on 
stop" (#730)
---
 .../ElasticSearchPersistenceServiceImpl.java       | 16 +--------
 .../resources/OSGI-INF/blueprint/blueprint.xml     | 12 ++-----
 persistence-spi/pom.xml                            |  7 +++-
 .../{ => evaluator}/ConditionEvaluator.java        |  2 +-
 .../ConditionEvaluatorDispatcher.java              |  6 +---
 .../impl}/ConditionEvaluatorDispatcherImpl.java    | 37 ++++++++++++-------
 .../resources/OSGI-INF/blueprint/blueprint.xml     | 41 ----------------------
 .../conditions/BooleanConditionEvaluator.java      |  4 +--
 ...eoLocationByPointSessionConditionEvaluator.java |  4 +--
 .../conditions/IdsConditionEvaluator.java          |  4 +--
 .../conditions/MatchAllConditionEvaluator.java     |  4 +--
 .../conditions/NestedConditionEvaluator.java       |  4 +--
 .../conditions/NotConditionEvaluator.java          |  4 +--
 .../conditions/PastEventConditionEvaluator.java    |  4 +--
 .../conditions/PropertyConditionEvaluator.java     |  4 +--
 .../SourceEventPropertyConditionEvaluator.java     |  4 +--
 .../resources/OSGI-INF/blueprint/blueprint.xml     | 18 +++++-----
 17 files changed, 62 insertions(+), 113 deletions(-)

diff --git 
a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
 
b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
index 624a721ed..8117116d0 100644
--- 
a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
+++ 
b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
@@ -74,8 +74,7 @@ import org.apache.unomi.persistence.spi.aggregate.*;
 import org.apache.unomi.persistence.spi.aggregate.DateRangeAggregate;
 import org.apache.unomi.persistence.spi.aggregate.IpRangeAggregate;
 import org.apache.unomi.persistence.spi.conditions.ConditionContextHelper;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 import org.elasticsearch.client.*;
 
 import org.osgi.framework.*;
@@ -611,19 +610,6 @@ public class ElasticSearchPersistenceServiceImpl 
implements PersistenceService,
         bundleContext.removeBundleListener(this);
     }
 
-    public void bindConditionEvaluator(ServiceReference<ConditionEvaluator> 
conditionEvaluatorServiceReference) {
-        ConditionEvaluator conditionEvaluator = 
bundleContext.getService(conditionEvaluatorServiceReference);
-        
conditionEvaluatorDispatcher.addEvaluator(conditionEvaluatorServiceReference.getProperty("conditionEvaluatorId").toString(),
-                conditionEvaluator);
-    }
-
-    public void unbindConditionEvaluator(ServiceReference<ConditionEvaluator> 
conditionEvaluatorServiceReference) {
-        if (conditionEvaluatorServiceReference == null) {
-            return;
-        }
-        
conditionEvaluatorDispatcher.removeEvaluator(conditionEvaluatorServiceReference.getProperty("conditionEvaluatorId").toString());
-    }
-
     public void 
bindConditionESQueryBuilder(ServiceReference<ConditionESQueryBuilder> 
conditionESQueryBuilderServiceReference) {
         ConditionESQueryBuilder conditionESQueryBuilder = 
bundleContext.getService(conditionESQueryBuilderServiceReference);
         
conditionESQueryBuilderDispatcher.addQueryBuilder(conditionESQueryBuilderServiceReference.getProperty("queryBuilderId").toString(),
diff --git 
a/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
 
b/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index e5e9ee0ad..b94416a6a 100644
--- 
a/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ 
b/persistence-elasticsearch/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -75,7 +75,8 @@
 
     <reference id="metricsService" 
interface="org.apache.unomi.metrics.MetricsService"/>
     <reference id="scriptExecutor" 
interface="org.apache.unomi.scripting.ScriptExecutor"/>
-    <reference id="conditionEvaluatorDispatcherService" 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher"/>
+    <reference id="conditionEvaluatorDispatcherService"
+               
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher"/>
 
     <service id="elasticSearchPersistenceService" 
ref="elasticSearchPersistenceServiceImpl">
         <interfaces>
@@ -148,15 +149,6 @@
         <property name="logLevelRestClient" value="${es.logLevelRestClient}"/>
     </bean>
 
-    <!-- We use a listener here because using the list directly for listening 
to proxies coming from the same bundle didn't seem to work -->
-    <reference-list id="conditionEvaluators"
-                    
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator"
-                    availability="optional">
-        <reference-listener
-                bind-method="bindConditionEvaluator" 
unbind-method="unbindConditionEvaluator"
-                ref="elasticSearchPersistenceServiceImpl"/>
-    </reference-list>
-
     <reference-list id="conditionESQueryBuilders"
                     
interface="org.apache.unomi.persistence.elasticsearch.ConditionESQueryBuilder"
                     availability="optional">
diff --git a/persistence-spi/pom.xml b/persistence-spi/pom.xml
index f33e06665..7ec747761 100644
--- a/persistence-spi/pom.xml
+++ b/persistence-spi/pom.xml
@@ -57,6 +57,11 @@
             <artifactId>unomi-metrics</artifactId>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
@@ -121,9 +126,9 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
+                        <_dsannotations>*</_dsannotations>
                         
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                         <Import-Package>
-
                             *
                         </Import-Package>
                     </instructions>
diff --git 
a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluator.java
 
b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/ConditionEvaluator.java
similarity index 94%
rename from 
persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluator.java
rename to 
persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/ConditionEvaluator.java
index 97af4ed97..fe2cf0451 100644
--- 
a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluator.java
+++ 
b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/ConditionEvaluator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.unomi.persistence.spi.conditions;
+package org.apache.unomi.persistence.spi.conditions.evaluator;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
diff --git 
a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluatorDispatcher.java
 
b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/ConditionEvaluatorDispatcher.java
similarity index 87%
rename from 
persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluatorDispatcher.java
rename to 
persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/ConditionEvaluatorDispatcher.java
index 0c6f438b4..458a06c96 100644
--- 
a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluatorDispatcher.java
+++ 
b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/ConditionEvaluatorDispatcher.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.unomi.persistence.spi.conditions;
+package org.apache.unomi.persistence.spi.conditions.evaluator;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
@@ -23,10 +23,6 @@ import java.util.Map;
 
 public interface ConditionEvaluatorDispatcher {
 
-    void addEvaluator(String name, ConditionEvaluator evaluator);
-
-    void removeEvaluator(String name);
-
     boolean eval(Condition condition, Item item);
 
     boolean eval(Condition condition, Item item, Map<String, Object> context);
diff --git 
a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluatorDispatcherImpl.java
 
b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/impl/ConditionEvaluatorDispatcherImpl.java
similarity index 71%
rename from 
persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluatorDispatcherImpl.java
rename to 
persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/impl/ConditionEvaluatorDispatcherImpl.java
index 5a7f4cfc3..caacbac67 100644
--- 
a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/ConditionEvaluatorDispatcherImpl.java
+++ 
b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/conditions/evaluator/impl/ConditionEvaluatorDispatcherImpl.java
@@ -15,13 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.unomi.persistence.spi.conditions;
+package org.apache.unomi.persistence.spi.conditions.evaluator.impl;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
 import org.apache.unomi.metrics.MetricAdapter;
 import org.apache.unomi.metrics.MetricsService;
+import org.apache.unomi.persistence.spi.conditions.ConditionContextHelper;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 import org.apache.unomi.scripting.ScriptExecutor;
+import org.osgi.annotation.bundle.Requirement;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -32,33 +40,37 @@ import java.util.concurrent.ConcurrentHashMap;
 /**
  * Entry point for condition evaluation. Will dispatch to all evaluators.
  */
-//TODO change to delarative services remove blueprint
-public class ConditionEvaluatorDispatcherImpl implements 
ConditionEvaluatorDispatcher {
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(ConditionEvaluatorDispatcher.class.getName());
+
+@Component(service = ConditionEvaluatorDispatcher.class)
+public class ConditionEvaluatorDispatcherImpl
+        implements ConditionEvaluatorDispatcher {
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(ConditionEvaluatorDispatcherImpl.class.getName());
 
     private Map<String, ConditionEvaluator> evaluators = new 
ConcurrentHashMap<>();
 
     private MetricsService metricsService;
     private ScriptExecutor scriptExecutor;
 
-    public ConditionEvaluatorDispatcherImpl() {}
+    public ConditionEvaluatorDispatcherImpl() {
+    }
 
+    @Reference
     public void setMetricsService(MetricsService metricsService) {
         this.metricsService = metricsService;
     }
 
+    @Reference
     public void setScriptExecutor(ScriptExecutor scriptExecutor) {
         this.scriptExecutor = scriptExecutor;
     }
 
-    @Override
-    public void addEvaluator(String name, ConditionEvaluator evaluator) {
-        evaluators.put(name, evaluator);
+    @Reference(service = ConditionEvaluator.class, cardinality = 
ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC)
+    public void bindEvaluator(ConditionEvaluator evaluator, Map<String, 
Object> props) {
+        evaluators.put((String) props.get("conditionEvaluatorId"), evaluator);
     }
 
-    @Override
-    public void removeEvaluator(String name) {
-        evaluators.remove(name);
+    public void unbindEvaluator(ConditionEvaluator evaluator, Map<String, 
Object> props) {
+        evaluators.remove((String) props.get("conditionEvaluatorId"));
     }
 
     @Override
@@ -83,8 +95,7 @@ public class ConditionEvaluatorDispatcherImpl implements 
ConditionEvaluatorDispa
             final ConditionEvaluatorDispatcher dispatcher = this;
             try {
                 return new MetricAdapter<Boolean>(metricsService, 
this.getClass().getName() + ".conditions." + conditionEvaluatorKey) {
-                    @Override
-                    public Boolean execute(Object... args) throws Exception {
+                    @Override public Boolean execute(Object... args) throws 
Exception {
                         Condition contextualCondition = 
ConditionContextHelper.getContextualCondition(condition, context, 
scriptExecutor);
                         if (contextualCondition != null) {
                             return evaluator.eval(contextualCondition, item, 
context, dispatcher);
diff --git 
a/persistence-spi/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/persistence-spi/src/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100644
index 7da5a271f..000000000
--- a/persistence-spi/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<blueprint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-           
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
-           xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
-           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
-  http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd";>
-
-
-    <reference id="metricsService" 
interface="org.apache.unomi.metrics.MetricsService" />
-    <reference id="scriptExecutor" 
interface="org.apache.unomi.scripting.ScriptExecutor" />
-
-    <bean id="conditionEvaluatorDispatcherImpl"
-          
class="org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcherImpl">
-        <property name="metricsService" ref="metricsService" />
-        <property name="scriptExecutor" ref="scriptExecutor" />
-    </bean>
-
-    <service id="conditionEvaluatorDispatcherService" 
ref="conditionEvaluatorDispatcherImpl">
-        <interfaces>
-            
<value>org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher</value>
-        </interfaces>
-    </service>
-
-</blueprint>
\ No newline at end of file
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionEvaluator.java
index ade280e6d..4d16d4909 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionEvaluator.java
@@ -19,8 +19,8 @@ package org.apache.unomi.plugins.baseplugin.conditions;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/GeoLocationByPointSessionConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/GeoLocationByPointSessionConditionEvaluator.java
index b98ce9150..34e45bc21 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/GeoLocationByPointSessionConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/GeoLocationByPointSessionConditionEvaluator.java
@@ -20,8 +20,8 @@ package org.apache.unomi.plugins.baseplugin.conditions;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 import org.apache.unomi.persistence.spi.conditions.geo.DistanceUnit;
 import org.apache.unomi.persistence.spi.conditions.geo.GeoDistance;
 import org.slf4j.Logger;
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/IdsConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/IdsConditionEvaluator.java
index 32f5b9468..51bb6fd82 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/IdsConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/IdsConditionEvaluator.java
@@ -18,8 +18,8 @@ package org.apache.unomi.plugins.baseplugin.conditions;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 
 import java.util.Collection;
 import java.util.Map;
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/MatchAllConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/MatchAllConditionEvaluator.java
index cab1c35fe..0c9ea43bf 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/MatchAllConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/MatchAllConditionEvaluator.java
@@ -19,8 +19,8 @@ package org.apache.unomi.plugins.baseplugin.conditions;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 
 import java.util.Map;
 
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NestedConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NestedConditionEvaluator.java
index 2a6a112b1..154dcc34b 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NestedConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NestedConditionEvaluator.java
@@ -22,8 +22,8 @@ import org.apache.unomi.api.Item;
 import org.apache.unomi.api.Profile;
 import org.apache.unomi.api.Session;
 import org.apache.unomi.api.conditions.Condition;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NotConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NotConditionEvaluator.java
index 9296214bb..57a305a96 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NotConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/NotConditionEvaluator.java
@@ -19,8 +19,8 @@ package org.apache.unomi.plugins.baseplugin.conditions;
 
 import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 
 import java.util.Map;
 
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PastEventConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PastEventConditionEvaluator.java
index 6d9ce91e1..74e4cf28f 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PastEventConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PastEventConditionEvaluator.java
@@ -23,9 +23,9 @@ import org.apache.unomi.api.Profile;
 import org.apache.unomi.api.conditions.Condition;
 import org.apache.unomi.api.services.DefinitionsService;
 import org.apache.unomi.persistence.spi.PersistenceService;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
 import 
org.apache.unomi.persistence.spi.conditions.PastEventConditionPersistenceQueryBuilder;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 import org.apache.unomi.scripting.ScriptExecutor;
 
 import java.util.ArrayList;
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
index 0e1ecadc7..e6c391fdf 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/PropertyConditionEvaluator.java
@@ -25,8 +25,8 @@ import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
 import org.apache.unomi.persistence.spi.PropertyHelper;
 import org.apache.unomi.persistence.spi.conditions.ConditionContextHelper;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 import org.apache.unomi.persistence.spi.conditions.DateUtils;
 import org.apache.unomi.persistence.spi.conditions.geo.DistanceUnit;
 import 
org.apache.unomi.plugins.baseplugin.conditions.accessors.HardcodedPropertyAccessor;
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/SourceEventPropertyConditionEvaluator.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/SourceEventPropertyConditionEvaluator.java
index 5876cb379..f57562cba 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/SourceEventPropertyConditionEvaluator.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/SourceEventPropertyConditionEvaluator.java
@@ -22,8 +22,8 @@ import org.apache.unomi.api.Item;
 import org.apache.unomi.api.conditions.Condition;
 import org.apache.unomi.api.conditions.ConditionType;
 import org.apache.unomi.api.services.DefinitionsService;
-import org.apache.unomi.persistence.spi.conditions.ConditionEvaluator;
-import 
org.apache.unomi.persistence.spi.conditions.ConditionEvaluatorDispatcher;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator;
+import 
org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluatorDispatcher;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git 
a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index d69f91c78..68adb6d68 100644
--- a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -53,21 +53,21 @@
     <reference id="pastEventConditionPersistenceQueryBuilder" 
interface="org.apache.unomi.persistence.spi.conditions.PastEventConditionPersistenceQueryBuilder"/>
 
     <!-- Condition evaluators -->
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="booleanConditionEvaluator"/>
         </service-properties>
         <bean 
class="org.apache.unomi.plugins.baseplugin.conditions.BooleanConditionEvaluator"/>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" value="idsConditionEvaluator"/>
         </service-properties>
         <bean 
class="org.apache.unomi.plugins.baseplugin.conditions.IdsConditionEvaluator"/>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" value="notConditionEvaluator"/>
         </service-properties>
@@ -77,27 +77,27 @@
     <bean id="propertyConditionEvaluator" 
class="org.apache.unomi.plugins.baseplugin.conditions.PropertyConditionEvaluator">
         <property name="usePropertyConditionOptimizations" 
value="${base.usePropertyConditionOptimizations}"/>
     </bean>
-    <service  
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator" 
ref="propertyConditionEvaluator">
+    <service  
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator"
 ref="propertyConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="propertyConditionEvaluator"/>
         </service-properties>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="matchAllConditionEvaluator"/>
         </service-properties>
         <bean 
class="org.apache.unomi.plugins.baseplugin.conditions.MatchAllConditionEvaluator"/>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="geoLocationByPointSessionConditionEvaluator"/>
         </service-properties>
         <bean 
class="org.apache.unomi.plugins.baseplugin.conditions.GeoLocationByPointSessionConditionEvaluator"/>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="sourceEventPropertyConditionEvaluator"/>
         </service-properties>
@@ -106,7 +106,7 @@
         </bean>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="pastEventConditionEvaluator"/>
         </service-properties>
@@ -118,7 +118,7 @@
         </bean>
     </service>
 
-    <service 
interface="org.apache.unomi.persistence.spi.conditions.ConditionEvaluator">
+    <service 
interface="org.apache.unomi.persistence.spi.conditions.evaluator.ConditionEvaluator">
         <service-properties>
             <entry key="conditionEvaluatorId" 
value="nestedConditionEvaluator"/>
         </service-properties>

Reply via email to