Author: scabanovich
Date: 2011-09-16 14:56:44 -0400 (Fri, 16 Sep 2011)
New Revision: 34831
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IClassBean.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
Log:
JBIDE-9723
https://issues.jboss.org/browse/JBIDE-9723
IClassBean.getInjectionPoints(boolean all) is added and implemented.
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IClassBean.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IClassBean.java 2011-09-16
18:55:20 UTC (rev 34830)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IClassBean.java 2011-09-16
18:56:44 UTC (rev 34831)
@@ -77,4 +77,16 @@
* @return the initializer methods of the class bean
*/
Set<IInitializerMethod> getInitializers();
+
+ /**
+ * Returns injection points declared in the bean class.
+ * If all = false, the result includes only injection points managed by this bean, and
+ * since injection points declared in producer methods are handled by producer method
beans,
+ * they are not included. In this case, result is the same as that of
getInjectionPoints().
+ * If all = true, the result includes injection points declared in producer methods.
+ *
+ * @param all
+ * @return
+ */
+ Set<IInjectionPoint> getInjectionPoints(boolean all);
}
\ No newline at end of file
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java 2011-09-16
18:55:20 UTC (rev 34830)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java 2011-09-16
18:56:44 UTC (rev 34831)
@@ -24,6 +24,7 @@
import org.jboss.tools.cdi.core.CDIConstants;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.CDIUtil;
+import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.IBeanMethod;
import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.core.IClassBean;
@@ -308,6 +309,16 @@
}
public Set<IInjectionPoint> getInjectionPoints() {
+ return getInjectionPoints(true);
+ }
+
+ /**
+ * If all=false, injection points of producer methods are not included.
+ *
+ * @param all
+ * @return
+ */
+ public Set<IInjectionPoint> getInjectionPoints(boolean all) {
Set<IInjectionPoint> result = new HashSet<IInjectionPoint>();
for (BeanField f: fields) {
if(f instanceof IInjectionPoint) {
@@ -315,6 +326,9 @@
}
}
for (BeanMethod m: methods) {
+ if(!all && (m instanceof IBean)) {
+ continue;
+ }
List<IParameter> ps = m.getParameters();
for (IParameter p: ps) {
if(p instanceof IInjectionPoint) {
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-09-16
18:55:20 UTC (rev 34830)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-09-16
18:56:44 UTC (rev 34831)
@@ -2056,7 +2056,7 @@
addError(CDIValidationMessages.PRODUCER_IN_DECORATOR,
CDIPreferences.PRODUCER_IN_INTERCEPTOR_OR_DECORATOR, producer.getProducesAnnotation(),
decorator.getResource(), PRODUCER_IN_DECORATOR_ID);
}
- Set<IInjectionPoint> injections = decorator.getInjectionPoints();
+ Set<IInjectionPoint> injections = decorator.getInjectionPoints(true);
Set<ITextSourceReference> delegates = new HashSet<ITextSourceReference>();
IInjectionPoint delegate = null;
for (IInjectionPoint injection : injections) {