[jbosstools-commits] JBoss Tools SVN: r30847 - 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
Tue Apr 26 14:47:28 EDT 2011


Author: scabanovich
Date: 2011-04-26 14:47:28 -0400 (Tue, 26 Apr 2011)
New Revision: 30847

Modified:
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IAnnotationDeclaration.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationDeclaration.java
   trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java
Log:
JBIDE-3120
https://issues.jboss.org/browse/JBIDE-3120

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IAnnotationDeclaration.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IAnnotationDeclaration.java	2011-04-26 18:34:34 UTC (rev 30846)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IAnnotationDeclaration.java	2011-04-26 18:47:28 UTC (rev 30847)
@@ -10,6 +10,7 @@
  ******************************************************************************/
 package org.jboss.tools.cdi.core;
 
+import org.eclipse.jdt.core.IAnnotation;
 import org.eclipse.jdt.core.IMember;
 import org.eclipse.jdt.core.IMemberValuePair;
 import org.eclipse.jdt.core.IType;
@@ -57,4 +58,12 @@
 	 * @return the corresponding annotation
 	 */
 	ICDIAnnotation getAnnotation();
+
+	/**
+	 * Returns underlying Java annotation if this declaration is based on Java source.
+	 * Returns null if this declaration is based on xml source.
+	 * 
+	 * @return underlying Java annotation if it exists
+	 */
+	IAnnotation getJavaAnnotation();
 }
\ No newline at end of file

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationDeclaration.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationDeclaration.java	2011-04-26 18:34:34 UTC (rev 30846)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationDeclaration.java	2011-04-26 18:47:28 UTC (rev 30847)
@@ -11,6 +11,7 @@
 package org.jboss.tools.cdi.internal.core.impl;
 
 import org.eclipse.core.resources.IResource;
+import org.eclipse.jdt.core.IAnnotation;
 import org.eclipse.jdt.core.IMember;
 import org.eclipse.jdt.core.IMemberValuePair;
 import org.eclipse.jdt.core.IType;
@@ -95,4 +96,11 @@
 	public ICDIAnnotation getAnnotation() {
 		return null;
 	}
+
+	public IAnnotation getJavaAnnotation() {
+		if(annotation instanceof JavaAnnotation) {
+			return ((JavaAnnotation) annotation).getAnnotation();
+		}
+		return null;
+	}
 }
\ No newline at end of file

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java	2011-04-26 18:34:34 UTC (rev 30846)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java	2011-04-26 18:47:28 UTC (rev 30847)
@@ -40,12 +40,23 @@
 		this.range = new SourceRange(offset, length);
 		if(value != null) {
 			this.memberValues = new IMemberValuePair[]{
-				new MemberValuePair("value", value, valueType)	
+				createPair("value", value, valueType)	
 			};
 		}
 		this.annotationType = annotationType;
 	}
 
+	public void addMemberValuePair(String name, Object value, int valueType) {
+		IMemberValuePair[] pairs = new IMemberValuePair[memberValues.length + 1];
+		System.arraycopy(memberValues, 0, pairs, 0, memberValues.length);
+		pairs[memberValues.length] = createPair(name, value, valueType);
+		memberValues = pairs;
+	}
+
+	private IMemberValuePair createPair(String name, Object value, int valueType) {
+		return new MemberValuePair(name, value, valueType);
+	}
+
 	public int getStartPosition() {
 		return range == null ? -1 : range.getOffset();
 	}



More information about the jbosstools-commits mailing list