Author: kylem
Date: Mon Dec 20 17:02:34 2004
New Revision: 122919

URL: http://svn.apache.org/viewcvs?view=rev&rev=122919
Log:
Added support for unicast/multicast EventSet behaviors, per the JavaBeans spec. 
 By default, all EventSets are multicast, but a new annotation element on the 
@EventSet interface allows control developers to declare an EventSet as unicast 
(single listener) only.  If unicast, event listener registration methods will 
throw java.util.TooManyListenersException if multiple listeners attempt to 
register on a given bean instance.  For multicast EventSets, the return type of 
all event methods must be void.  This is validated by the processor and 
appropriate errors are generated.   All tests that check event set or beaninfo 
behaviors have been updated.


Added:
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/UnicastEventNotifier.java
Modified:
   
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm
   
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo

Modified: 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java&r1=122918&p2=incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java
       (original)
+++ 
incubator/beehive/trunk/controls/src/api/org/apache/beehive/controls/api/events/EventSet.java
       Mon Dec 20 17:02:34 2004
@@ -63,4 +63,17 @@
 @Target({ElementType.TYPE})
 public @interface EventSet
 {
+    /**
+     * Defines whether the events defined by the interface are unicast events. 
 A unicast
+     * event set may have only a single listener registered to receive events 
for any
+     * given bean instance.   Any attempt to register additional listeners 
will result in
+     * a <code>java.util.TooManyListenersException</code> being thrown by the 
event
+     * listener registration method.
+     * <p>
+     * If an event set provides multicast support (the default), then it may 
only declare
+     * event methods that have a <code>void</code> return type.  Unicast event 
sets may
+     * support event return values, that will be provided by the (single) 
registered
+     * listener.
+     */
+    public boolean unicast() default false;
 }

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
      (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ControlBean.java
      Mon Dec 20 17:02:34 2004
@@ -414,9 +414,9 @@
     /**
      * Sets the EventNotifier for this ControlBean
      */
-    protected void setEventNotifier(Class eventSet, EventNotifier notifier)
+    protected void setEventNotifier(Class eventSet, Object notifier)
     {
-        _notifierMap.put(eventSet,notifier);
+        _notifiers.put(eventSet,notifier);
 
         //
         // Register this notifier for all EventSet interfaces up the interface 
inheritance
@@ -428,7 +428,7 @@
         while (i.hasNext())
         {
             Class superEventSet = i.next();
-            _notifierMap.put(superEventSet,notifier);
+            _notifiers.put(superEventSet,notifier);
         }
     }
 
@@ -458,13 +458,16 @@
     }
 
     /**
-     * Returns the EventNotifier for this ControlBean
+     * Returns an EventNotifier/UnicastEventNotifier for this ControlBean for 
the target event set
      */
-    protected EventNotifier getEventNotifier(Class eventSet)
+    protected Object getEventNotifier(Class eventSet)
     {
-        return _notifierMap.get(eventSet);
+        return _notifiers.get(eventSet);
     }
 
+    /**
+     * Returns the list of InvokeListeners for this ControlBean
+     */
     /* package */ Vector<InvokeListener> getInvokeListeners()
     {
         if (_invokeListeners == null)
@@ -585,7 +588,7 @@
         // Find the event notifier instance for the EventSet interface 
associated with the
         // method.
         //
-        EventNotifier eventNotifier = 
getEventNotifier(method.getDeclaringClass());
+        Object eventNotifier = _notifiers.get(method.getDeclaringClass());
         if (eventNotifier == null)
             throw new IllegalArgumentException("No event notifier found for " 
+ event);
 
@@ -956,9 +959,11 @@
 
     /**
      * This field manages the register listener list(s) associated with event 
set interfaces
-     * for the ControlBean.
+     * for the ControlBean.  The value objects are either UnicastEventNotifier 
or EventNotifier
+     * instances, depending upon whether the associated EventSet interface is 
unicast or
+     * multicast.
      */
-    private HashMap<Class, EventNotifier> _notifierMap = new 
HashMap<Class,EventNotifier>();
+    private HashMap<Class, Object> _notifiers = new HashMap<Class,Object>();
 
     /**
      * Maintains the list of callback event listeners (if any) for this 
ControlBean.

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java
    (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/EventNotifier.java
    Mon Dec 20 17:02:34 2004
@@ -17,42 +17,41 @@
  * $Header:$
  */
 
-import java.util.EventListener;
-import java.util.TooManyListenersException;
+import java.util.ArrayList;
+import java.util.Iterator;
 
 /**
  * The EventNotifier class provides basic callback listener management and 
event delivery
- * services for ControlBean instances.
+ * services for ControlBean instances. 
  */
 public class EventNotifier implements java.io.Serializable
 {
     /**
      * Adds a new callback event listener for this EventNotifier
      */
-    public void addListener(Object listener) throws TooManyListenersException
+    synchronized public void addListener(Object listener)
     {
-        if (_listener != null)
-             throw new TooManyListenersException("Callback listener is already 
registered");
-        _listener = listener;
+        _listeners.add(listener);
     }
 
     /**
      * Remove an existing callback event listener for this EventNotifier
      */
-    public void removeListener(Object listener)
+    synchronized public void removeListener(Object listener)
     {
-        if (listener != _listener)
+        if (!_listeners.contains(listener))
             throw new IllegalStateException("Invalid listener, not currently 
registered");
-        _listener = null;
+
+        _listeners.remove(listener);
     }
                                                                                
                     
     /**
-     * Returns the listener associated with this EventNotifier
+     * Returns an iterator over the full set of listeners
      */
-    public Object getListener()
+    public Iterator getListeners()
     {
-        return _listener;
+        return _listeners.iterator();
     }
 
-    private Object _listener;
+    private ArrayList _listeners = new ArrayList();
 }

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java
  (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/ImplInitializer.java
  Mon Dec 20 17:02:34 2004
@@ -67,9 +67,9 @@
 
 
     /**
-     * Returns the ControlBean event notifer for the specified eventSet
+     * Returns the ControlBean event notifier for the specified eventSet
      */
-    public EventNotifier getEventNotifier(ControlBean bean, Class eventSet)
+    public Object getEventNotifier(ControlBean bean, Class eventSet)
     {
         return bean.getEventNotifier(eventSet);
     }

Added: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/UnicastEventNotifier.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/UnicastEventNotifier.java?view=auto&rev=122919
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/bean/UnicastEventNotifier.java
     Mon Dec 20 17:02:34 2004
@@ -0,0 +1,62 @@
+package org.apache.beehive.controls.runtime.bean;
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+
+import java.util.TooManyListenersException;
+
+/**
+ * The UnicastEventNotifier class provides basic callback listener management 
and event delivery
+ * services for unicast EventSets on ControlBean instances. 
+ */
+public class UnicastEventNotifier implements java.io.Serializable
+{
+    /**
+     * Adds a new callback event listener for this EventNotifier.  This method 
will also
+     * perform a check to see if there is already a register listener, and 
throw a
+     * <code>java.util.TooManyListenersException</code> if there is already a 
registered
+     * listener.
+     */
+    synchronized public void addListener(Object listener) throws 
TooManyListenersException
+    {
+        if (_listener != null)
+             throw new TooManyListenersException("Callback listener is already 
registered");
+        _listener = listener;
+    }
+
+    /**
+     * Remove an existing callback event listener for this EventNotifier
+     */
+    synchronized public void removeListener(Object listener)
+    {
+        if (_listener != listener)
+        {
+            throw new IllegalStateException("Invalid listener, not currently 
registered");
+        }
+        _listener = null;
+    }
+                                                                               
                     
+    /**
+     * Returns the listener associated with this EventNotifier
+     */
+    public Object getListener()
+    {
+        return _listener;
+    }
+
+    private Object    _listener;
+}

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java
    (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEvent.java
    Mon Dec 20 17:02:34 2004
@@ -21,6 +21,8 @@
 
 import com.sun.mirror.apt.AnnotationProcessorEnvironment;
 import com.sun.mirror.declaration.MethodDeclaration;
+import com.sun.mirror.declaration.MethodDeclaration;
+import com.sun.mirror.type.VoidType;
 
 import org.apache.beehive.controls.api.packaging.FeatureInfo;
 
@@ -42,6 +44,17 @@
         super(eventDecl, env);
         _eventSet = eventSet;
         _eventDecl = eventDecl;
+
+        //
+        // If the event is in multicast event set but does not return 'void', 
then generate
+        // an error.  Only unicast events can have a return value, to avoid 
ambiguity over
+        // which listener gets to provide the value.
+        //
+        if (!eventSet.isUnicast() && !(eventDecl.getReturnType() instanceof 
VoidType))
+        {
+            env.getMessager().printError(eventDecl.getPosition(),
+              "Event methods declared within a multicast EventSet cannot 
return a value.   Change the return type of this method declaration to void, or 
use the unicast attribute of @EventSet to change to a unicast event set.");
+        }
     }
 
     /**

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java
 (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptEventSet.java
 Mon Dec 20 17:02:34 2004
@@ -28,9 +28,9 @@
 import com.sun.mirror.declaration.TypeParameterDeclaration;
 import com.sun.mirror.type.InterfaceType;
 
+import org.apache.beehive.controls.api.events.EventSet;
 import org.apache.beehive.controls.api.packaging.EventSetInfo;
 import org.apache.beehive.controls.api.packaging.FeatureInfo;
-import org.apache.beehive.controls.runtime.generator.AptControlInterface;
 
 import org.apache.beehive.controls.runtime.generator.apt.*;
 
@@ -54,6 +54,10 @@
         _env = env;
         setDeclaration(eventSet);
 
+        EventSet eventSetAnnot = eventSet.getAnnotation(EventSet.class);
+        if (eventSet != null)
+            _unicast = eventSetAnnot.unicast();
+
         //
         // If an EventSet interface has formal type parameters, they must be a 
subset of
         // the original formal type parameters declared on the original 
control interface.
@@ -90,6 +94,7 @@
         }
          
         _superEventSet = initSuperEventSet();
+
         _events = initEvents();
     }
 
@@ -189,6 +194,15 @@
     public Collection<AptEvent> getEvents() { return _events.getMethods(); }
 
     /**
+     * Returns 'true' if the event set support only unicast (single listener) 
events,
+     * false otherwise.
+     */
+    public boolean isUnicast()
+    {
+        return _unicast;
+    }
+
+    /**
      * Returns the number of Events for this EventSet and any super event set
      */
     public int getEventCount() 
@@ -242,7 +256,12 @@
         // super event set, then extend the utility notifier class.
         //
         if (_superEventSet == null)
-            return "org.apache.beehive.controls.runtime.bean.EventNotifier";
+        {
+            if (_unicast)
+                return 
"org.apache.beehive.controls.runtime.bean.UnicastEventNotifier";
+            else
+                return 
"org.apache.beehive.controls.runtime.bean.EventNotifier";
+        }
 
         //
         // Otherwise, a generated notifier will extend the notifier of any 
parent event set
@@ -267,6 +286,14 @@
     }
 
     /**
+     * Returns the name of the method used to retrieve the (unicast) EventSet 
listener
+     */
+    public String getGetListenerMethod()
+    {
+        return "get" + getShortName() + "Listener";
+    }
+
+    /**
      * Returns the name of a custom-generated method to initialize 
MethodDescriptor bean
      * info for the events in this EventSet
      */
@@ -299,4 +326,5 @@
     private AptEventSet                     _superEventSet;
     private AptControlInterface             _controlIntf;
     private AptMethodSet<AptEvent>          _events;
+    private boolean                         _unicast;
 }

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm
   (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBean.vm
   Mon Dec 20 17:02:34 2004
@@ -60,12 +60,12 @@
         super(context, id, props, controlClass);
 
         #foreach ($eventSet in $intf.eventSets)
-        #if ($velocityCount == 1)
-        //
-        // Register event notifier instances for any EventSets
-        //
-        #end
-        setEventNotifier(${eventSet.shortName}.class, new 
${eventSet.notifierClass}());
+            #if ($velocityCount == 1)
+            //
+            // Register event notifier instances for any EventSets
+            //
+            #end
+            setEventNotifier(${eventSet.shortName}.class, new 
${eventSet.notifierClass}());
         #end
     }
 
@@ -305,21 +305,32 @@
         $returnType retval = ${event.defaultReturnValue};
         #end
 
-        $event.eventSet.formalShortName listener = 
($event.eventSet.formalShortName)getEventNotifier(${event.eventSet.shortName}.class).getListener();
+        $eventSet.notifierClass notifier = 
($eventSet.notifierClass)getEventNotifier(${eventSet.shortName}.class);
 
-        //
-        // If an event listener has been registered, then deliver the event
-        //
-        if (listener != null)
-        {
+        #if ($event.eventSet.unicast)
+            $event.eventSet.formalShortName listener = 
($event.eventSet.formalShortName)notifier.getListener();
+
+            //
+            // If an event listener has been registered, then deliver the event
+            //
+            if (listener != null)
+            {
+                #if ($returnType != "void")
+                retval = listener.${event.name}($event.argList);
+                #else
+                listener.${event.name}($event.argList);
+                #end
+            }
             #if ($returnType != "void")
-            retval = listener.${event.name}($event.argList);
-            #else
-            listener.${event.name}($event.argList);
+            return retval;
             #end
-        }
-        #if ($returnType != "void")
-        return retval;
+        #else
+            java.util.Iterator listenerIter = notifier.getListeners();
+            while (listenerIter.hasNext())
+            {
+                $event.eventSet.formalShortName listener = 
($event.eventSet.formalShortName)listenerIter.next();
+                listener.${event.name}($event.argList);
+            }
         #end
      }
 
@@ -350,9 +361,12 @@
      * Registers a new listener for ${eventSet.shortName} events on the bean.
      */
     public synchronized void 
${eventSet.addListenerMethod}($eventSet.formalShortName listener)
+    #if ($eventSet.unicast)
                              throws java.util.TooManyListenersException
+    #end
     {
-        getEventNotifier(${eventSet.shortName}.class).addListener(listener);
+        $eventSet.notifierClass notifier = 
($eventSet.notifierClass)getEventNotifier(${eventSet.shortName}.class);
+        notifier.addListener(listener);
     } 
                              
     /**
@@ -360,8 +374,21 @@
      */
     public synchronized void 
${eventSet.removeListenerMethod}($eventSet.formalShortName listener)
     {
-        getEventNotifier(${eventSet.shortName}.class).removeListener(listener);
+        $eventSet.notifierClass notifier = 
($eventSet.notifierClass)getEventNotifier(${eventSet.shortName}.class);
+        notifier.removeListener(listener);
+    }
+
+    #if ($eventSet.unicast)
+    /**
+     * Returns the registered listener for ${eventSet.shortName} events on the 
bean, or null
+     * if no listener has been registered
+     */
+    public synchronized $eventSet.formalShortName 
${eventSet.getListenerMethod}()
+    {
+        $eventSet.notifierClass notifier = 
($eventSet.notifierClass)getEventNotifier(${eventSet.shortName}.class);
+        return ($eventSet.formalShortName)notifier.getListener();    
     }
+    #end
 #end
 ##
 ## This macro declares the local (bean class) cache that is used for shared 
PropertyMaps

Modified: 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm&r1=122918&p2=incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
       (original)
+++ 
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/ControlBeanInfo.vm
       Mon Dec 20 17:02:34 2004
@@ -283,6 +283,7 @@
                 #if ($eventSet.featureInfo)
                     #initFeatureDescriptor("esd" $eventSet.featureInfo 
$eventSet.descriptorName)
                 #end
+                esd.setUnicast($eventSet.unicast);
             }
             catch (IntrospectionException ie)
             {

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java
       (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/basic/Event.java
       Mon Dec 20 17:02:34 2004
@@ -13,7 +13,7 @@
 @ControlInterface
 public interface Event
 {
-    @EventSet
+    @EventSet(unicast=true)
     public interface EventSet1
     {
         public void set1Method1();
@@ -22,7 +22,7 @@
         public boolean set1OverloadedMethod(int anArg);
     }
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface EventSet2
     {
         public void set2Method1();

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/beaninfo/InfoTest.java
 Mon Dec 20 17:02:34 2004
@@ -47,7 +47,7 @@
         public boolean prop2() default false;
     }
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface TestEvents
     {
         @FeatureInfo(name="InfoTest eventMethod1", displayName="InfoTest 
eventMethod1",

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java
  (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/InnerControl.java
  Mon Dec 20 17:02:34 2004
@@ -30,7 +30,7 @@
 
 
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface Activity
     {
         void wakeup();
@@ -38,7 +38,7 @@
         String report();
     }
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface Action
     {
         public Object[] shopping (double credit);

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java
        (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/Nested.java
        Mon Dec 20 17:02:34 2004
@@ -20,7 +20,7 @@
         int value() default -1; 
     }
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface Return
     {
         void returnVoid();
@@ -28,7 +28,7 @@
         int returnInt();
     }
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface Args
     {
         public int argsInt(int value);

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java
  (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/composition/OuterControl.java
  Mon Dec 20 17:02:34 2004
@@ -12,7 +12,7 @@
 @ControlInterface
 public interface OuterControl
 {
-    @EventSet
+    @EventSet(unicast=true)
     public interface OuterEvents
     {
         int report(String message);

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
       (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
       Mon Dec 20 17:02:34 2004
@@ -21,7 +21,7 @@
         public void method1();
     }
 
-    @EventSet
+    @EventSet(unicast=true)
     public interface EventSet2
     {
         public void method1();

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java
       (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/generic/ListControl.java
       Mon Dec 20 17:02:34 2004
@@ -45,7 +45,7 @@
     //
     // Test an EventSet that uses formal type paramters defined in the outer 
control interface.
     //
-    @EventSet
+    @EventSet(unicast=true)
     public interface ListEvents<E>
     {
         public E onAdd(E newElement);

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java
      (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext1.java
      Mon Dec 20 17:02:34 2004
@@ -29,7 +29,7 @@
     /**
      * Declare an EventSet that is new and unique to this extension
      */
-    @EventSet
+    @EventSet(unicast=true)
     public interface Ext1NewEvents
     {
         @Intf1Props(intf1Prop1=1)

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java
      (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Ext2.java
      Mon Dec 20 17:02:34 2004
@@ -43,7 +43,7 @@
     /**
      * Declare an EventSet that is new and unique to this extension
      */
-    @EventSet
+    @EventSet(unicast=true)
     public interface Ext2NewEvents
     {
         @Intf1Props(intf1Prop1=1)

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java
     (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf1.java
     Mon Dec 20 17:02:34 2004
@@ -46,7 +46,7 @@
     /**
      * Declare an EventSet that is new and unique to this interface
      */
-    @EventSet
+    @EventSet(unicast=true)
     public interface Intf1NewEvents
     {
         public void intf1NewEvent1();

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java&r1=122918&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java
     (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/inherit/Intf2.java
     Mon Dec 20 17:02:34 2004
@@ -41,7 +41,7 @@
     /**
      * Declare an EventSet that is new and unique to this interface
      */
-    @EventSet
+    @EventSet(unicast=true)
     public interface Intf2NewEvents extends AddInEvents
     {
         public void intf2NewEvent1();

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo&r1=122918&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
        (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/beaninfo/InfoTestBean.beaninfo
        Mon Dec 20 17:02:34 2004
@@ -99,7 +99,7 @@
     </property-descriptors>
     <event-set-descriptors default-index=-1>
         <event-descriptor name="testEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh&r1=122918&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh
   (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/BeanInfo.sh
   Mon Dec 20 17:02:34 2004
@@ -1,3 +1,3 @@
 #!/bin/sh
 export CTRLROOT=$BEEHIVE_HOME/controls
-java -classpath 
$CTRLROOL/test/build/classes/beans:$CTRLROOT/build/jars/controls.jar 
org.apache.beehive.controls.test.controls.util.ControlIntrospector 
org.apache.beehive.controls.test.controls.inherit.$1Bean
+java -classpath 
$CTRLROOT/test/build/classes/beans:$CTRLROOT/build/jars/controls.jar 
org.apache.beehive.controls.test.controls.util.ControlIntrospector 
org.apache.beehive.controls.test.controls.inherit.$1Bean

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo&r1=122918&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
     (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext1Bean.beaninfo
     Mon Dec 20 17:02:34 2004
@@ -253,7 +253,7 @@
     </property-descriptors>
     <event-set-descriptors default-index=-1>
         <event-descriptor name="intf2NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -337,7 +337,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="ext1NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -398,7 +398,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.removeIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
@@ -482,7 +482,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext1Bean.addExt1EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext1Bean.addExt1EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext1Bean.removeExt1EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events)
@@ -649,7 +649,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="intf1NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -710,7 +710,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.addIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.addIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.removeIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo&r1=122918&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
     (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Ext2Bean.beaninfo
     Mon Dec 20 17:02:34 2004
@@ -290,7 +290,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2SkipEvents
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext2Bean.addExt2SkipEventsListener(org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2SkipEvents)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext2Bean.addExt2SkipEventsListener(org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2SkipEvents)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext2Bean.removeExt2SkipEventsListener(org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2SkipEvents)
@@ -457,7 +457,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="ext2NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -511,7 +511,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="intf2NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -595,7 +595,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="ext1NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -656,7 +656,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.removeIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
@@ -740,7 +740,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext1Bean.addExt1EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext1Bean.addExt1EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext1Bean.removeExt1EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext1$Ext1Events)
@@ -907,7 +907,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="intf1NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -968,7 +968,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.addIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.addIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.removeIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
@@ -1112,7 +1112,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext2Bean.addExt2EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext2Bean.addExt2EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Ext2Bean.removeExt2EventsListener(org.apache.beehive.controls.test.controls.inherit.Ext2$Ext2Events)

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo&r1=122918&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
    (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf1Bean.beaninfo
    Mon Dec 20 17:02:34 2004
@@ -128,7 +128,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.removeIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
@@ -205,7 +205,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="intf1NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo?view=diff&rev=122919&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo&r1=122918&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo&r2=122919
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo
    (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/inherit/Intf2Bean.beaninfo
    Mon Dec 20 17:02:34 2004
@@ -223,7 +223,7 @@
     </property-descriptors>
     <event-set-descriptors default-index=-1>
         <event-descriptor name="intf2NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -314,7 +314,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.addIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf1Bean.removeIntf1EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf1$Intf1Events)
@@ -391,7 +391,7 @@
                 </short-description>
             </feature-descriptor>
         <event-descriptor name="intf1NewEvents"
-            is-unicast=false
+            is-unicast=true
             is-in-default=true
             is-default=false>
             <listener-type>
@@ -452,7 +452,7 @@
                 
org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events
             </listener-type>
             <add-listener-method>
-                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.addIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
 throws java.util.TooManyListenersException
+                public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.addIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)
             </add-listener-method>
             <remove-listener-method>
                 public synchronized void 
org.apache.beehive.controls.test.controls.inherit.Intf2Bean.removeIntf2EventsListener(org.apache.beehive.controls.test.controls.inherit.Intf2$Intf2Events)

Reply via email to