[jbosstools-issues] [JBoss JIRA] Updated: (JBIDE-9423) CDI Validation throws NPE
Alexey Kazakov (JIRA)
jira-events at lists.jboss.org
Thu Jul 28 18:29:23 EDT 2011
[ https://issues.jboss.org/browse/JBIDE-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Kazakov updated JBIDE-9423:
----------------------------------
Description:
EXECUTE: Create CDI project
EXECUTE: Create the following classes:
{code}
package org.test;
import javax.enterprise.inject.Specializes;
import javax.interceptor.Interceptor;
@Interceptor
@FooBinding
@Specializes
public class TestBean extends AnyBean{
public String produce(){
return "a";
}
}
{code}
{code}
package org.test;
import javax.decorator.Decorator;
import javax.decorator.Delegate;
import javax.enterprise.inject.Specializes;
import javax.inject.Inject;
@Decorator
@Specializes
public class TestBean2 extends AnyBean{
@Inject @Delegate @AAnnotation String str;
public String produce(){
return str;
}
}
{code}
Note, that AnyBean cannot be resolved. It's important to reproduce the issue.
EXECUTE: Save the files. Build the project.
FAILURE: The following exception is thrown in eclipse log:
{code}
ava.lang.NullPointerException
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.checkTheOnlySuper(CDICoreValidator.java:2140)
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateDecorator(CDICoreValidator.java:2080)
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateBean(CDICoreValidator.java:552)
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateResource(CDICoreValidator.java:439)
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validate(CDICoreValidator.java:316)
at org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager.validate(ValidatorManager.java:221)
at org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager.validateInJob(ValidatorManager.java:94)
at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
{code}
was:
This quick fix should offer to Delete @Specializes annotation
Test case:
EXECUTE: Create CDI project
EXECUTE: Create TestBean class
{code}
package org.test;
import javax.enterprise.inject.Specializes;
import javax.interceptor.Interceptor;
@Interceptor
@FooBinding
@Specializes
public class TestBean extends AnyBean{
public String produce(){
return "a";
}
}
{code}
ASSERT: @Specializes annotation should be marked by problem marker
EXECUTE: Point mouse to @Specializes annotation
ASSERT: Text hover with quick fixe appears
EXECUTE: Create TestBean2 class
{code}
package org.test;
import javax.decorator.Decorator;
import javax.decorator.Delegate;
import javax.enterprise.inject.Specializes;
import javax.inject.Inject;
@Decorator
@Specializes
public class TestBean2 extends AnyBean{
@Inject @Delegate @AAnnotation String str;
public String produce(){
return str;
}
}
{code}
ASSERT: @Specializes annotation should be marked by problem marker
EXECUTE: Point mouse to @Specializes annotation
ASSERT: Text hover with quick fixe appears
Labels: (was: new_and_noteworthy)
Affects: (was: [Interactive Demo/Tutorial])
> CDI Validation throws NPE
> -------------------------
>
> Key: JBIDE-9423
> URL: https://issues.jboss.org/browse/JBIDE-9423
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: cdi
> Affects Versions: 3.3.0.M3
> Reporter: Alexey Kazakov
> Assignee: Alexey Kazakov
> Fix For: 3.3.0.M3
>
>
> EXECUTE: Create CDI project
> EXECUTE: Create the following classes:
> {code}
> package org.test;
> import javax.enterprise.inject.Specializes;
> import javax.interceptor.Interceptor;
> @Interceptor
> @FooBinding
> @Specializes
> public class TestBean extends AnyBean{
> public String produce(){
> return "a";
> }
> }
> {code}
> {code}
> package org.test;
> import javax.decorator.Decorator;
> import javax.decorator.Delegate;
> import javax.enterprise.inject.Specializes;
> import javax.inject.Inject;
> @Decorator
> @Specializes
> public class TestBean2 extends AnyBean{
> @Inject @Delegate @AAnnotation String str;
> public String produce(){
> return str;
> }
> }
> {code}
> Note, that AnyBean cannot be resolved. It's important to reproduce the issue.
> EXECUTE: Save the files. Build the project.
> FAILURE: The following exception is thrown in eclipse log:
> {code}
> ava.lang.NullPointerException
> at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.checkTheOnlySuper(CDICoreValidator.java:2140)
> at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateDecorator(CDICoreValidator.java:2080)
> at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateBean(CDICoreValidator.java:552)
> at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateResource(CDICoreValidator.java:439)
> at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validate(CDICoreValidator.java:316)
> at org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager.validate(ValidatorManager.java:221)
> at org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager.validateInJob(ValidatorManager.java:94)
> at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbosstools-issues
mailing list