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
>
>