Author: scabanovich
Date: 2010-07-12 08:25:33 -0400 (Mon, 12 Jul 2010)
New Revision: 23371
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInterceptorBinded.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AbstractBeanElement.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/BeanMethod.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/impl/InterceptorBindingElement.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/StereotypeElement.java
Log:
https://jira.jboss.org/browse/JBIDE-6566
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDIUtil.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -780,7 +780,7 @@
}
public static Set<IInterceptorBinding>
getAllInterceptorBindings(IInterceptorBinded binded) {
- Set<IInterceptorBindingDeclaration> ds =
collectInheritedInterceptorBindingDeclaratios(binded, new
HashSet<IInterceptorBindingDeclaration>());
+ Set<IInterceptorBindingDeclaration> ds =
collectAdditionalInterceptorBindingDeclaratios(binded, new
HashSet<IInterceptorBindingDeclaration>());
Set<IInterceptorBinding> result = new HashSet<IInterceptorBinding>();
for (IInterceptorBindingDeclaration d: ds) {
IInterceptorBinding b = d.getInterceptorBinding();
@@ -797,34 +797,34 @@
* @return
*/
public static Set<IInterceptorBindingDeclaration>
getAllInterceptorBindingDeclaratios(IInterceptorBinded binded) {
- return collectInheritedInterceptorBindingDeclaratios(binded, new
HashSet<IInterceptorBindingDeclaration>());
+ return collectAdditionalInterceptorBindingDeclaratios(binded, new
HashSet<IInterceptorBindingDeclaration>());
}
- private static Set<IInterceptorBindingDeclaration>
collectInheritedInterceptorBindingDeclaratios(IInterceptorBinded binded,
Set<IInterceptorBindingDeclaration> result) {
- Set<IInterceptorBindingDeclaration> declarations =
binded.getInterceptorBindingDeclarations();
+ private static Set<IInterceptorBindingDeclaration>
collectAdditionalInterceptorBindingDeclaratios(IInterceptorBinded binded,
Set<IInterceptorBindingDeclaration> result) {
+ Set<IInterceptorBindingDeclaration> declarations =
binded.getInterceptorBindingDeclarations(true);
for (IInterceptorBindingDeclaration declaration : declarations) {
if(!result.contains(declaration)) {
result.add(declaration);
IInterceptorBinding binding = declaration.getInterceptorBinding();
- collectInheritedInterceptorBindingDeclaratios(binding, result);
+ collectAdditionalInterceptorBindingDeclaratios(binding, result);
if(binding instanceof IStereotyped) {
- collectInheritedInterceptorBindingDeclaratiosFromStereotyps((IStereotyped)binding,
result);
+ collectAdditionalInterceptorBindingDeclaratiosFromStereotyps((IStereotyped)binding,
result);
}
}
}
if(binded instanceof IStereotyped) {
- collectInheritedInterceptorBindingDeclaratiosFromStereotyps((IStereotyped)binded,
result);
+ collectAdditionalInterceptorBindingDeclaratiosFromStereotyps((IStereotyped)binded,
result);
}
return result;
}
- private static Set<IInterceptorBindingDeclaration>
collectInheritedInterceptorBindingDeclaratiosFromStereotyps(IStereotyped stereotyped,
Set<IInterceptorBindingDeclaration> result) {
+ private static Set<IInterceptorBindingDeclaration>
collectAdditionalInterceptorBindingDeclaratiosFromStereotyps(IStereotyped stereotyped,
Set<IInterceptorBindingDeclaration> result) {
Set<IStereotypeDeclaration> stereotypeDeclarations =
collectInheritedStereotypDeclarations(stereotyped, new
HashSet<IStereotypeDeclaration>());
if(stereotyped instanceof ClassBean) {
stereotypeDeclarations.addAll(((ClassBean)stereotyped).getInheritedStereotypDeclarations());
}
for (IStereotypeDeclaration stereotypeDeclaration : stereotypeDeclarations) {
- collectInheritedInterceptorBindingDeclaratios(stereotypeDeclaration.getStereotype(),
result);
+ collectAdditionalInterceptorBindingDeclaratios(stereotypeDeclaration.getStereotype(),
result);
}
return result;
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInterceptorBinded.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInterceptorBinded.java 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInterceptorBinded.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -26,7 +26,7 @@
*
* @return the set of interceptor binding declarations
*/
- Set<IInterceptorBindingDeclaration> getInterceptorBindingDeclarations();
+ Set<IInterceptorBindingDeclaration> getInterceptorBindingDeclarations(boolean
includeInherited);
/**
* Obtains the interceptor bindings of the bean class or method or stereotype or
interceptor binding type.
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AbstractBeanElement.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AbstractBeanElement.java 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AbstractBeanElement.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -32,6 +32,8 @@
import org.jboss.tools.cdi.core.IAnnotationDeclaration;
import org.jboss.tools.cdi.core.IBean;
import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInterceptorBinding;
+import org.jboss.tools.cdi.core.IInterceptorBindingDeclaration;
import org.jboss.tools.cdi.core.IParametedType;
import org.jboss.tools.cdi.core.IQualifier;
import org.jboss.tools.cdi.core.IQualifierDeclaration;
@@ -189,6 +191,10 @@
return Collections.emptySet();
}
+ protected Set<IInterceptorBindingDeclaration>
getInheritedInterceptorBindingDeclarations() {
+ return Collections.emptySet();
+ }
+
public Set<IQualifier> getQualifiers() {
IQualifier any = getCDIProject().getQualifier(CDIConstants.ANY_QUALIFIER_TYPE_NAME);
IQualifier def =
getCDIProject().getQualifier(CDIConstants.DEFAULT_QUALIFIER_TYPE_NAME);
@@ -215,6 +221,27 @@
return result;
}
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.cdi.core.IClassBean#getInterceptorBindingDeclarations()
+ */
+ public Set<IInterceptorBindingDeclaration>
getInterceptorBindingDeclarations(boolean includeInherited) {
+ Set<IInterceptorBindingDeclaration> result =
ClassBean.getInterceptorBindingDeclarations(definition);
+ if(includeInherited) {
+ Set<IInterceptorBinding> qs = new HashSet<IInterceptorBinding>();
+ for (IInterceptorBindingDeclaration d: result) {
+ if(d.getInterceptorBinding() != null) qs.add(d.getInterceptorBinding());
+ }
+ Set<IInterceptorBindingDeclaration> ds =
getInheritedInterceptorBindingDeclarations();
+ for (IInterceptorBindingDeclaration d : ds) {
+ if (d.getInterceptorBinding() != null &&
!qs.contains(d.getInterceptorBinding())) {
+ result.add(d);
+ }
+ }
+ }
+ return result;
+ }
+
public Set<IScopeDeclaration> getScopeDeclarations() {
return getScopeDeclarations(getCDIProject().getNature(), definition.getAnnotations());
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/BeanMethod.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/BeanMethod.java 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/BeanMethod.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -102,14 +102,6 @@
/*
* (non-Javadoc)
- * @see org.jboss.tools.cdi.core.IInterceptorBinded#getInterceptorBindingDeclarations()
- */
- public Set<IInterceptorBindingDeclaration> getInterceptorBindingDeclarations() {
- return ClassBean.getInterceptorBindingDeclarations(definition);
- }
-
- /*
- * (non-Javadoc)
* @see org.jboss.tools.cdi.core.IInterceptorBinded#getInterceptorBindings()
*/
public Set<IInterceptorBinding> getInterceptorBindings() {
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 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -176,14 +176,6 @@
return result;
}
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.cdi.core.IClassBean#getInterceptorBindingDeclarations()
- */
- public Set<IInterceptorBindingDeclaration> getInterceptorBindingDeclarations() {
- return getInterceptorBindingDeclarations(definition);
- }
-
public static Set<IInterceptorBindingDeclaration>
getInterceptorBindingDeclarations(AbstractMemberDefinition definition) {
Set<IInterceptorBindingDeclaration> result = new
HashSet<IInterceptorBindingDeclaration>();
List<IAnnotationDeclaration> as = definition.getAnnotations();
@@ -468,6 +460,20 @@
return result;
}
+ protected Set<IInterceptorBindingDeclaration>
getInheritedInterceptorBindingDeclarations() {
+ if(superClassBean == null) return Collections.emptySet();
+ Set<IInterceptorBindingDeclaration> result = new
HashSet<IInterceptorBindingDeclaration>();
+ Set<IInterceptorBindingDeclaration> ds =
superClassBean.getInterceptorBindingDeclarations(true);
+ for (IInterceptorBindingDeclaration d: ds) {
+ if(d.getInterceptorBinding() != null &&
d.getInterceptorBinding().getInheritedDeclaration() != null) {
+ result.add(d);
+ } else if(isSpecializing()) {
+ result.add(d);
+ }
+ }
+ return result;
+ }
+
public Set<IStereotypeDeclaration> getInheritedStereotypDeclarations() {
if(superClassBean == null) return Collections.emptySet();
Set<IStereotypeDeclaration> result = new
HashSet<IStereotypeDeclaration>();
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InterceptorBindingElement.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InterceptorBindingElement.java 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InterceptorBindingElement.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -27,17 +27,13 @@
/*
* (non-Javadoc)
- * @see org.jboss.tools.cdi.core.IInterceptorBinded#getInterceptorBindingDeclarations()
- */
- public Set<IInterceptorBindingDeclaration> getInterceptorBindingDeclarations() {
- return ClassBean.getInterceptorBindingDeclarations(definition);
- }
-
- /*
- * (non-Javadoc)
* @see org.jboss.tools.cdi.core.IInterceptorBinded#getInterceptorBindings()
*/
public Set<IInterceptorBinding> getInterceptorBindings() {
return CDIUtil.getAllInterceptorBindings(this);
}
+
+ public Set<IInterceptorBindingDeclaration>
getInterceptorBindingDeclarations(boolean includeInherited) {
+ return ClassBean.getInterceptorBindingDeclarations(definition);
+ }
}
\ No newline at end of file
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/StereotypeElement.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/StereotypeElement.java 2010-07-12
12:19:05 UTC (rev 23370)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/StereotypeElement.java 2010-07-12
12:25:33 UTC (rev 23371)
@@ -55,7 +55,7 @@
* (non-Javadoc)
* @see org.jboss.tools.cdi.core.IInterceptorBinded#getInterceptorBindingDeclarations()
*/
- public Set<IInterceptorBindingDeclaration> getInterceptorBindingDeclarations() {
+ public Set<IInterceptorBindingDeclaration>
getInterceptorBindingDeclarations(boolean includeInherited) {
return ClassBean.getInterceptorBindingDeclarations(definition);
}