UNOMI-5 Upgrade to Karaf 4

Signed-off-by: Serge Huber <shu...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/3e4b50ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/3e4b50ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/3e4b50ab

Branch: refs/heads/feature-UNOMI-5-KARAF4-1
Commit: 3e4b50abf33d8345423ae906606d446a2a60d430
Parents: 8991f52
Author: Serge Huber <shu...@apache.org>
Authored: Mon Jan 30 20:24:45 2017 +0100
Committer: Serge Huber <shu...@apache.org>
Committed: Tue Mar 6 15:55:12 2018 +0100

----------------------------------------------------------------------
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  2 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  2 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  2 +-
 kar/src/main/feature/feature.xml                |  2 +-
 package/pom.xml                                 | 43 +++++++++++++++-----
 .../resources/OSGI-INF/blueprint/blueprint.xml  | 16 ++++----
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  2 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  4 +-
 pom.xml                                         | 19 ++++++---
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  2 +-
 services/pom.xml                                |  5 ---
 .../services/services/SegmentServiceImpl.java   | 33 ---------------
 .../resources/OSGI-INF/blueprint/blueprint.xml  | 26 ++++++------
 .../resources/OSGI-INF/blueprint/blueprint.xml  | 14 ++++++-
 14 files changed, 86 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
 
b/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 95a7366..767cc09 100644
--- 
a/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ 
b/extensions/geonames/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -44,6 +44,6 @@
         <property name="pathToGeonamesDatabase" 
value="${request.geonamesDatabase.location}"/>
         <property name="forceDbImport" 
value="${request.geonamesDatabase.forceImport}"/>
     </bean>
-    <service id="geonamesService" ref="geonamesServiceImpl" 
auto-export="interfaces"/>
+    <service id="geonamesService" ref="geonamesServiceImpl" 
interface="org.apache.unomi.geonames.services.GeonamesService"/>
 
 </blueprint>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
 
b/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 9b1f44b..9398d0e 100644
--- 
a/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ 
b/extensions/lists-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -31,5 +31,5 @@
         <property name="persistenceService" ref="persistenceService"/>
         <property name="definitionsService" ref="definitionsService"/>
     </bean>
-    <service id="userListService" ref="userListServiceImpl" 
auto-export="interfaces"/>
+    <service id="userListService" ref="userListServiceImpl" 
interface="org.apache.unomi.services.UserListService"/>
 </blueprint>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
 
b/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 8a5d2a2..1b56fe9 100644
--- 
a/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ 
b/extensions/privacy-extension/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -37,5 +37,5 @@
         <property name="profileService" ref="profileService" />
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="privacyService" ref="privacyServiceImpl" 
auto-export="interfaces"/>
+    <service id="privacyService" ref="privacyServiceImpl" 
interface="org.apache.unomi.api.services.PrivacyService"/>
 </blueprint>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/kar/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml
index d48e0c5..f9e37e9 100644
--- a/kar/src/main/feature/feature.xml
+++ b/kar/src/main/feature/feature.xml
@@ -16,7 +16,7 @@
   ~ limitations under the License.
   -->
 
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.1"; 
name="unomi-kar">
+<features name="unomi-kar" 
xmlns="http://karaf.apache.org/xmlns/features/v1.3.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 
http://karaf.apache.org/xmlns/features/v1.3.0";>
     <feature description="unomi-kar" version="${project.version}" 
name="unomi-kar"
              start-level="70">
         <feature>war</feature>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/package/pom.xml
----------------------------------------------------------------------
diff --git a/package/pom.xml b/package/pom.xml
index 4d6c60f..8d896fd 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -36,6 +36,8 @@
 
     <dependencies>
 
+        <!-- Standard Apache Karaf Features -->
+
         <dependency>
             <!-- scope is compile so all features (there is only one) are 
installed into startup.properties and the feature repo itself is not installed 
-->
             <groupId>org.apache.karaf.features</groupId>
@@ -45,13 +47,19 @@
         <dependency>
             <!-- scope is runtime so the feature repo is listed in the 
features service config file, and features may be installed using the 
karaf-maven-plugin configuration -->
             <groupId>org.apache.karaf.features</groupId>
-            <artifactId>standard</artifactId>
+            <artifactId>framework</artifactId>
             <classifier>features</classifier>
             <type>xml</type>
             <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
+            <artifactId>standard</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
             <artifactId>spring</artifactId>
             <classifier>features</classifier>
             <type>xml</type>
@@ -65,7 +73,8 @@
             <scope>runtime</scope>
         </dependency>
 
-        <!--
+        <!-- Aditionnal Apache Unomi features -->
+
         <dependency>
             <groupId>org.apache.cxf.karaf</groupId>
             <artifactId>apache-cxf</artifactId>
@@ -73,7 +82,6 @@
             <type>xml</type>
             <scope>runtime</scope>
         </dependency>
-        -->
         <dependency>
             <groupId>org.apache.karaf.cellar</groupId>
             <artifactId>apache-karaf-cellar</artifactId>
@@ -317,16 +325,16 @@
                         <artifactId>karaf-maven-plugin</artifactId>
                         <executions>
                             <execution>
-                                <id>install-kar</id>
-                                <phase>compile</phase>
+                                <id>process-resources</id>
+                                <phase>process-resources</phase>
                                 <goals>
-                                    <goal>install-kars</goal>
+                                    <goal>assembly</goal>
                                 </goals>
                             </execution>
                             <execution>
                                 <id>package</id>
                                 <goals>
-                                    <goal>instance-create-archive</goal>
+                                    <goal>archive</goal>
                                 </goals>
                             </execution>
                         </executions>
@@ -335,13 +343,26 @@
                                 <feature>wrapper</feature>
                             </installedFeatures>
                             <bootFeatures>
-                                <feature>standard</feature>
-                                <feature>management</feature>
+                                <feature>framework</feature>
+                                <feature>wrap</feature>
+                                <feature>aries-blueprint</feature>
+                                <feature>shell</feature>
+                                <feature>shell-compat</feature>
+                                <feature>feature</feature>
+                                <feature>jaas</feature>
                                 <feature>ssh</feature>
+                                <feature>management</feature>
+                                <feature>bundle</feature>
                                 <feature>config</feature>
-                                <feature>region</feature>
-                                <feature>package</feature>
+                                <feature>deployer</feature>
+                                <feature>diagnostic</feature>
+                                <feature>feature</feature>
+                                <feature>instance</feature>
                                 <feature>kar</feature>
+                                <feature>log</feature>
+                                <feature>package</feature>
+                                <feature>service</feature>
+                                <feature>system</feature>
                                 <feature>war</feature>
                                 <feature>cxf</feature>
                                 <feature>cellar</feature>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
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 37f7ab1..2838aaa 100644
--- a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -157,7 +157,7 @@
 
     <!-- Action executors -->
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="allEventToProfileProperties"/>
         </service-properties>
@@ -166,14 +166,14 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="eventToProfileProperty"/>
         </service-properties>
         <bean 
class="org.apache.unomi.plugins.baseplugin.actions.EventToProfilePropertyAction"/>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="setProperty"/>
         </service-properties>
@@ -201,7 +201,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="evaluateProfileSegments"/>
         </service-properties>
@@ -210,14 +210,14 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="evaluateProfileAge"/>
         </service-properties>
         <bean 
class="org.apache.unomi.plugins.baseplugin.actions.EvaluateProfileAgeAction"/>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="setEventOccurenceCount"/>
         </service-properties>
@@ -227,7 +227,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="sendEvent"/>
         </service-properties>
@@ -236,7 +236,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="mergeProfilesOnProperty"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index e8e1849..0d9fa50 100644
--- a/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/plugins/mail/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -42,7 +42,7 @@
         <property name="mailServerPassword" value="${mail.server.password}"/>
         <property name="mailServerSSLOnConnect" 
value="${mail.server.sslOnConnect}"/>
     </bean>
-    <service id="sendMailAction" ref="sendMailActionImpl" 
auto-export="interfaces">
+    <service id="sendMailAction" ref="sendMailActionImpl" 
interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="sendMail"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 478657a..839ad18 100644
--- a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -45,7 +45,7 @@
           
class="org.apache.unomi.plugins.request.actions.RequestHeaderToProfilePropertyAction">
     </bean>
     <service id="requestHeaderToProfilePropertyAction" 
ref="requestHeaderToProfilePropertyActionImpl"
-             auto-export="interfaces">
+             interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" 
value="requestHeaderToProfileProperty"/>
         </service-properties>
@@ -55,7 +55,7 @@
           
class="org.apache.unomi.plugins.request.actions.RequestParameterToProfilePropertyAction">
     </bean>
     <service id="RequestParameterToProfilePropertyAction" 
ref="requestParameterToProfilePropertyActionImpl"
-             auto-export="interfaces">
+             interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" 
value="requestParameterToProfileProperty"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b8177dd..cf3a182 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,12 +64,12 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <cxf.version>3.0.2</cxf.version>
+        <cxf.version>3.1.0</cxf.version>
         <version.jackson.core>2.6.6</version.jackson.core> <!-- version used 
by CXF -->
         <version.jackson.jaxb>2.6.6</version.jackson.jaxb> <!-- version used 
by CXF -->
-        <version.karaf>3.0.8</version.karaf>
-        <version.karaf.cellar>3.0.3</version.karaf.cellar>
-        <version.pax.exam>4.11.0</version.pax.exam>
+        <version.karaf>4.0.8</version.karaf>
+        <version.karaf.cellar>4.0.3</version.karaf.cellar>
+        <version.pax.exam>4.11.2</version.pax.exam>
         <elasticsearch.version>5.6.3</elasticsearch.version>
 
         <maven.compiler.source>1.7</maven.compiler.source>
@@ -624,14 +624,20 @@
 
             <!-- Apache Karaf dependencies -->
             <dependency>
-                <!-- scope is compile so all features (there is only one) are 
installed into startup.properties and the feature repo itself is not installed 
-->
                 <groupId>org.apache.karaf.features</groupId>
                 <artifactId>framework</artifactId>
                 <version>${version.karaf}</version>
                 <type>kar</type>
             </dependency>
             <dependency>
-                <!-- scope is runtime so the feature repo is listed in the 
features service config file, and features may be installed using the 
karaf-maven-plugin configuration -->
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>framework</artifactId>
+                <classifier>features</classifier>
+                <version>${version.karaf}</version>
+                <type>xml</type>
+                <scope>runtime</scope>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.karaf.features</groupId>
                 <artifactId>standard</artifactId>
                 <classifier>features</classifier>
@@ -878,6 +884,7 @@
                     <groupId>org.apache.felix</groupId>
                     <artifactId>maven-bundle-plugin</artifactId>
                     <version>3.2.0</version>
+                    <extensions>true</extensions>
                     <configuration>
                         <instructions>
                             
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
 
b/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 101c07c..0059ec7 100644
--- 
a/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ 
b/samples/tweet-button-plugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -23,7 +23,7 @@
     <reference id="profileService" 
interface="org.apache.unomi.api.services.ProfileService"/>
 
     <!-- Action executor -->
-    <service id="incrementTweetNumberAction" auto-export="interfaces">
+    <service id="incrementTweetNumberAction" 
interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="incrementTweetNumber"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/services/pom.xml
----------------------------------------------------------------------
diff --git a/services/pom.xml b/services/pom.xml
index 9707991..acd584d 100644
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -80,11 +80,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>javax.json</artifactId>
-        </dependency>
-
-        <dependency>
           <groupId>com.fasterxml.jackson.core</groupId>
           <artifactId>jackson-core</artifactId>
           <scope>provided</scope>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/services/src/main/java/org/apache/unomi/services/services/SegmentServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/services/src/main/java/org/apache/unomi/services/services/SegmentServiceImpl.java
 
b/services/src/main/java/org/apache/unomi/services/services/SegmentServiceImpl.java
index 169efd7..b0d7335 100644
--- 
a/services/src/main/java/org/apache/unomi/services/services/SegmentServiceImpl.java
+++ 
b/services/src/main/java/org/apache/unomi/services/services/SegmentServiceImpl.java
@@ -39,7 +39,6 @@ import org.osgi.framework.SynchronousBundleListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.json.*;
 import java.io.IOException;
 import java.net.URL;
 import java.security.MessageDigest;
@@ -65,38 +64,6 @@ public class SegmentServiceImpl extends AbstractServiceImpl 
implements SegmentSe
         logger.info("Initializing segment service...");
     }
 
-    public static void dumpJSON(JsonValue tree, String key, String 
depthPrefix) {
-        if (key != null)
-            logger.info(depthPrefix + "Key " + key + ": ");
-        switch (tree.getValueType()) {
-            case OBJECT:
-                logger.info(depthPrefix + "OBJECT");
-                JsonObject object = (JsonObject) tree;
-                for (String name : object.keySet())
-                    dumpJSON(object.get(name), name, depthPrefix + "  ");
-                break;
-            case ARRAY:
-                logger.info(depthPrefix + "ARRAY");
-                JsonArray array = (JsonArray) tree;
-                for (JsonValue val : array)
-                    dumpJSON(val, null, depthPrefix + "  ");
-                break;
-            case STRING:
-                JsonString st = (JsonString) tree;
-                logger.info(depthPrefix + "STRING " + st.getString());
-                break;
-            case NUMBER:
-                JsonNumber num = (JsonNumber) tree;
-                logger.info(depthPrefix + "NUMBER " + num.toString());
-                break;
-            case TRUE:
-            case FALSE:
-            case NULL:
-                logger.info(depthPrefix + tree.getValueType().toString());
-                break;
-        }
-    }
-
     public void setBundleContext(BundleContext bundleContext) {
         this.bundleContext = bundleContext;
     }

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 08e344c..7ff000a 100644
--- a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -60,7 +60,7 @@
         <property name="persistenceService" ref="persistenceService"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="definitionsService" ref="definitionsServiceImpl" 
auto-export="interfaces"/>
+    <service id="definitionsService" ref="definitionsServiceImpl" 
interface="org.apache.unomi.api.services.DefinitionsService"/>
 
     <bean id="eventServiceImpl" 
class="org.apache.unomi.services.services.EventServiceImpl"
         init-method="init" destroy-method="destroy">
@@ -89,7 +89,7 @@
             <cm:cm-properties persistent-id="org.apache.unomi.thirdparty" 
update="true" />
         </property>
     </bean>
-    <service id="eventService" ref="eventServiceImpl" 
auto-export="interfaces"/>
+    <service id="eventService" ref="eventServiceImpl" 
interface="org.apache.unomi.api.services.EventService"/>
 
     <bean id="goalsServiceImpl" 
class="org.apache.unomi.services.services.GoalsServiceImpl"
           init-method="postConstruct" destroy-method="preDestroy">
@@ -98,7 +98,7 @@
         <property name="rulesService" ref="rulesServiceImpl"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="goalsService" ref="goalsServiceImpl" 
auto-export="interfaces"/>
+    <service id="goalsService" ref="goalsServiceImpl" 
interface="org.apache.unomi.api.services.GoalsService"/>
 
     <bean id="actionExecutorDispatcherImpl"
           class="org.apache.unomi.services.actions.ActionExecutorDispatcher">
@@ -113,7 +113,7 @@
         <property name="actionExecutorDispatcher" 
ref="actionExecutorDispatcherImpl"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="rulesService" ref="rulesServiceImpl" 
auto-export="interfaces"/>
+    <service id="rulesService" ref="rulesServiceImpl" 
interface="org.apache.unomi.api.services.RulesService"/>
 
     <bean id="segmentServiceImpl" 
class="org.apache.unomi.services.services.SegmentServiceImpl"
           init-method="postConstruct" destroy-method="preDestroy">
@@ -125,7 +125,7 @@
         <property name="taskExecutionPeriod" value="86400000"/>
         <property name="segmentUpdateBatchSize" 
value="${services.segment.update.batchSize}" />
     </bean>
-    <service id="segmentService" ref="segmentServiceImpl" 
auto-export="interfaces"/>
+    <service id="segmentService" ref="segmentServiceImpl" 
interface="org.apache.unomi.api.services.SegmentService"/>
 
     <bean id="userListServiceImpl" 
class="org.apache.unomi.services.services.UserListServiceImpl"
           init-method="postConstruct" destroy-method="preDestroy">
@@ -148,14 +148,14 @@
         <property name="purgeSessionsAndEventsTime" 
value="${services.event.purge.existTime}"/>
         <property name="forceRefreshOnSave" 
value="${services.profile.forceRefreshOnSave}" />
     </bean>
-    <service id="profileService" ref="profileServiceImpl" 
auto-export="interfaces"/>
+    <service id="profileService" ref="profileServiceImpl" 
interface="org.apache.unomi.api.services.ProfileService"/>
 
     <bean id="queryServiceImpl" 
class="org.apache.unomi.services.services.QueryServiceImpl"
           init-method="postConstruct" destroy-method="preDestroy">
         <property name="persistenceService" ref="persistenceService"/>
         <property name="definitionsService" ref="definitionsServiceImpl"/>
     </bean>
-    <service id="queryService" ref="queryServiceImpl" 
auto-export="interfaces"/>
+    <service id="queryService" ref="queryServiceImpl" 
interface="org.apache.unomi.api.services.QueryService"/>
 
     <bean id="clusterServiceImpl" 
class="org.apache.unomi.services.services.ClusterServiceImpl"
           init-method="init" destroy-method="destroy">
@@ -169,7 +169,7 @@
         <property name="osgiConfigurationAdmin" ref="osgiConfigurationAdmin" />
         <property name="nodeStatisticsUpdateFrequency" 
value="${cluster.nodeStatisticsUpdateFrequency}" />
     </bean>
-    <service id="clusterService" ref="clusterServiceImpl" 
auto-export="interfaces"/>
+    <service id="clusterService" ref="clusterServiceImpl" 
interface="org.apache.unomi.api.services.ClusterService"/>
 
 
     <bean id="personalizationServiceImpl" 
class="org.apache.unomi.services.services.PersonalizationServiceImpl">
@@ -202,7 +202,7 @@
 
     <!-- Property merge strategy executors -->
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PropertyMergeStrategyExecutor">
         <service-properties>
             <entry key="propertyMergeStrategyExecutorId" 
value="defaultPropertyMergeStrategyExecutor"/>
         </service-properties>
@@ -210,7 +210,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PropertyMergeStrategyExecutor">
         <service-properties>
             <entry key="propertyMergeStrategyExecutorId" 
value="addPropertyMergeStrategyExecutor"/>
         </service-properties>
@@ -218,7 +218,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PropertyMergeStrategyExecutor">
         <service-properties>
             <entry key="propertyMergeStrategyExecutorId" 
value="mostRecentPropertyMergeStrategyExecutor"/>
         </service-properties>
@@ -226,7 +226,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PropertyMergeStrategyExecutor">
         <service-properties>
             <entry key="propertyMergeStrategyExecutorId" 
value="oldestPropertyMergeStrategyExecutor"/>
         </service-properties>
@@ -234,7 +234,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PropertyMergeStrategyExecutor">
         <service-properties>
             <entry key="propertyMergeStrategyExecutorId" 
value="nonEmptyPropertyMergeStrategyExecutor"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/3e4b50ab/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index ead1758..6fd6ca4 100644
--- a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -52,7 +52,12 @@
         <property name="profileIdCookieMaxAgeInSeconds" 
value="${web.contextserver.profileIdCookieMaxAgeInSeconds}"/>
     </bean>
 
-    <service id="contextServletService" auto-export="interfaces" 
ref="contextServlet">
+    <service id="contextServletService" ref="contextServlet">
+        <interfaces>
+            <value>javax.servlet.Servlet</value>
+            <value>javax.servlet.ServletConfig</value>
+            <value>java.io.Serializable</value>
+        </interfaces>
         <service-properties>
             <entry key="urlPatterns">
                 <array value-type="java.lang.String">
@@ -68,7 +73,12 @@
         <property name="eventService" ref="eventService"/>
         <property name="privacyService" ref="privacyService" />
     </bean>
-    <service id="eventsCollectorServletService" auto-export="interfaces" 
ref="eventsCollectorServlet">
+    <service id="eventsCollectorServletService" ref="eventsCollectorServlet">
+        <interfaces>
+            <value>javax.servlet.Servlet</value>
+            <value>javax.servlet.ServletConfig</value>
+            <value>java.io.Serializable</value>
+        </interfaces>
         <service-properties>
             <entry key="urlPatterns" value="/eventcollector"/>
         </service-properties>

Reply via email to