[jbosstools-commits] JBoss Tools SVN: r23371 - in trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi: internal/core/impl and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Jul 12 08:25:34 EDT 2010


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);
 	}
 



More information about the jbosstools-commits mailing list