Hi Kyle
Now I get 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: No event method with
matching name and signature found on EventSet: org.controlhaus.amazon.AmazonClientControl.AmazonCallback
[apt] public void handleFault( XFireFault fault )
[apt] ^
[apt] C:\eclipse\workspace\ch-amazon\src\test\org\controlhaus\amazon\AmazonClientTest.java:93: No event method with
matching name and signature found on EventSet: org.controlhaus.amazon.AmazonClientControl.AmazonCallback
[apt] public void endInvoke( XmlObject[] response, XmlObject[] responseHeaders )
[apt] ^
[apt] 2 errors
[apt] 1 warning
Maybe it is not recursing down into the parent interface to look for the method names? I will open a JIRA issue though. Thanks,
- Dan
Kyle Marvin wrote:
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
-- Dan Diephouse Envoi Solutions LLC http://netzooid.com
