Dan,

I suspect that this is a bug.  As I understand it, you are saying that
the two interfaces looks something like:

@ControlInterface
public interface XFireControl
{
      @EventSet
      public interface EndInvokeCallback { ...  }
}

and

@ControlExtension
public interface AmazonClientControl extends  XFireControl
{
      ...
}

Try adding the following inside AmazonClientControl:

        @EventSet
        public interface AmazonCallback extends EndInvokeCallback{}

and then change your @EventHandler refs to:

         @EventHandler(field="amazon",
                  eventSet=AmazonClientControl.AmazonCallback.class,
                   eventName="endInvoke")

If this works, then you are running up against a bug where the
validator for the EventSet attribute of @EventHandler is not properly
finding ones declared on the (parent) ControlInterface.   Please open
a JIRA issue and I think I can run it down pretty quickly, but the
above will give you a short-term workaround.

-- Kyle


On Tue, 04 Jan 2005 15:21:47 -0500, Dan Diephouse
<[EMAIL PROTECTED]> wrote:
> Howdy,
> 
> I'm working on the XFire control a bit more and I am having troubles
> using events from a control which extends it.  In this case I have the
> AmazonClientControl interface which extends the XFireClientControl
> (which implements Extensible).  Here's how I declare my EventHandlers:
> 
>     @EventHandler(field="amazon",
>                   eventSet=XFireClientControl.EndInvokeCallback.class,
>                   eventName="endInvoke")
>     public void endInvoke( XmlObject[] response, XmlObject[]
> responseHeaders )
>     {
>         receivedResponse = true;
>         this.response = (ItemLookupResponseDocument) response[0];
>     }
> 
>     @EventHandler(field="amazon",
>                   eventSet=XFireClientControl.EndInvokeCallback.class,
>                   eventName="handleFault")
>     public void handleFault( XFireFault fault )
>     {
>         receivedResponse = true;
>     }
> 
> However, APT gives me this:
> 
>     [apt] Compiling 2 source files to
> C:\eclipse\workspace\ch-amazon\target\test-classes
>     [apt] warning: Annotation types without processors:
> [org.apache.beehive.controls.api.events.EventHandler]
>     [apt]
> C:\eclipse\workspace\ch-amazon\src\test\org\controlhaus\amazon\AmazonClientTest.java:102:
> Cannot find EventSet interface:
> org.controlhaus.xfire.client.XFireClientControl.EndInvokeCallback
>     [apt]     public void handleFault( XFireFault fault )
>     [apt]                 ^
>     [apt]
> C:\eclipse\workspace\ch-amazon\src\test\org\controlhaus\amazon\AmazonClientTest.java:93:
> Cannot find EventSet interface:
> org.controlhaus.xfire.client.XFireClientControl.EndInvokeCallback
>     [apt]     public void endInvoke( XmlObject[] response, XmlObject[]
> responseHeaders )
>     [apt]                 ^
>     [apt] 2 errors
>     [apt] 1 warning
> 
> There is an @EventSet attribute on the EndInvokeCallback interface, so I
> am very confused as to why this is happening... Any ideas?
> 
> - Dan
> 
> --
> Dan Diephouse
> Envoi Solutions LLC
> http://netzooid.com
> 
>

Reply via email to