FELIX-5117 : Call to SSOHttpSessionListener#sessionDestroyed is done after the session is invalidated. Apply patch from Xavier Fournet

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1716434 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java b/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java
index 9761f56..1dc718e 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HttpSessionWrapper.java
@@ -318,6 +318,11 @@
     {
         this.checkInvalid();
 
+        // session listener must be called before the session is invalidated
+        if (context.getHttpSessionListener() != null) {
+            context.getHttpSessionListener().sessionDestroyed(new HttpSessionEvent(this));
+        }
+
         if ( this.keyPrefix != null )
         {
             this.delegate.removeAttribute(ATTR_CREATED + this.sessionId);
@@ -342,10 +347,6 @@
             this.delegate.invalidate();
         }
 
-        if ( context.getHttpSessionListener() != null )
-        {
-            context.getHttpSessionListener().sessionDestroyed(new HttpSessionEvent(this));
-        }
         this.isInvalid = true;
     }