[jboss-svn-commits] JBL Code SVN: r18650 - in labs/jbosslabs/labs-3.0-build: services/events-service/src/main/java/org/jboss/labs/events and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 1 15:20:30 EST 2008


Author: unibrew
Date: 2008-03-01 15:20:30 -0500 (Sat, 01 Mar 2008)
New Revision: 18650

Added:
   labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/EventListenersStorageServiceInterface.java
Modified:
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/EventsService.java
   labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java
   labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventListenersStorageService.java
   labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventsServiceBean.java
   labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java
Log:
[JBLAB-898] Some corrections to EventsService.

Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/EventsService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/EventsService.java	2008-03-01 18:26:45 UTC (rev 18649)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/EventsService.java	2008-03-01 20:20:30 UTC (rev 18650)
@@ -27,14 +27,29 @@
 import java.util.EventListener;
 
 /**
- * Local interface for an EventsService Stateless Session Bean.
+ * Local interface for an EventsService Stateless Session Bean which
+ * enables other services to register/unregister
+ * event listeners for different types of event types.
  * 
  * @author <a href="mailto:rkozmik at redhat.com">Ryszard Kozmik</a>
  */
 @Local
 public interface EventsService {
-
+    
+    /**
+     * @param clazz the purpose for this parameter is to have one registered listener
+     *          class that uses it. Important while registered services are being redeployed
+     *          to enable GC to collect old listener.
+     * @param listener new implementation of specific EventListener
+     * @return A boolean value telling whether the listener was successfully registered or not.
+     */
     public boolean addEventsListener( Class clazz , EventListener listener );
+    
+    /**
+     * @param clazz in this case Class object is used as a key to search for a listener to remove.
+     * @param listener a listener object to remove
+     * @return A boolean value telling whether the listener was successfully unregistered or not.
+     */
     public boolean removeEventListener( EventListener listener );
 
 }

Modified: labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java	2008-03-01 18:26:45 UTC (rev 18649)
+++ labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java	2008-03-01 20:20:30 UTC (rev 18650)
@@ -30,7 +30,7 @@
 import javax.ejb.EJB;
 
 import org.jboss.annotation.ejb.Consumer;
-import org.jboss.labs.events.service.EventListenersStorageServiceRemote;
+import org.jboss.labs.events.service.EventListenersStorageServiceInterface;
 
 /**
  * Project events consumer which receives all events and propagets them to all listeners.
@@ -44,7 +44,7 @@
     })
 public class ProjectEventsConsumer implements ProjectEvents {
 
-    @EJB EventListenersStorageServiceRemote storage;
+    @EJB EventListenersStorageServiceInterface storage;
 
     public ProjectEventsConsumer() {
     }

Added: labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/EventListenersStorageServiceInterface.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/EventListenersStorageServiceInterface.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/EventListenersStorageServiceInterface.java	2008-03-01 20:20:30 UTC (rev 18650)
@@ -0,0 +1,41 @@
+/*
+* JBoss Labs. http://labs.jboss.com/jbosslabs
+*
+* Copyright © 2008  Red Hat Middleware, LLC. All rights reserved.
+*
+* This copyrighted material is made available to anyone wishing to use,
+* modify, copy, or redistribute it subject to the terms and conditions
+* of the GNU Lesser General Public License, v. 2.1.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT A WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License, v.2.1 along with this distribution; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+* 02110-1301, USA.
+*
+* Red Hat Author(s): Bob McWhirter, Przemyslaw Dej, Ryszard Kozmik,
+*     Tomasz Szymanski, Adam Warski, Pawel Wrzeszcz
+*/
+
+package org.jboss.labs.events.service;
+
+import java.util.EventListener;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:rkozmik at redhat.com">Ryszard Kozmik</a>
+ */
+public interface EventListenersStorageServiceInterface {
+
+    public <T extends EventListener> boolean addEventListener ( Class clazz, T listener );
+    
+    public <T extends EventListener> boolean removeEventListener( T listener);
+    
+    public <T extends EventListener> List<T> findAllListeners ( Class<? extends T> type );
+
+}

Modified: labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventListenersStorageService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventListenersStorageService.java	2008-03-01 18:26:45 UTC (rev 18649)
+++ labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventListenersStorageService.java	2008-03-01 20:20:30 UTC (rev 18650)
@@ -25,18 +25,18 @@
 
 import java.util.*;
 
-import javax.ejb.Remote;
+import javax.ejb.Local;
 
 import org.jboss.annotation.ejb.Service;
-import org.jboss.labs.events.service.EventListenersStorageServiceRemote;
+import org.jboss.labs.events.service.EventListenersStorageServiceInterface;
 
 
 /**
  * @author <a href="mailto:rkozmik at redhat.com">Ryszard Kozmik</a>
  */
 @Service
- at Remote(EventListenersStorageServiceRemote.class)
-public class EventListenersStorageService implements EventListenersStorageServiceRemote {
+ at Local(EventListenersStorageServiceInterface.class)
+public class EventListenersStorageService implements EventListenersStorageServiceInterface {
 
     private Set<Entry> listeners = new HashSet<Entry>();
 
@@ -61,7 +61,7 @@
     public <T extends EventListener> List<T> findAllListeners (Class<? extends T> type) {
         List<T> list = new LinkedList<T>();
         for ( Entry<T> entry : listeners ) {
-            if ( entry.getListener().getClass().getName().equals(type.getClass().getName())) {
+            if ( entry.getListener().getClass().getInterfaces()[0].getName().equals(type.getName())) {
                 list.add(entry.getListener());
             }
         }

Modified: labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventsServiceBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventsServiceBean.java	2008-03-01 18:26:45 UTC (rev 18649)
+++ labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/service/impl/EventsServiceBean.java	2008-03-01 20:20:30 UTC (rev 18650)
@@ -28,7 +28,7 @@
 import javax.ejb.EJB;
 import javax.ejb.Stateless;
 
-import org.jboss.labs.events.service.EventListenersStorageServiceRemote;
+import org.jboss.labs.events.service.EventListenersStorageServiceInterface;
 import org.jboss.labs.events.service.EventsService;
 
 
@@ -38,17 +38,17 @@
  * 
  * @author <a href="mailto:rkozmik at redhat.com">Ryszard Kozmik</a>
  */
- at Stateless(name="EventsService")
+ at Stateless
 public class EventsServiceBean implements EventsService {
 
     // This is where all listeners are stored.
-    @EJB EventListenersStorageServiceRemote storage;
+    @EJB EventListenersStorageServiceInterface storage;
 
     /**
-     * @param clazz - the purpose for this parameter is to have one registered listener
+     * @param clazz the purpose for this parameter is to have one registered listener
      *          class that uses it. Important while registered services are being redeployed
      *          to enable GC to collect old listener.
-     * @param listener - new implementation of specific EventListener
+     * @param listener new implementation of specific EventListener
      * @return A boolean value telling whether the listener was successfully registered or not.
      */
     public boolean addEventsListener( Class clazz, EventListener listener ) {
@@ -56,8 +56,8 @@
     }
     
     /**
-     * @param clazz - in this case Class object is used as a key to search for a listener to remove.
-     * @param listener - a listener object to remove
+     * @param clazz in this case Class object is used as a key to search for a listener to remove.
+     * @param listener a listener object to remove
      * @return A boolean value telling whether the listener was successfully unregistered or not.
      */
     public boolean removeEventListener( EventListener listener ) {

Modified: labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java	2008-03-01 18:26:45 UTC (rev 18649)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java	2008-03-01 20:20:30 UTC (rev 18650)
@@ -1,7 +1,7 @@
 /*
 * JBoss Labs. http://labs.jboss.com/jbosslabs
 *
-* Copyright © 2008  Red Hat Middleware, LLC. All rights reserved.
+* Copyright � 2008  Red Hat Middleware, LLC. All rights reserved.
 *
 * This copyrighted material is made available to anyone wishing to use,
 * modify, copy, or redistribute it subject to the terms and conditions
@@ -58,7 +58,7 @@
 
     public void start() throws Exception {
         listener = new ProjectEventListener();
-        eventsService.addEventsListener(ProjectEvents.class, listener);
+        eventsService.addEventsListener(this.getClass(), listener);
         log.info("ProjectServiceEventListener started");
     }
 




More information about the jboss-svn-commits mailing list