[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