http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 81224c5..7d78a49 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
         <cxf.version>3.1.10</cxf.version>
         <version.jackson.core>2.8.6</version.jackson.core>
         <version.jackson.jaxb>2.8.6</version.jackson.jaxb>
-        <version.karaf>4.1.1</version.karaf>
+        <version.karaf>4.1.5</version.karaf>
         <version.karaf.cellar>4.1.0</version.karaf.cellar>
         <version.pax.exam>4.11.2</version.pax.exam>
         <elasticsearch.version>5.6.3</elasticsearch.version>
@@ -79,6 +79,16 @@
 
         <gatling.version>2.1.2</gatling.version>
         <scala-maven-plugin.version>3.2.0</scala-maven-plugin.version>
+
+        <!-- Librairies for Karaf packaging -->
+        <xerces.version>2.11.0_1</xerces.version>
+        <servicemix.specs.version>2.9.0</servicemix.specs.version>
+        <xalan.bundle.version>2.7.2_3</xalan.bundle.version>
+        
<xalan-serializer.bundle.version>2.7.2_1</xalan-serializer.bundle.version>
+        <jna.version>4.5.0</jna.version>
+        <httpclient-osgi.version>4.5.5</httpclient-osgi.version>
+        <httpcore-osgi.version>4.4.9</httpcore-osgi.version>
+
     </properties>
 
     <mailingLists>
@@ -255,6 +265,30 @@
             <id>jahia.3rdparty</id>
             
<url>https://devtools.jahia.com/nexus/content/repositories/thirdparty-releases/</url>
         </repository>
+        <!-- Apache snapshots -->
+        <repository>
+            <id>apache-snapshots</id>
+            <name>Apache Snapshots Repository</name>
+            
<url>http://repository.apache.org/content/groups/snapshots-group</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+        <!-- OPS4J SNAPSHOT repository -->
+        <repository>
+            <id>ops4j.sonatype.snapshots.deploy</id>
+            <name>OPS4J snapshot repository</name>
+            
<url>https://oss.sonatype.org/content/repositories/ops4j-snapshots/</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
     </repositories>
 
     <profiles>
@@ -643,7 +677,6 @@
                 <classifier>features</classifier>
                 <version>${version.karaf}</version>
                 <type>xml</type>
-                <scope>runtime</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.karaf.features</groupId>
@@ -705,13 +738,18 @@
             <dependency>
                 <groupId>org.apache.httpcomponents</groupId>
                 <artifactId>httpclient-osgi</artifactId>
-                <version>4.3.6</version>
+                <version>${httpclient-osgi.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient-osgi</artifactId>
+                <version>${httpclient-osgi.version}</version>
                 <type>bundle</type>
             </dependency>
             <dependency>
                 <groupId>org.apache.httpcomponents</groupId>
                 <artifactId>httpcore-osgi</artifactId>
-                <version>4.3.3</version>
+                <version>${httpcore-osgi.version}</version>
             </dependency>
 
             <!-- Dependencies for pax exam karaf container -->

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 41764cc..01ae5ab 100644
--- a/samples/trainingplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/samples/trainingplugin/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="trainingNotifAction" auto-export="interfaces">
+    <service id="trainingNotifAction" 
interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="training"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/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 7ff000a..f5d20aa 100644
--- a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -133,7 +133,12 @@
         <property name="definitionsService" ref="definitionsServiceImpl"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="userListService" ref="userListServiceImpl" 
auto-export="interfaces"/>
+    <service id="userListService" ref="userListServiceImpl">
+        <interfaces>
+            <value>org.osgi.framework.SynchronousBundleListener</value>
+            <value>org.apache.unomi.api.services.UserListService</value>
+        </interfaces>
+    </service>
 
     <bean id="profileServiceImpl" 
class="org.apache.unomi.services.services.ProfileServiceImpl"
           init-method="postConstruct" destroy-method="preDestroy">
@@ -176,7 +181,7 @@
         <property name="profileService" ref="profileServiceImpl"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="personalizationService" ref="personalizationServiceImpl" 
auto-export="interfaces"/>
+    <service id="personalizationService" ref="personalizationServiceImpl" 
interface="org.apache.unomi.api.services.PersonalizationService" />
 
     <!-- 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="eventListenerServices"
@@ -242,7 +247,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PersonalizationStrategy">
         <service-properties>
             <entry key="personalizationStrategyId" value="matching-first"/>
         </service-properties>
@@ -251,7 +256,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PersonalizationStrategy">
         <service-properties>
             <entry key="personalizationStrategyId" value="random"/>
         </service-properties>
@@ -260,7 +265,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.PersonalizationStrategy">
         <service-properties>
             <entry key="personalizationStrategyId" value="score-sorted"/>
         </service-properties>
@@ -279,7 +284,11 @@
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
 
-    <service id="configSharingService" ref="configSharingServiceImpl" 
auto-export="interfaces">
+    <service id="configSharingService" ref="configSharingServiceImpl">
+        <interfaces>
+            <value>org.osgi.framework.SynchronousBundleListener</value>
+            <value>org.apache.unomi.api.services.ConfigSharingService</value>
+        </interfaces>
     </service>
 
     <!-- Cluster System Statistics Event Handler -->

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/src/site/markdown/versions/master/custom-extensions.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/versions/master/custom-extensions.md 
b/src/site/markdown/versions/master/custom-extensions.md
index 43b3635..6f089ec 100644
--- a/src/site/markdown/versions/master/custom-extensions.md
+++ b/src/site/markdown/versions/master/custom-extensions.md
@@ -292,7 +292,7 @@ content:
     
         <!-- Action executors -->
     
-        <service auto-export="interfaces">
+        <service interface="org.apache.unomi.api.actions.ActionExecutor">
             <service-properties>
                 <entry key="actionExecutorId" value="addToLists"/>
             </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/src/site/markdown/versions/master/twitter-sample.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/versions/master/twitter-sample.md 
b/src/site/markdown/versions/master/twitter-sample.md
index 27b0d56..5d6c25c 100644
--- a/src/site/markdown/versions/master/twitter-sample.md
+++ b/src/site/markdown/versions/master/twitter-sample.md
@@ -321,7 +321,7 @@ The action executor references the actual implementation of 
the action as define
     <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/d2bfe620/tools/shell-commands/pom.xml
----------------------------------------------------------------------
diff --git a/tools/shell-commands/pom.xml b/tools/shell-commands/pom.xml
index 3bcbb6e..40d35c4 100644
--- a/tools/shell-commands/pom.xml
+++ b/tools/shell-commands/pom.xml
@@ -33,7 +33,7 @@
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.console</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/ConsoleUtils.java
----------------------------------------------------------------------
diff --git 
a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/ConsoleUtils.java
 
b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/ConsoleUtils.java
index 0f5cb5c..cae0561 100644
--- 
a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/ConsoleUtils.java
+++ 
b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/utils/ConsoleUtils.java
@@ -16,9 +16,9 @@
  */
 package org.apache.unomi.shell.migration.utils;
 
-import jline.console.ConsoleReader;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.felix.service.command.CommandSession;
+import org.jline.reader.LineReader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -77,7 +77,7 @@ public class ConsoleUtils {
      * @throws IOException
      */
     public static String promptMessageToUser(CommandSession session, String 
msg) throws IOException {
-        ConsoleReader reader = (ConsoleReader) session.get(".jline.reader");
+        LineReader reader = (LineReader) session.get(".jline.reader");
         return reader.readLine(msg, null);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/tools/shell-commands/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git 
a/tools/shell-commands/src/main/resources/OSGI-INF/blueprint/blueprint.xml 
b/tools/shell-commands/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index a7aa6ce..14ba1ce 100644
--- a/tools/shell-commands/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/tools/shell-commands/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -83,6 +83,6 @@
         </property>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="unomiManagementService" ref="unomiManagementServiceImpl" 
auto-export="interfaces"/>
+    <service id="unomiManagementService" ref="unomiManagementServiceImpl" 
interface="org.apache.unomi.shell.services.UnomiManagementService" />
 
 </blueprint>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/tools/shell-dev-commands/pom.xml
----------------------------------------------------------------------
diff --git a/tools/shell-dev-commands/pom.xml b/tools/shell-dev-commands/pom.xml
index e719c11..4267045 100644
--- a/tools/shell-dev-commands/pom.xml
+++ b/tools/shell-dev-commands/pom.xml
@@ -33,14 +33,14 @@
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.console</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.table</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java
----------------------------------------------------------------------
diff --git 
a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java
 
b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java
index a203aa0..20dde1f 100644
--- 
a/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java
+++ 
b/tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/ListCommandSupport.java
@@ -18,8 +18,8 @@ package org.apache.unomi.shell.commands;
 
 import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.apache.karaf.shell.table.Row;
-import org.apache.karaf.shell.table.ShellTable;
+import org.apache.karaf.shell.support.table.Row;
+import org.apache.karaf.shell.support.table.ShellTable;
 import org.apache.unomi.common.DataTable;
 
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/wab/src/main/java/org/apache/unomi/web/ClientServlet.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/ClientServlet.java 
b/wab/src/main/java/org/apache/unomi/web/ClientServlet.java
index e0aa2e8..f385a53 100644
--- a/wab/src/main/java/org/apache/unomi/web/ClientServlet.java
+++ b/wab/src/main/java/org/apache/unomi/web/ClientServlet.java
@@ -96,9 +96,11 @@ public class ClientServlet extends HttpServlet {
     public void donwloadCurrentProfile(HttpServletRequest request, 
HttpServletResponse response, String downloadFileType) throws ServletException, 
IOException {
         String cookieProfileId = null;
         Cookie[] cookies = request.getCookies();
-        for (Cookie cookie : cookies) {
-            if (profileIdCookieName.equals(cookie.getName())) {
-                cookieProfileId = cookie.getValue();
+        if (cookies != null) {
+            for (Cookie cookie : cookies) {
+                if (profileIdCookieName.equals(cookie.getName())) {
+                    cookieProfileId = cookie.getValue();
+                }
             }
         }
         if (cookieProfileId != null) {

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java 
b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
index a191855..a507bdd 100644
--- a/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
+++ b/wab/src/main/java/org/apache/unomi/web/ContextServlet.java
@@ -94,9 +94,11 @@ public class ContextServlet extends HttpServlet {
 
         String cookieProfileId = null;
         Cookie[] cookies = httpServletRequest.getCookies();
-        for (Cookie cookie : cookies) {
-            if (profileIdCookieName.equals(cookie.getName())) {
-                cookieProfileId = cookie.getValue();
+        if (cookies != null) {
+            for (Cookie cookie : cookies) {
+                if (profileIdCookieName.equals(cookie.getName())) {
+                    cookieProfileId = cookie.getValue();
+                }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java 
b/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
index 07f24e5..e673289 100644
--- a/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
+++ b/wab/src/main/java/org/apache/unomi/web/EventsCollectorServlet.java
@@ -159,9 +159,11 @@ public class EventsCollectorServlet extends HttpServlet {
             } else {
                 // Session uses anonymous profile, try to find profile from 
cookie
                 Cookie[] cookies = request.getCookies();
-                for (Cookie cookie : cookies) {
-                    if (profileIdCookieName.equals(cookie.getName())) {
-                        profile = profileService.load(cookie.getValue());
+                if (cookies != null) {
+                    for (Cookie cookie : cookies) {
+                        if (profileIdCookieName.equals(cookie.getName())) {
+                            profile = profileService.load(cookie.getValue());
+                        }
                     }
                 }
                 if (profile == null) {

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
----------------------------------------------------------------------
diff --git a/wab/src/main/java/org/apache/unomi/web/HttpUtils.java 
b/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
index 8965aad..5a015d3 100644
--- a/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
+++ b/wab/src/main/java/org/apache/unomi/web/HttpUtils.java
@@ -74,8 +74,12 @@ public class HttpUtils {
     public static String dumpRequestCookies(Cookie[] cookies) {
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.append("Cookies:\n");
-        for (Cookie cookie : cookies) {
-            stringBuilder.append("  
").append(cookie.getName()).append("=").append(cookie.getValue()).append(" 
domain=").append(cookie.getDomain()).append(" 
path=").append(cookie.getPath()).append(" 
maxAge=").append(cookie.getMaxAge()).append(" 
httpOnly=").append(cookie.isHttpOnly()).append(" 
secure=").append(cookie.getSecure()).append(" 
version=").append(cookie.getVersion()).append(" 
comment=").append(cookie.getComment()).append("\n");
+        if (cookies == null) {
+            stringBuilder.append("  none");
+        } else {
+            for (Cookie cookie : cookies) {
+                stringBuilder.append("  
").append(cookie.getName()).append("=").append(cookie.getValue()).append(" 
domain=").append(cookie.getDomain()).append(" 
path=").append(cookie.getPath()).append(" 
maxAge=").append(cookie.getMaxAge()).append(" 
httpOnly=").append(cookie.isHttpOnly()).append(" 
secure=").append(cookie.getSecure()).append(" 
version=").append(cookie.getVersion()).append(" 
comment=").append(cookie.getComment()).append("\n");
+            }
         }
         return stringBuilder.toString();
     }

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/d2bfe620/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 6fd6ca4..416d920 100644
--- a/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/wab/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -90,7 +90,12 @@
         <property name="profileIdCookieName" 
value="${web.contextserver.profileIdCookieName}"/>
     </bean>
 
-    <service id="clientServletService" auto-export="interfaces" 
ref="clientServlet">
+    <service id="clientServletService" ref="clientServlet">
+        <interfaces>
+            <value>javax.servlet.Servlet</value>
+            <value>javax.servlet.ServletConfig</value>
+            <value>java.io.Serializable</value>
+        </interfaces>
         <service-properties>
             <entry key="urlPatterns" value="/client/*"/>
         </service-properties>

Reply via email to