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

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Aug 30 08:33:27 EDT 2010


Author: scabanovich
Date: 2010-08-30 08:33:27 -0400 (Mon, 30 Aug 2010)
New Revision: 24544

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/CDIProject.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationDefinition.java
Log:
https://jira.jboss.org/browse/JBIDE-6935

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-08-30 08:11:13 UTC (rev 24543)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AbstractBeanElement.java	2010-08-30 12:33:27 UTC (rev 24544)
@@ -170,7 +170,7 @@
 		Set<IQualifier> qs = new HashSet<IQualifier>();
 		for(IAnnotationDeclaration a: definition.getAnnotations()) {
 			int k = getCDIProject().getNature().getDefinitions().getAnnotationKind(a.getType());
-			if(k == AnnotationDefinition.QUALIFIER) {
+			if((k & AnnotationDefinition.QUALIFIER) > 0) {
 				IQualifierDeclaration q = (IQualifierDeclaration)a;
 				result.add(q);
 				if(q.getQualifier() != null) qs.add(q.getQualifier());				
@@ -250,7 +250,7 @@
 		Set<IScopeDeclaration> result = new HashSet<IScopeDeclaration>();
 		for (IAnnotationDeclaration d: ds) {
 			int k = n.getDefinitions().getAnnotationKind(d.getType());
-			if(k == AnnotationDefinition.SCOPE) {
+			if((k & AnnotationDefinition.SCOPE) > 0) {
 				result.add((IScopeDeclaration)d);
 			}
 		}

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java	2010-08-30 08:11:13 UTC (rev 24543)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java	2010-08-30 12:33:27 UTC (rev 24544)
@@ -585,7 +585,7 @@
 		Set<IType> result = new HashSet<IType>();
 		List<AnnotationDefinition> ds = n.getDefinitions().getAllAnnotations();
 		for (AnnotationDefinition d: ds) {
-			if(d.getKind() == AnnotationDefinition.QUALIFIER) {
+			if((d.getKind() & AnnotationDefinition.QUALIFIER) > 0) {
 				result.add(d.getType());
 			}
 		}
@@ -683,7 +683,7 @@
 		}
 		int k = n.getDefinitions().getAnnotationKind(annotationType);
 		
-		return k == AnnotationDefinition.QUALIFIER;
+		return (k & AnnotationDefinition.QUALIFIER) > 0;
 	}
 
 	public boolean isScope(IType annotationType) {
@@ -695,7 +695,7 @@
 		}
 		int k = n.getDefinitions().getAnnotationKind(annotationType);
 		
-		return k == AnnotationDefinition.SCOPE;
+		return (k & AnnotationDefinition.SCOPE) > 0;
 	}
 
 	public boolean isStereotype(IType annotationType) {
@@ -707,7 +707,7 @@
 		}
 		int k = n.getDefinitions().getAnnotationKind(annotationType);
 		
-		return k == AnnotationDefinition.STEREOTYPE;
+		return (k & AnnotationDefinition.STEREOTYPE) > 0;
 	}
 
 	public Set<IBean> resolve(Set<IBean> beans) {
@@ -961,28 +961,31 @@
 		scopesByPath.clear();
 		List<AnnotationDefinition> ds = n.getDefinitions().getAllAnnotations();
 		for (AnnotationDefinition d: ds) {
-			if(d.getKind() == AnnotationDefinition.STEREOTYPE) {
+			if((d.getKind() & AnnotationDefinition.STEREOTYPE) > 0) {
 				StereotypeElement s = new StereotypeElement();
 				initAnnotationElement(s, d);
 				stereotypes.put(d.getQualifiedName(), s);
 				if(d.getResource() != null && d.getResource().getFullPath() != null) {
 					stereotypesByPath.put(d.getResource().getFullPath(), s);
 				}
-			} else if(d.getKind() == AnnotationDefinition.INTERCEPTOR_BINDING) {
+			}
+			if((d.getKind() & AnnotationDefinition.INTERCEPTOR_BINDING) > 0) {
 				InterceptorBindingElement s = new InterceptorBindingElement();
 				initAnnotationElement(s, d);
 				interceptorBindings.put(d.getQualifiedName(), s);
 				if(d.getResource() != null && d.getResource().getFullPath() != null) {
 					interceptorBindingsByPath.put(d.getResource().getFullPath(), s);
 				}
-			} else if(d.getKind() == AnnotationDefinition.QUALIFIER) {
+			}
+			if((d.getKind() & AnnotationDefinition.QUALIFIER) > 0) {
 				QualifierElement s = new QualifierElement();
 				initAnnotationElement(s, d);
 				qualifiers.put(d.getQualifiedName(), s);
 				if(d.getResource() != null && d.getResource().getFullPath() != null) {
 					qualifiersByPath.put(d.getResource().getFullPath(), s);
 				}
-			} else if(d.getKind() == AnnotationDefinition.SCOPE) {
+			}
+			if((d.getKind() & AnnotationDefinition.SCOPE) > 0) {
 				ScopeElement s = new ScopeElement();
 				initAnnotationElement(s, d);
 				scopes.put(d.getQualifiedName(), s);

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java	2010-08-30 08:11:13 UTC (rev 24543)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java	2010-08-30 12:33:27 UTC (rev 24544)
@@ -68,17 +68,30 @@
 			AnnotationDeclaration a = new AnnotationDeclaration();
 			a.setProject(context.getProject());
 			a.setDeclaration(ts[i], contextType);
+			AnnotationDeclaration b = null;
 			int kind = context.getAnnotationKind(a.getType());
-			if(kind == AnnotationDefinition.STEREOTYPE) {
-				a = new StereotypeDeclaration(a);
-			} else if(kind == AnnotationDefinition.INTERCEPTOR_BINDING) {
-				a = new InterceptorBindingDeclaration(a);
-			} else if(kind == AnnotationDefinition.QUALIFIER) {
-				a = new QualifierDeclaration(a);
-			} else if(kind == AnnotationDefinition.SCOPE) {
-				a = new ScopeDeclaration(a);
+			if((kind & AnnotationDefinition.STEREOTYPE) > 0) {
+				b = new StereotypeDeclaration(a);
+				annotations.add(b);
 			}
-			annotations.add(a);
+			if((kind & AnnotationDefinition.INTERCEPTOR_BINDING) > 0) {
+				b = new InterceptorBindingDeclaration(a);
+				annotations.add(b);
+			}
+			if((kind & AnnotationDefinition.QUALIFIER) > 0) {
+				b = new QualifierDeclaration(a);
+				annotations.add(b);
+			}
+			if((kind & AnnotationDefinition.SCOPE) > 0) {
+				b = new ScopeDeclaration(a);
+				annotations.add(b);
+			}
+			if(b == null) {
+				annotations.add(a);
+			} else {
+				a = b;
+			}
+			
 			if(a.getTypeName() != null) {
 				annotationsByType.put(a.getTypeName(), a);
 			}

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationDefinition.java	2010-08-30 08:11:13 UTC (rev 24543)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AnnotationDefinition.java	2010-08-30 12:33:27 UTC (rev 24544)
@@ -31,10 +31,10 @@
 	public static final int NON_RELEVANT = 0;
 	public static final int BASIC = 1; //has Inherited, Target, Retention
 	public static final int CDI = 2; //has Model, Named, Typed, *Scoped, New
-	public static final int QUALIFIER = 3; //has Qualifier
-	public static final int STEREOTYPE = 4;	//has Stereotype
-	public static final int INTERCEPTOR_BINDING = 5; //has InterceptorBinding
-	public static final int SCOPE = 6; //has Scope or NormalScope
+	public static final int QUALIFIER = 4; //has Qualifier
+	public static final int STEREOTYPE = 8;	//has Stereotype
+	public static final int INTERCEPTOR_BINDING = 16; //has InterceptorBinding
+	public static final int SCOPE = 32; //has Scope or NormalScope
 	//TODO add other definition kinds of interest
 
 	protected int kind = NON_RELEVANT;
@@ -75,19 +75,25 @@
 		if(ds.containsKey(CDIConstants.SCOPE_ANNOTATION_TYPE_NAME) 
 				|| ds.containsKey(CDIConstants.NORMAL_SCOPE_ANNOTATION_TYPE_NAME)) {
 			kind = SCOPE;
-		} else if(ds.containsKey(CDIConstants.STEREOTYPE_ANNOTATION_TYPE_NAME)) {
-			kind = STEREOTYPE;
-		} else if(ds.containsKey(CDIConstants.QUALIFIER_ANNOTATION_TYPE_NAME)) {
-			kind = QUALIFIER;
-		} else if(ds.containsKey(CDIConstants.INTERCEPTOR_BINDING_ANNOTATION_TYPE_NAME)) {
-			kind = INTERCEPTOR_BINDING;
-		} else if(AnnotationHelper.BASIC_ANNOTATION_TYPES.contains(qualifiedName)) {
-			kind = AnnotationDefinition.BASIC;
-		} else if(AnnotationHelper.CDI_ANNOTATION_TYPES.contains(qualifiedName)) {
-			kind = AnnotationDefinition.CDI;
 		}
+		if(ds.containsKey(CDIConstants.STEREOTYPE_ANNOTATION_TYPE_NAME)) {
+			kind |= STEREOTYPE;
+		}
+		if(ds.containsKey(CDIConstants.QUALIFIER_ANNOTATION_TYPE_NAME)) {
+			kind |= QUALIFIER;
+		}
+		if(ds.containsKey(CDIConstants.INTERCEPTOR_BINDING_ANNOTATION_TYPE_NAME)) {
+			kind |= INTERCEPTOR_BINDING;
+		}
+		if(kind == NON_RELEVANT) {
+			if(AnnotationHelper.BASIC_ANNOTATION_TYPES.contains(qualifiedName)) {
+				kind = AnnotationDefinition.BASIC;
+			} else if(AnnotationHelper.CDI_ANNOTATION_TYPES.contains(qualifiedName)) {
+				kind = AnnotationDefinition.CDI;
+			}
+		}
 
-		if(kind == QUALIFIER || kind == INTERCEPTOR_BINDING) {
+		if((kind & QUALIFIER) > 0 || (kind & INTERCEPTOR_BINDING) > 0) {
 			initMemberDefinitions(contextType, context);
 		}
 	}



More information about the jbosstools-commits mailing list