Author: dazarov
Date: 2011-07-27 17:19:13 -0400 (Wed, 27 Jul 2011)
New Revision: 33274
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDisposerProducerMethod.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestObserverProducerMethod.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
Log:
https://issues.jboss.org/browse/JBIDE-7665
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-07-27
21:12:09 UTC (rev 33273)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-07-27
21:19:13 UTC (rev 33274)
@@ -1264,13 +1264,13 @@
if (observesDeclarations.size() > 1) {
for (ITextSourceReference declaration : observesDeclarations) {
addError(CDIValidationMessages.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_OBSERVES,
CDIPreferences.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED,
- declaration, producer.getResource());
+ declaration, producer.getResource(),
PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_OBSERVES_ID);
}
}
if (disposalDeclarations.size() > 1) {
for (ITextSourceReference declaration : disposalDeclarations) {
addError(CDIValidationMessages.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_DISPOSES,
CDIPreferences.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED,
- declaration, producer.getResource());
+ declaration, producer.getResource(),
PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_DISPOSES_ID);
}
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2011-07-27
21:12:09 UTC (rev 33273)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2011-07-27
21:19:13 UTC (rev 33274)
@@ -54,6 +54,8 @@
public static final int STEREOTYPE_IS_ANNOTATED_TYPED_ID = 33;
public static final int INTERCEPTOR_ANNOTATED_SPECIALIZES_ID = 34;
public static final int DECORATOR_ANNOTATED_SPECIALIZES_ID = 35;
+ public static final int PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_DISPOSES_ID = 36;
+ public static final int PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_OBSERVES_ID = 37;
/*
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2011-07-27
21:12:09 UTC (rev 33273)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/CDIProblemMarkerResolutionGenerator.java 2011-07-27
21:19:13 UTC (rev 33274)
@@ -372,6 +372,30 @@
new DeleteAnnotationMarkerResolution(ta.type,
CDIConstants.SPECIALIZES_ANNOTATION_TYPE_NAME)
};
}
+ }else if(messageId ==
CDIValidationErrorManager.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_DISPOSES_ID){
+ IJavaElement element = findJavaElement(file, start);
+ if(element != null){
+ IJavaElement producerElement = findJavaElementByAnnotation(element,
CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME);
+ IJavaElement disposerElement = findJavaElementByAnnotation(element,
CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME);
+ if(producerElement != null && disposerElement != null){
+ return new IMarkerResolution[] {
+ new DeleteAnnotationMarkerResolution(producerElement,
CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME),
+ new DeleteAnnotationMarkerResolution(disposerElement,
CDIConstants.DISPOSES_ANNOTATION_TYPE_NAME)
+ };
+ }
+ }
+ }else if(messageId ==
CDIValidationErrorManager.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_OBSERVES_ID){
+ IJavaElement element = findJavaElement(file, start);
+ if(element != null){
+ IJavaElement producerElement = findJavaElementByAnnotation(element,
CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME);
+ IJavaElement observerElement = findJavaElementByAnnotation(element,
CDIConstants.OBSERVERS_ANNOTATION_TYPE_NAME);
+ if(producerElement != null && observerElement != null){
+ return new IMarkerResolution[] {
+ new DeleteAnnotationMarkerResolution(producerElement,
CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME),
+ new DeleteAnnotationMarkerResolution(observerElement,
CDIConstants.OBSERVERS_ANNOTATION_TYPE_NAME)
+ };
+ }
+ }
}
}
return new IMarkerResolution[] {};
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDisposerProducerMethod.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDisposerProducerMethod.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDisposerProducerMethod.java 2011-07-27
21:19:13 UTC (rev 33274)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.enterprise.inject.Disposes;
+import javax.enterprise.inject.Produces;
+
+public class TestDisposerProducerMethod {
+ @Produces
+ public String produceString(@Disposes String aaa){
+ return "test";
+ }
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestDisposerProducerMethod.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestObserverProducerMethod.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestObserverProducerMethod.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestObserverProducerMethod.java 2011-07-27
21:19:13 UTC (rev 33274)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Produces;
+
+public class TestObserverProducerMethod {
+ @Produces
+ public String produceString(@Observes String aa){
+ return "test";
+ }
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/TestObserverProducerMethod.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-07-27
21:12:09 UTC (rev 33273)
+++
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-07-27
21:19:13 UTC (rev 33274)
@@ -825,4 +825,26 @@
CDIValidationErrorManager.INTERCEPTOR_ANNOTATED_SPECIALIZES_ID,
DeleteAnnotationMarkerResolution.class);
}
+
+ public void testDisposerInProducerResolution() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestDisposerProducerMethod.java"
+ },
+ CDICoreValidator.PROBLEM_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_DISPOSES_ID,
+ DeleteAnnotationMarkerResolution.class);
+ }
+
+ public void testObserverInProducerResolution() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TestObserverProducerMethod.java"
+ },
+ CDICoreValidator.PROBLEM_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.PRODUCER_PARAMETER_ILLEGALLY_ANNOTATED_OBSERVES_ID,
+ DeleteAnnotationMarkerResolution.class);
+ }
}
\ No newline at end of file