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

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Apr 4 20:37:25 EDT 2011


Author: scabanovich
Date: 2011-04-04 20:37:24 -0400 (Mon, 04 Apr 2011)
New Revision: 30316

Modified:
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointField.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointParameter.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/InjectionPointField.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointParameter.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/FieldDefinition.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/ParameterDefinition.java
Log:
JBIDE-8198
https://issues.jboss.org/browse/JBIDE-8198

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointField.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointField.java	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointField.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -17,4 +17,11 @@
  */
 public interface IInjectionPointField extends IBeanField, IInjectionPoint {
 
+	/**
+	 * Extensions can override type.
+	 * 
+	 * @return type that was set by an extension instead of Java member type
+	 */
+	public ITypeDeclaration getOverridenType();
+
 }
\ No newline at end of file

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointParameter.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointParameter.java	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPointParameter.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -17,4 +17,11 @@
  */
 public interface IInjectionPointParameter extends IParameter, IInjectionPoint {
 
+	/**
+	 * Extensions can override type.
+	 * 
+	 * @return type that was set by an extension instead of Java parameter type
+	 */
+	public ITypeDeclaration getOverridenType();
+
 }
\ No newline at end of file

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	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -45,6 +45,7 @@
 import org.jboss.tools.cdi.core.IDecorator;
 import org.jboss.tools.cdi.core.IInjectionPoint;
 import org.jboss.tools.cdi.core.IInjectionPointField;
+import org.jboss.tools.cdi.core.IInjectionPointParameter;
 import org.jboss.tools.cdi.core.IInterceptor;
 import org.jboss.tools.cdi.core.IInterceptorBinding;
 import org.jboss.tools.cdi.core.IObserverMethod;
@@ -284,6 +285,14 @@
 		if(type == null) {
 			return result;
 		}
+	
+		IParametedType overridenType = null;
+		if(injectionPoint instanceof IInjectionPointField) {
+			overridenType = ((IInjectionPointField)injectionPoint).getOverridenType();
+		} else if(injectionPoint instanceof IInjectionPointParameter) {
+			overridenType = ((IInjectionPointParameter)injectionPoint).getOverridenType();
+		}
+		if(overridenType != null) type = overridenType;
 		
 		if(type.getType() != null && CDIConstants.EVENT_TYPE_NAME.equals(type.getType().getFullyQualifiedName())) {
 			List<? extends IParametedType> ps = type.getParameters();

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointField.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointField.java	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointField.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -14,6 +14,7 @@
 import org.jboss.tools.cdi.core.CDIUtil;
 import org.jboss.tools.cdi.core.IAnnotationDeclaration;
 import org.jboss.tools.cdi.core.IInjectionPointField;
+import org.jboss.tools.cdi.core.ITypeDeclaration;
 
 /**
  * 
@@ -24,6 +25,10 @@
 
 	public InjectionPointField() {}
 
+	public ITypeDeclaration getOverridenType() {
+		return getDefinition().getOverridenType();
+	}
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.jboss.tools.cdi.core.IInjectionPoint#getDelegateAnnotation()

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointParameter.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointParameter.java	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/InjectionPointParameter.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -19,6 +19,7 @@
 import org.jboss.tools.cdi.core.IInjectionPointParameter;
 import org.jboss.tools.cdi.core.IQualifier;
 import org.jboss.tools.cdi.core.IQualifierDeclaration;
+import org.jboss.tools.cdi.core.ITypeDeclaration;
 import org.jboss.tools.common.text.ITextSourceReference;
 
 /**
@@ -29,6 +30,9 @@
 public class InjectionPointParameter extends Parameter implements
 		IInjectionPointParameter {
 
+	public ITypeDeclaration getOverridenType() {
+		return definition.getOverridenType();
+	}
 	/*
 	 * (non-Javadoc)
 	 * @see org.jboss.tools.cdi.core.IInjectionPoint#getDelegateAnnotation()

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/FieldDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/FieldDefinition.java	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/FieldDefinition.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -11,6 +11,7 @@
 package org.jboss.tools.cdi.internal.core.impl.definition;
 
 import org.eclipse.jdt.core.IField;
+import org.jboss.tools.cdi.core.ITypeDeclaration;
 
 /**
  * 
@@ -19,6 +20,7 @@
  */
 public class FieldDefinition extends BeanMemberDefinition {
 	IField field;
+	ITypeDeclaration overridenType = null;
 
 	public FieldDefinition() {}
 
@@ -31,4 +33,12 @@
 		return field;
 	}
 
+	public void setOverridenType(ITypeDeclaration overridenType) {
+		this.overridenType = overridenType;
+	}
+
+	public ITypeDeclaration getOverridenType() {
+		return overridenType;
+	}
+
 }

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/ParameterDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/ParameterDefinition.java	2011-04-05 00:10:21 UTC (rev 30315)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/ParameterDefinition.java	2011-04-05 00:37:24 UTC (rev 30316)
@@ -27,8 +27,8 @@
 import org.jboss.tools.cdi.core.IAnnotationDeclaration;
 import org.jboss.tools.cdi.internal.core.impl.AnnotationDeclaration;
 import org.jboss.tools.cdi.internal.core.impl.AnnotationLiteral;
-import org.jboss.tools.cdi.internal.core.impl.JavaAnnotation;
 import org.jboss.tools.cdi.internal.core.impl.ParametedType;
+import org.jboss.tools.cdi.internal.core.impl.TypeDeclaration;
 import org.jboss.tools.common.model.util.EclipseJavaUtil;
 import org.jboss.tools.common.text.ITextSourceReference;
 
@@ -37,6 +37,7 @@
 	
 	protected String name;
 	protected ParametedType type;
+	protected TypeDeclaration overridenType;
 	protected int index;
 
 	protected ITextSourceReference position = null;
@@ -52,6 +53,14 @@
 		return type;
 	}
 
+	public TypeDeclaration getOverridenType() {
+		return overridenType;
+	}
+
+	public void setOverridenType(TypeDeclaration overridenType) {
+		this.overridenType = overridenType;
+	}
+
 	public MethodDefinition getMethodDefinition() {
 		return methodDefinition;
 	}
@@ -104,7 +113,11 @@
 				} else if(params.endsWith(".class")) {
 					params = params.substring(0, params.length() - 6);
 					IMemberValuePair pair = new MemberValuePair("value", params, IMemberValuePair.K_CLASS);
-					return new IMemberValuePair[]{pair};					
+					return new IMemberValuePair[]{pair};
+				} else if(params.startsWith("\"") && params.endsWith("\"")) {
+					params = params.substring(1, params.length() - 1);
+					IMemberValuePair pair = new MemberValuePair("value", params, IMemberValuePair.K_STRING);
+					return new IMemberValuePair[]{pair};
 				} else {
 					//TODO
 				}
@@ -157,4 +170,5 @@
 		String text = methodDefinition.getTypeDefinition().getContent().substring(pos.getStartPosition(), pos.getStartPosition() + pos.getLength());
 		return text;
 	}
+
 }
\ No newline at end of file



More information about the jbosstools-commits mailing list