Author: mes
Date: 2010-08-31 16:42:42 -0700 (Tue, 31 Aug 2010)
New Revision: 21648

Modified:
   
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyListenerAdapter.java
   
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyMicroListenerAdapter.java
   
core3/event-impl/trunk/src/test/java/org/cytoscape/event/CyEventHelperTest.java
Log:
slightly improved unit tests

Modified: 
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyListenerAdapter.java
===================================================================
--- 
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyListenerAdapter.java
    2010-08-31 23:42:10 UTC (rev 21647)
+++ 
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyListenerAdapter.java
    2010-08-31 23:42:42 UTC (rev 21648)
@@ -54,10 +54,9 @@
 public class CyListenerAdapter {
        
        private static final Logger logger = 
LoggerFactory.getLogger(CyListenerAdapter.class);
-       
        private static final Executor EXEC = Executors.newCachedThreadPool();
+
        private final Map<Class<?>,ServiceTracker> serviceTrackers; 
-       
        private final BundleContext bc;
 
        /**
@@ -74,19 +73,14 @@
         * Calls each listener found in the Service Registry identified by the 
listenerClass
         * and filter with the supplied event.
         *
-        * @param <E>  DOCUMENT ME!
-        * @param <L>  DOCUMENT ME!
-        * @param event  DOCUMENT ME!
-        * @param listenerClass  DOCUMENT ME!
+        * @param <E> The type of event. 
+        * @param event  The event object. 
         */
        public <E extends CyEvent> void fireSynchronousEvent(final E event) {
                final Class<?> listenerClass = event.getListenerClass();
                
-//             logger.debug("ATTEMPTING TO FIRE SYNC: " + event.toString() + " 
for " + listenerClass.getName());
-               
                final Object[] listeners = getListeners(listenerClass);
                if ( listeners == null ) {
-//                     logger.debug("Sync listeners is null");
                        return;
                } 
 
@@ -94,7 +88,6 @@
                        final Method method = 
listenerClass.getMethod("handleEvent", event.getClass());
 
                        for (final Object listener : listeners) {
-//                             logger.debug("SYNC firing event: " + 
event.getClass().toString() + "  for listener: " + listener.toString());
                                method.invoke(listenerClass.cast(listener), 
event);
                        }
                } catch (NoSuchMethodException e) {
@@ -115,17 +108,14 @@
         * and filter with the supplied event in a new thread.<p>This method 
should <b>ONLY</b>
         * ever be called with a thread safe event object!</p>
         *
-        * @param <E>  DOCUMENT ME!
-        * @param <L>  DOCUMENT ME!
-        * @param event  DOCUMENT ME!
-        * @param listenerClass  DOCUMENT ME!
+        * @param <E> The type of event. 
+        * @param event  The event object. 
         */
        public <E extends CyEvent> void fireAsynchronousEvent(final E event) {
                final Class listenerClass = event.getListenerClass(); 
-       //      logger.debug("ATTEMPTING TO FIRE async: " + event.toString() + 
" for " + listenerClass.getName());
+
                final Object[] listeners = getListeners(listenerClass);
                if ( listeners == null ) {
-       //              logger.debug("async listeners is null");
                        return;
                } 
 
@@ -133,7 +123,6 @@
                        final Method method = 
listenerClass.getMethod("handleEvent", event.getClass());
 
                        for (final Object listener : listeners) {
-       //                      logger.debug("async firing event: " + 
event.getClass().toString() + "  for listener: " + 
listener.getClass().getName());
                                EXEC.execute(new Runner(method, listener, 
event, listenerClass));
                        }
                } catch (NoSuchMethodException e) {
@@ -143,6 +132,17 @@
                }
        }
 
+       private Object[] getListeners(Class<?> listenerClass) {
+               if ( !serviceTrackers.containsKey( listenerClass ) ) {
+                       //logger.debug("added new service tracker for " + 
listenerClass);
+                       final ServiceTracker st = new ServiceTracker(bc, 
listenerClass.getName(), null);
+                       st.open();
+                       serviceTrackers.put( listenerClass, st );
+               }
+
+               return serviceTrackers.get(listenerClass).getServices();
+       }
+
        private static class Runner implements Runnable {
                private final Method method;
                private final Object listener;
@@ -168,16 +168,4 @@
                        }
                }
        }
-
-
-       private Object[] getListeners(Class<?> listenerClass) {
-               if ( !serviceTrackers.containsKey( listenerClass ) ) {
-                       //logger.debug("added new service tracker for " + 
listenerClass);
-                       final ServiceTracker st = new ServiceTracker(bc, 
listenerClass.getName(), null);
-                       st.open();
-                       serviceTrackers.put( listenerClass, st );
-               }
-
-               return serviceTrackers.get(listenerClass).getServices();
-       }
 }

Modified: 
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyMicroListenerAdapter.java
===================================================================
--- 
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyMicroListenerAdapter.java
       2010-08-31 23:42:10 UTC (rev 21647)
+++ 
core3/event-impl/trunk/src/main/java/org/cytoscape/event/internal/CyMicroListenerAdapter.java
       2010-08-31 23:42:42 UTC (rev 21648)
@@ -151,7 +151,7 @@
 
        // Simply iterates over the provided list of Listeners and
        // executes the specified method on each Listener.
-       private class ListenerHandler implements InvocationHandler {
+       private static class ListenerHandler implements InvocationHandler {
                private final Set<Object> ol; 
 
                public ListenerHandler() {

Modified: 
core3/event-impl/trunk/src/test/java/org/cytoscape/event/CyEventHelperTest.java
===================================================================
--- 
core3/event-impl/trunk/src/test/java/org/cytoscape/event/CyEventHelperTest.java 
    2010-08-31 23:42:10 UTC (rev 21647)
+++ 
core3/event-impl/trunk/src/test/java/org/cytoscape/event/CyEventHelperTest.java 
    2010-08-31 23:42:42 UTC (rev 21648)
@@ -57,7 +57,8 @@
   */
 public class CyEventHelperTest extends AbstractCyEventHelperTest {
 
-       private ServiceReference serviceRef;
+       private ServiceReference stubServiceRef;
+       private ServiceReference fakeServiceRef;
        private BundleContext bc;
 
        /**
@@ -65,20 +66,35 @@
         */
        public void setUp() {
                service = new StubCyListenerImpl();
-               serviceRef = new MockServiceReference();
 
+               stubServiceRef = new MockServiceReference();
+               fakeServiceRef = new MockServiceReference();
+
                bc = new MockBundleContext() {
                                public ServiceReference 
getServiceReference(String clazz) {
-                                               return serviceRef;
+                                       if ( clazz.equals( 
FakeCyListener.class.getName() ) )
+                                               return fakeServiceRef;
+                                       else if ( clazz.equals( 
StubCyListener.class.getName() ) )
+                                               return stubServiceRef;
+                                       else
+                                               return null;
                                }
 
                                public ServiceReference[] 
getServiceReferences(String clazz, String filter)
                                    throws InvalidSyntaxException {
-                                               return new ServiceReference[] { 
serviceRef };
+                                       if ( clazz.equals( 
FakeCyListener.class.getName() ) )
+                                               return new ServiceReference[] { 
fakeServiceRef };
+                                       else if ( clazz.equals( 
StubCyListener.class.getName() ) )
+                                               return new ServiceReference[] { 
stubServiceRef };
+                                       else
+                                               return null;
                                }
 
                                public Object getService(ServiceReference ref) {
+                                       if ( ref == stubServiceRef )
                                                return service;
+                                       else 
+                                               return null;
                                }
                        };
 

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to