[gatein-commits] gatein SVN: r236 - in components/wsrp/trunk: consumer/src/main/java/org/gatein/wsrp/consumer and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Oct 2 12:33:19 EDT 2009


Author: chris.laprun at jboss.com
Date: 2009-10-02 12:33:19 -0400 (Fri, 02 Oct 2009)
New Revision: 236

Modified:
   components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEvent.java
   components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventBroadcaster.java
   components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventListener.java
   components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/SessionHandler.java
   components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/WSRPConsumerImpl.java
Log:
- Improved integration API:
  + Changed SessionEventBroadcaster to an interface.
  + Added event type on SessionEvent.
  + Streamlined SessionEventListener interface.
- Adapted SessionHandler and WSRPConsumerImpl to changes in integration interface.


Modified: components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEvent.java
===================================================================
--- components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEvent.java	2009-10-02 16:30:12 UTC (rev 235)
+++ components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEvent.java	2009-10-02 16:33:19 UTC (rev 236)
@@ -31,5 +31,12 @@
  */
 public interface SessionEvent
 {
+   enum SessionEventType
+   {
+      SESSION_CREATED, SESSION_DESTROYED
+   }
+
+   SessionEventType getType();
+
    HttpSession getSession();
 }

Modified: components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventBroadcaster.java
===================================================================
--- components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventBroadcaster.java	2009-10-02 16:30:12 UTC (rev 235)
+++ components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventBroadcaster.java	2009-10-02 16:33:19 UTC (rev 236)
@@ -24,20 +24,14 @@
 package org.gatein.wsrp.api;
 
 /**
- * TODO: Implement
- *
  * @author <a href="mailto:chris.laprun at jboss.com">Chris Laprun</a>
  * @version $Revision$
  */
-public class SessionEventBroadcaster
+public interface SessionEventBroadcaster
 {
-   public void registerListener(String listenerId, SessionEventListener listener)
-   {
-      throw new UnsupportedOperationException("registerListener");
-   }
+   public void registerListener(String listenerId, SessionEventListener listener);
 
-   public void unregisterListener(String listenerId)
-   {
-      throw new UnsupportedOperationException("unregisterListener");
-   }
+   public void unregisterListener(String listenerId);
+
+   public void notifyListenersOf(SessionEvent event);
 }

Modified: components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventListener.java
===================================================================
--- components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventListener.java	2009-10-02 16:30:12 UTC (rev 235)
+++ components/wsrp/trunk/api/src/main/java/org/gatein/wsrp/api/SessionEventListener.java	2009-10-02 16:33:19 UTC (rev 236)
@@ -29,7 +29,5 @@
  */
 public interface SessionEventListener
 {
-   void sessionCreated(SessionEvent event);
-
-   void sessionDestroyed(SessionEvent event);
+   void onSessionEvent(SessionEvent event);
 }

Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/SessionHandler.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/SessionHandler.java	2009-10-02 16:30:12 UTC (rev 235)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/SessionHandler.java	2009-10-02 16:33:19 UTC (rev 236)
@@ -390,30 +390,28 @@
 
    // SessionEventListener implementation
 
-   public void sessionCreated(SessionEvent event)
+   public void onSessionEvent(SessionEvent event)
    {
-      // nothing to do
-   }
-
-   public void sessionDestroyed(SessionEvent event)
-   {
-      String id = event.getSession().getId();
-
-      // check if the session being destroyed is the one associated with this thread
-      ProducerSessionInformation info = RequestHeaderClientHandler.getCurrentProducerSessionInformation();
-      if (info != null)
+      if (SessionEvent.SessionEventType.SESSION_DESTROYED.equals(event.getType()))
       {
-         if (id != null && id.equals(info.getParentSessionId()))
+         String id = event.getSession().getId();
+
+         // check if the session being destroyed is the one associated with this thread
+         ProducerSessionInformation info = RequestHeaderClientHandler.getCurrentProducerSessionInformation();
+         if (info != null)
          {
-            try
+            if (id != null && id.equals(info.getParentSessionId()))
             {
-               internalReleaseSessions(info.removeSessions());
+               try
+               {
+                  internalReleaseSessions(info.removeSessions());
+               }
+               catch (PortletInvokerException e)
+               {
+                  // already logged...
+               }
+               log.debug("Released session '" + id + "' after session was destroyed by Portal.");
             }
-            catch (PortletInvokerException e)
-            {
-               // already logged...
-            }
-            log.debug("Released session '" + id + "' after session was destroyed by Portal.");
          }
       }
    }

Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/WSRPConsumerImpl.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/WSRPConsumerImpl.java	2009-10-02 16:30:12 UTC (rev 235)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/WSRPConsumerImpl.java	2009-10-02 16:33:19 UTC (rev 236)
@@ -683,13 +683,8 @@
       return getHttpRequest(invocation).getSession();
    }
 
-   public void sessionCreated(SessionEvent event)
+   public void onSessionEvent(SessionEvent event)
    {
-      sessionHandler.sessionCreated(event);
+      sessionHandler.onSessionEvent(event);
    }
-
-   public void sessionDestroyed(SessionEvent event)
-   {
-      sessionHandler.sessionDestroyed(event);
-   }
 }



More information about the gatein-commits mailing list