[jbosstools-issues] [JBoss JIRA] (JBIDE-12199) Validate types of a bean with a normal scope

Viacheslav Kabanovich (JIRA) jira-events at lists.jboss.org
Thu Aug 9 19:17:06 EDT 2012


    [ https://issues.jboss.org/browse/JBIDE-12199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12710817#comment-12710817 ] 

Viacheslav Kabanovich commented on JBIDE-12199:
-----------------------------------------------

EXECUTE: In a valid CDI project, create class 
{code}
import javax.enterprise.context.RequestScoped;

@RequestScoped
public final class MyNormalBean {

}
{code}
Run the project on server with Weld CDI implementation.
ASSERT: Project deployment is failed with org.jboss.weld.exceptions.UnproxyableResolutionException "WELD-001437 Normal scoped bean class testproxy.MyNormalBean is not proxyable because the type is final or it contains a final method class test.MyNormalBean - Managed Bean [class test.MyNormalBean] with qualifiers [@Any @Default]."
ASSERT: Editor shows warning/error marker at the scope annotation "Bean MyNormalBean with a normal scope cannot have as legal a type MyNormalBean (final class) that cannot be proxied by the container [JSR-299 §5.4.1]".

EXECUTE: In a valid CDI project, create class 
{code}
import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Produces;

public final class MyNormalBean {
    @RequestScoped
    @Produces
    public int getInt() {
        return 0;
    }

}
{code}
Run the project on server with Weld CDI implementation.
ASSERT: Project deployment is failed with org.jboss.weld.exceptions.UnproxyableResolutionException "WELD-001435 Normal scoped bean int is not proxyable because it has no no-args constructor - Producer Method [int] with qualifiers [@Any @Default] declared as [[method] @RequestScoped @Produces public test.MyNormalBean.getInt()]."
ASSERT: Editor shows warning/error marker at the scope annotation "Bean MyNormalBean.getInt() with a normal scope cannot have as legal a primitive type int that cannot be proxied by the container [JSR-299 §5.4.1]"


Similar asserts take place for any case when one of class/producer bean's legal types (excluding java.lang.Object) cannot be proxed by the container.

                
> Validate types of a bean with a normal scope
> --------------------------------------------
>
>                 Key: JBIDE-12199
>                 URL: https://issues.jboss.org/browse/JBIDE-12199
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: CDI
>    Affects Versions: 3.3.0.CR1
>            Reporter: Viacheslav Kabanovich
>            Assignee: Viacheslav Kabanovich
>             Fix For: 3.4.0.M1
>
>
> Now we check injection points with unproxyable types. However, even if a normal-scoped bean is not injected, but has an unproxyable type, runtime reports a deployment error.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jbosstools-issues mailing list