[ http://issues.apache.org/jira/browse/BEEHIVE-118?page=history ]

Kyle Marvin updated BEEHIVE-118:
--------------------------------

    Description: 
This originates from CR178618.

Problem: when SubControl.java is declared like in the sample:

@ControlExtension
public interface SubControl extends ExtensibleControl
{
    ...
}

A runtime error occurs.

The real issue here is that SubControl.java is a Control public interface (that 
extends another Control Interface), but has the @ControlExtension annotation, 
when it really should have the @ControlInterface annotation.

The basic rule of thumb is that a JCX file has @ControlExtension, and generally 
has no associated Impl (methods are handled by Extensible.invoke) on the 
associated Impl; more direct impl subclassing (with associated interface 
extension) is done using the @ControlInterface.

The checker should have detected this.

  was:
This originates from CR178618.

Problem: when SubControl.java is declared like in the sample:

@ControlExtension
public interface SubControl extends ExtensibleControl
{
    �
}

A runtime error occurs.

The real issue here is that SubControl.java is a Control public interface (that 
extends another Control Interface), but has the @ControlExtension annotation, 
when it really should have the @ControlInterface annotation.

The basic rule of thumb is that a JCX file has @ControlExtension, and generally 
has no associated Impl (methods are handled by Extensible.invoke) on the 
associated Impl; more direct impl subclassing (with associated interface 
extension) is done using the @ControlInterface.

The checker should have detected this.

        Version: TBD
                     (was: V1Beta)

> Improved semantic validation of @ControlExtension
> -------------------------------------------------
>
>          Key: BEEHIVE-118
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-118
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: TBD
>     Reporter: James Song
>     Assignee: Kyle Marvin
>     Priority: Minor
>      Fix For: V1Beta

>
> This originates from CR178618.
> Problem: when SubControl.java is declared like in the sample:
> @ControlExtension
> public interface SubControl extends ExtensibleControl
> {
>     ...
> }
> A runtime error occurs.
> The real issue here is that SubControl.java is a Control public interface 
> (that extends another Control Interface), but has the @ControlExtension 
> annotation, when it really should have the @ControlInterface annotation.
> The basic rule of thumb is that a JCX file has @ControlExtension, and 
> generally has no associated Impl (methods are handled by Extensible.invoke) 
> on the associated Impl; more direct impl subclassing (with associated 
> interface extension) is done using the @ControlInterface.
> The checker should have detected this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to