[jbosstools-issues] [JBoss JIRA] Updated: (JBIDE-7686) Quick fix for "Interceptor/Decorator is annotated @Specializes [JSR-299 §4.3.1]" error markers

Daniel Azarov (JIRA) jira-events at lists.jboss.org
Fri Jul 29 14:57:23 EDT 2011


     [ https://issues.jboss.org/browse/JBIDE-7686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Azarov updated JBIDE-7686:
---------------------------------

    Description: 
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
@AnyBinding
@Specializes
public class TestBean extends AnyBean{

	public String produce(){
		return "a";
	}
}
{code}

EXECUTE: Create AAnnotation interface
{code}
package org.test;

public @interface AAnnotation {

}
{code}

EXECUTE: Create AnyBean class
{code}
package org.test;

public class AnyBean {
}
{code}

EXECUTE: Create AnyBinding interface
{code}
package org.test;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.interceptor.InterceptorBinding;

@Inherited 
@InterceptorBinding 
@Target(ElementType.TYPE) 
@Retention(RetentionPolicy.RUNTIME)
public @interface AnyBinding {

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

  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
@AnyBinding
@Specializes
public class TestBean extends AnyBean{

	public String produce(){
		return "a";
	}
}
{code}

EXECUTE: Create AAnnotation interface
{code}
package org.test;

public @interface AAnnotation {

}
{code}

EXECUTE: Create AnyBean class
{code}
package org.test;

public class AnyBean {
}
{code}

EXECUTE: Create AnyBinding interface
{code}
package org.test;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.interceptor.InterceptorBinding;

@Inherited 
@InterceptorBinding 
@Target(ElementType.TYPE) 
@Retention(RetentionPolicy.RUNTIME)
public @interface AnyBinding {

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



> Quick fix for "Interceptor/Decorator is annotated @Specializes [JSR-299 §4.3.1]" error markers
> ----------------------------------------------------------------------------------------------
>
>                 Key: JBIDE-7686
>                 URL: https://issues.jboss.org/browse/JBIDE-7686
>             Project: Tools (JBoss Tools)
>          Issue Type: Sub-task
>          Components: cdi
>            Reporter: Daniel Azarov
>            Assignee: Daniel Azarov
>              Labels: new_and_noteworthy
>             Fix For: 3.3.0.M3
>
>         Attachments: SpecializesInDecorator.png, SpecializesInInterceptor.png
>
>
> 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
> @AnyBinding
> @Specializes
> public class TestBean extends AnyBean{
> 	public String produce(){
> 		return "a";
> 	}
> }
> {code}
> EXECUTE: Create AAnnotation interface
> {code}
> package org.test;
> public @interface AAnnotation {
> }
> {code}
> EXECUTE: Create AnyBean class
> {code}
> package org.test;
> public class AnyBean {
> }
> {code}
> EXECUTE: Create AnyBinding interface
> {code}
> package org.test;
> import java.lang.annotation.ElementType;
> import java.lang.annotation.Inherited;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.lang.annotation.Target;
> import javax.interceptor.InterceptorBinding;
> @Inherited 
> @InterceptorBinding 
> @Target(ElementType.TYPE) 
> @Retention(RetentionPolicy.RUNTIME)
> public @interface AnyBinding {
> }
> {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

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