[jbosstools-commits] JBoss Tools SVN: r42826 - trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Aug 1 05:20:22 EDT 2012


Author: xcoulon
Date: 2012-08-01 05:20:22 -0400 (Wed, 01 Aug 2012)
New Revision: 42826

Modified:
   trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java
Log:
Fixing side-effect on JBIDE-10115 - Remove need for jax-rs-api.jar 

Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java	2012-08-01 08:31:12 UTC (rev 42825)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java	2012-08-01 09:20:22 UTC (rev 42826)
@@ -22,7 +22,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-
+import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsBuiltinHttpMethod.*;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.NullProgressMonitor;
@@ -111,9 +111,13 @@
 	 * </ul>
 	 */
 	private void preloadHttpMethods() {
-		httpMethods.addAll(Arrays.asList(JaxrsBuiltinHttpMethod.GET, JaxrsBuiltinHttpMethod.POST,
-				JaxrsBuiltinHttpMethod.PUT, JaxrsBuiltinHttpMethod.DELETE, JaxrsBuiltinHttpMethod.HEAD,
-				JaxrsBuiltinHttpMethod.OPTIONS));
+		httpMethods.addAll(Arrays.asList(GET, POST, PUT, DELETE, HEAD, OPTIONS));
+		elementsIndex.put(GET.getFullyQualifiedName(), new HashSet<JaxrsBaseElement>(Arrays.asList(GET)));
+		elementsIndex.put(POST.getFullyQualifiedName(), new HashSet<JaxrsBaseElement>(Arrays.asList(POST)));
+		elementsIndex.put(PUT.getFullyQualifiedName(), new HashSet<JaxrsBaseElement>(Arrays.asList(PUT)));
+		elementsIndex.put(DELETE.getFullyQualifiedName(), new HashSet<JaxrsBaseElement>(Arrays.asList(DELETE)));
+		elementsIndex.put(OPTIONS.getFullyQualifiedName(), new HashSet<JaxrsBaseElement>(Arrays.asList(OPTIONS)));
+		elementsIndex.put(HEAD.getFullyQualifiedName(), new HashSet<JaxrsBaseElement>(Arrays.asList(HEAD)));
 	}
 
 	/*
@@ -348,10 +352,18 @@
 	public IJaxrsHttpMethod getHttpMethod(final String annotationName) throws CoreException {
 		IType annotationType = JdtUtils.resolveType(annotationName, javaProject, new NullProgressMonitor());
 		if (annotationType != null) {
-			final JaxrsBaseElement element = getElement(annotationType);
+			// look for custom HTTP Methods
+			JaxrsBaseElement element = getElement(annotationType);
 			if (element != null && element.getElementCategory() == EnumElementCategory.HTTP_METHOD) {
 				return (IJaxrsHttpMethod) element;
 			}
+			// if not found, look for built-in HTTP Methods
+			else if(element == null) {
+				element = getElement(annotationType.getFullyQualifiedName());
+				if (element != null && element.getElementCategory() == EnumElementCategory.HTTP_METHOD) {
+					return (IJaxrsHttpMethod) element;
+				}
+			}
 		}
 		return null;
 	}
@@ -370,8 +382,14 @@
 		if (element == null) {
 			return null;
 		}
-		final String handleIdentifier = element.getHandleIdentifier();
-		final Set<JaxrsBaseElement> elements = elementsIndex.get(handleIdentifier);
+		return getElement(element.getHandleIdentifier());
+	}
+	
+	protected JaxrsBaseElement getElement(final String elementName) {
+		if (elementName == null) {
+			return null;
+		}
+		final Set<JaxrsBaseElement> elements = elementsIndex.get(elementName);
 		if (elements == null || elements.isEmpty()) {
 			return null;
 		}



More information about the jbosstools-commits mailing list